JMRI® is...
Scripting
Information on writing scripts to control JMRI in more detail:
Python and Jython (General Info)
JMRI scripts are in Jython, a version of Python, a popular general-purpose computer language
Tools
JMRI tools for working with your layout:
Layout Automation
Use JMRI to automate parts of your layout and operations:
Supported Hardware
JMRI supports a wide range of DCC systems, command stations and protocols.
Applications
By the community of JMRI.org:

JMRI Help:

Contents Index
Glossary FAQ

Donate to JMRI.org

JMRI: Jython Apps for JMRI

Some JMRI users have implemented sophisticated capabilities using the JMRI jython scripting facilities. These are much more than the relatively simple examples presented on the Scripting Examples page. The developers have provided more documentation for these "apps" (available in the "scripthelp" directory. In fact, the distinguishing feature of apps listed here versus examples listed on the Examples page is that the developers have provided that additional documentation!

YAAT (Yet Another Auto Train)

YetAnotherAutoTrain.py (YAAT) provides the ability to define train actions using text files instead of writing Jython code. The text files contain English like phrases, such as "Set speed to .5" or "Wait for 10 seconds".

Dispatcher System

Dispatcher System aims to simplify the setup of JMRI DispatcherPro, automatically creating everything (signal logic, sections, transits and train info files) required to run trains using Dispatcher.

It allows you to run trains between stations, by clicking provided station buttons, or by using routes. The routes can be scheduled, and the schedules displayed on timetables.