Skip to content

Welcome to Rhylthyme

A framework for defining, validating, and executing real-time program schedules with resource management.

What is Rhylthyme?

Rhylthyme lets you model complex workflows as programs composed of tracks and steps, with timing dependencies and optional resource constraints. Programs are defined in JSON and can be run interactively in the terminal, visualized in a web UI, or imported from external sources like recipe databases and lab protocols.

Key Features

  • Program Definition: Define workflows using JSON with tracks, steps, and timing dependencies
  • Real-time Execution: Interactive terminal UI for monitoring and controlling program execution
  • Web Visualization: Browser-based DAG visualization and AI chat for program creation
  • Import Plugins: Import programs from TheMealDB, protocols.io, and other sources
  • Resource Management: Optional environment catalogs for resource validation
  • Validation: Schema validation and semantic checks
  • Optimization: Built-in schedule optimization to reduce resource contention

Quick Start

# Requires Python >= 3.12

# Clone and install core packages
git clone https://github.com/rhylthyme/rhylthyme-spec.git
git clone https://github.com/rhylthyme/rhylthyme-cli-runner.git

pip install -e ./rhylthyme-spec
pip install -e ./rhylthyme-cli-runner

# Create a simple program
cat > hello.json << 'EOF'
{
  "programId": "hello-world",
  "name": "Hello World",
  "tracks": [
    {
      "trackId": "main",
      "name": "Main Track",
      "steps": [
        {
          "stepId": "greet",
          "name": "Greet",
          "task": "greeting",
          "duration": {"type": "fixed", "seconds": 5},
          "startTrigger": {"type": "programStart"}
        }
      ]
    }
  ]
}
EOF

# Run the program
rhylthyme run hello.json

Packages

Rhylthyme is composed of several modular packages:

Package Description
rhylthyme-spec JSON schema definitions and validation
rhylthyme-cli-runner Command-line interface and interactive program execution
rhylthyme-examples Example programs and environment catalogs
rhylthyme-web Web visualization, MCP server, and AI chat interface
rhylthyme-importers Import plugins for TheMealDB, protocols.io, and more

Interactive Features

When you run a program with rhylthyme run, you get an interactive terminal UI with:

  • Real-time Monitoring: Watch program execution as it happens
  • Manual Control: Trigger steps manually when needed
  • Resource Tracking: Monitor resource usage and constraints
  • Time Scaling: Adjust execution speed for testing

Environment Support

Environments are completely optional and model real-world resource constraints:

  • Kitchen: Stove burners, prep stations, cleanup
  • Laboratory: Bench space, equipment, safety protocols
  • Airport: Runways, gates, taxiways
  • Bakery: Mixers, ovens, work benches

License

Rhylthyme is open source software licensed under Apache-2.0.