# Rhylthyme CLI Runner
Command-line interface for validating and running Rhylthyme real-time program schedules.
## Installation
### From Source
```bash
# Clone the repository
git clone https://github.com/rhylthyme/rhylthyme-cli-runner.git
cd rhylthyme-cli-runner
# Install the package
pip install -e .
# Or install with development dependencies
pip install -e ".[dev]"
```
### From PyPI
```bash
pip install rhylthyme-cli-runner
```
## Quick Start
The Rhylthyme CLI provides commands for working with real-time program schedules defined using the Rhylthyme JSON or YAML schema.
### Validate a Program
Validate a program file against the schema to ensure it's properly formatted:
```bash
# Validate a JSON or YAML program file
rhylthyme validate my_program.json
# Validate with verbose output
rhylthyme validate my_program.json --verbose
# Validate with JSON output for CI/scripting
rhylthyme validate my_program.json --json
# Validate in strict mode (requires all tasks in resourceConstraints)
rhylthyme validate my_program.json --strict
```
### Run a Program
Run a program with an interactive terminal UI for monitoring and controlling execution:
```bash
# Run a program file
rhylthyme run examples/breakfast_schedule.json
# Run with automatic start (no manual trigger needed)
rhylthyme run examples/breakfast_schedule.json --auto-start
# Run with a different time scale (2x faster)
rhylthyme run examples/breakfast_schedule.json --time-scale 2.0
# Run with a specific environment
rhylthyme run examples/breakfast_schedule.json --environment kitchen
# Run without validation (if you're sure the file is valid)
rhylthyme run examples/breakfast_schedule.json --no-validate
```
### Optimize a Program
Create an optimized version of a program to reduce resource contention:
```bash
# Optimize a program and save to new file
rhylthyme plan examples/breakfast_schedule.json optimized_breakfast.json
# Optimize with verbose output
rhylthyme plan examples/breakfast_schedule.json optimized_breakfast.json --verbose
```
### Work with Environments
List and validate environment catalogs:
```bash
# List all available environments
rhylthyme environments
# List environments in JSON format
rhylthyme environments --format json
# Validate all environment files
rhylthyme validate-environments
# Show information about a specific environment type
rhylthyme environment-info kitchen
```
## Program File Examples
### Simple Breakfast Schedule
```json
{
"programId": "breakfast-schedule",
"name": "Breakfast Schedule",
"description": "Coordinated breakfast preparation",
"environmentType": "kitchen",
"startTrigger": {
"type": "manual"
},
"tracks": [
{
"trackId": "eggs",
"name": "Scrambled Eggs",
"steps": [
{
"stepId": "crack-eggs",
"name": "Crack and Whisk Eggs",
"startTrigger": {
"type": "programStart"
},
"duration": {
"type": "fixed",
"seconds": 60
}
}
]
}
],
"resourceConstraints": [
{
"task": "stove-burner",
"maxConcurrent": 2,
"description": "Maximum stove burners"
}
],
"version": "1.0.0"
}
```
## Interactive UI Controls
When running a program, the interactive UI provides these controls:
- **Space**: Start/stop the program
- **Enter**: Trigger manual steps
- **Arrow keys**: Navigate between steps
- **q**: Quit the program
- **r**: Refresh the display
- **s**: Sort by different criteria
## Command Reference
### `rhylthyme validate`
Validates program files against the schema.
**Options:**
- `--schema PATH`: Path to schema file (default: built-in schema)
- `--verbose, -v`: Show detailed validation information
### `rhylthyme run`
Runs programs with interactive terminal UI.
**Options:**
- `--schema PATH`: Path to schema file (default: built-in schema)
- `-e, --environment TEXT`: Environment ID to use
- `--time-scale FLOAT`: Time scale factor (default: 1.0)
- `--validate / --no-validate`: Validate before running (default: True)
- `--auto-start`: Automatically start without manual trigger
### `rhylthyme plan`
Optimizes program schedules to reduce resource contention.
**Options:**
- `--verbose, -v`: Show detailed planning information
### `rhylthyme environments`
Lists available environment catalogs.
**Options:**
- `--format, -f`: Output format (table, json, yaml)
### `rhylthyme validate-environments`
Validates environment catalog files.
**Options:**
- `--environments-dir PATH`: Directory containing environment files
- `--verbose, -v`: Show detailed validation information
### `rhylthyme environment-info`
Shows information about a specific environment type.
## Development
1. Clone the repository
2. Install development dependencies: `pip install -e ".[dev]"`
3. Run tests: `pytest`
## License
Apache License 2.0
Raw data
{
"_id": null,
"home_page": "https://github.com/rhylthyme/rhylthyme-cli-runner",
"name": "rhylthyme-cli-runner",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "real-time, scheduling, logistics, cli, validation",
"author": "Rhylthyme Team",
"author_email": "team@rhylthyme.org",
"download_url": "https://files.pythonhosted.org/packages/cf/25/d7f06763d11f741e06e6fffc4d8fd3db7cff1a2f397a5970a238cbf806d8/rhylthyme_cli_runner-0.1.1a0.tar.gz",
"platform": null,
"description": "# Rhylthyme CLI Runner\n\nCommand-line interface for validating and running Rhylthyme real-time program schedules.\n\n## Installation\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/rhylthyme/rhylthyme-cli-runner.git\ncd rhylthyme-cli-runner\n\n# Install the package\npip install -e .\n\n# Or install with development dependencies\npip install -e \".[dev]\"\n```\n\n### From PyPI\n\n```bash\npip install rhylthyme-cli-runner\n```\n\n## Quick Start\n\nThe Rhylthyme CLI provides commands for working with real-time program schedules defined using the Rhylthyme JSON or YAML schema.\n\n### Validate a Program\n\nValidate a program file against the schema to ensure it's properly formatted:\n\n```bash\n# Validate a JSON or YAML program file\nrhylthyme validate my_program.json\n\n# Validate with verbose output\nrhylthyme validate my_program.json --verbose\n\n# Validate with JSON output for CI/scripting\nrhylthyme validate my_program.json --json\n\n# Validate in strict mode (requires all tasks in resourceConstraints)\nrhylthyme validate my_program.json --strict\n```\n\n### Run a Program\n\nRun a program with an interactive terminal UI for monitoring and controlling execution:\n\n```bash\n# Run a program file\nrhylthyme run examples/breakfast_schedule.json\n\n# Run with automatic start (no manual trigger needed)\nrhylthyme run examples/breakfast_schedule.json --auto-start\n\n# Run with a different time scale (2x faster)\nrhylthyme run examples/breakfast_schedule.json --time-scale 2.0\n\n# Run with a specific environment\nrhylthyme run examples/breakfast_schedule.json --environment kitchen\n\n# Run without validation (if you're sure the file is valid)\nrhylthyme run examples/breakfast_schedule.json --no-validate\n```\n\n### Optimize a Program\n\nCreate an optimized version of a program to reduce resource contention:\n\n```bash\n# Optimize a program and save to new file\nrhylthyme plan examples/breakfast_schedule.json optimized_breakfast.json\n\n# Optimize with verbose output\nrhylthyme plan examples/breakfast_schedule.json optimized_breakfast.json --verbose\n```\n\n### Work with Environments\n\nList and validate environment catalogs:\n\n```bash\n# List all available environments\nrhylthyme environments\n\n# List environments in JSON format\nrhylthyme environments --format json\n\n# Validate all environment files\nrhylthyme validate-environments\n\n# Show information about a specific environment type\nrhylthyme environment-info kitchen\n```\n\n## Program File Examples\n\n### Simple Breakfast Schedule\n\n```json\n{\n \"programId\": \"breakfast-schedule\",\n \"name\": \"Breakfast Schedule\",\n \"description\": \"Coordinated breakfast preparation\",\n \"environmentType\": \"kitchen\",\n \"startTrigger\": {\n \"type\": \"manual\"\n },\n \"tracks\": [\n {\n \"trackId\": \"eggs\",\n \"name\": \"Scrambled Eggs\",\n \"steps\": [\n {\n \"stepId\": \"crack-eggs\",\n \"name\": \"Crack and Whisk Eggs\",\n \"startTrigger\": {\n \"type\": \"programStart\"\n },\n \"duration\": {\n \"type\": \"fixed\",\n \"seconds\": 60\n }\n }\n ]\n }\n ],\n \"resourceConstraints\": [\n {\n \"task\": \"stove-burner\",\n \"maxConcurrent\": 2,\n \"description\": \"Maximum stove burners\"\n }\n ],\n \"version\": \"1.0.0\"\n}\n```\n\n## Interactive UI Controls\n\nWhen running a program, the interactive UI provides these controls:\n\n- **Space**: Start/stop the program\n- **Enter**: Trigger manual steps\n- **Arrow keys**: Navigate between steps\n- **q**: Quit the program\n- **r**: Refresh the display\n- **s**: Sort by different criteria\n\n## Command Reference\n\n### `rhylthyme validate`\n\nValidates program files against the schema.\n\n**Options:**\n- `--schema PATH`: Path to schema file (default: built-in schema)\n- `--verbose, -v`: Show detailed validation information\n\n### `rhylthyme run`\n\nRuns programs with interactive terminal UI.\n\n**Options:**\n- `--schema PATH`: Path to schema file (default: built-in schema)\n- `-e, --environment TEXT`: Environment ID to use\n- `--time-scale FLOAT`: Time scale factor (default: 1.0)\n- `--validate / --no-validate`: Validate before running (default: True)\n- `--auto-start`: Automatically start without manual trigger\n\n### `rhylthyme plan`\n\nOptimizes program schedules to reduce resource contention.\n\n**Options:**\n- `--verbose, -v`: Show detailed planning information\n\n### `rhylthyme environments`\n\nLists available environment catalogs.\n\n**Options:**\n- `--format, -f`: Output format (table, json, yaml)\n\n### `rhylthyme validate-environments`\n\nValidates environment catalog files.\n\n**Options:**\n- `--environments-dir PATH`: Directory containing environment files\n- `--verbose, -v`: Show detailed validation information\n\n### `rhylthyme environment-info`\n\nShows information about a specific environment type.\n\n## Development\n\n1. Clone the repository\n2. Install development dependencies: `pip install -e \".[dev]\"`\n3. Run tests: `pytest`\n\n## License\n\nApache License 2.0 \n",
"bugtrack_url": null,
"license": null,
"summary": "CLI runner for Rhylthyme real-time program schedules",
"version": "0.1.1a0",
"project_urls": {
"Bug Reports": "https://github.com/rhylthyme/rhylthyme-cli-runner/issues",
"Documentation": "https://github.com/rhylthyme/rhylthyme-cli-runner#readme",
"Homepage": "https://github.com/rhylthyme/rhylthyme-cli-runner",
"Source": "https://github.com/rhylthyme/rhylthyme-cli-runner"
},
"split_keywords": [
"real-time",
" scheduling",
" logistics",
" cli",
" validation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "90261c6a151d0cf933d9b23d0f32dbeb7cdcfdf5fa00c390e9814bd5c04bbbd1",
"md5": "8e26abc3f17ce52a45fab2926453c6bc",
"sha256": "8a4faa8bdec808baf538e7dd0eb5a719c14bc87d61f01e653343abff9fd80d7f"
},
"downloads": -1,
"filename": "rhylthyme_cli_runner-0.1.1a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8e26abc3f17ce52a45fab2926453c6bc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 51220,
"upload_time": "2025-10-13T03:40:59",
"upload_time_iso_8601": "2025-10-13T03:40:59.815758Z",
"url": "https://files.pythonhosted.org/packages/90/26/1c6a151d0cf933d9b23d0f32dbeb7cdcfdf5fa00c390e9814bd5c04bbbd1/rhylthyme_cli_runner-0.1.1a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cf25d7f06763d11f741e06e6fffc4d8fd3db7cff1a2f397a5970a238cbf806d8",
"md5": "8b960dcfaed5ab0a66f7aff0e766c7ab",
"sha256": "5af7cf903ecbc69764a5a454a7c7037b4954dedf6b84e38b5aa41ef63d412867"
},
"downloads": -1,
"filename": "rhylthyme_cli_runner-0.1.1a0.tar.gz",
"has_sig": false,
"md5_digest": "8b960dcfaed5ab0a66f7aff0e766c7ab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 58253,
"upload_time": "2025-10-13T03:41:00",
"upload_time_iso_8601": "2025-10-13T03:41:00.779930Z",
"url": "https://files.pythonhosted.org/packages/cf/25/d7f06763d11f741e06e6fffc4d8fd3db7cff1a2f397a5970a238cbf806d8/rhylthyme_cli_runner-0.1.1a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-13 03:41:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rhylthyme",
"github_project": "rhylthyme-cli-runner",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rhylthyme-cli-runner"
}