rhylthyme-cli-runner


Namerhylthyme-cli-runner JSON
Version 0.1.1a0 PyPI version JSON
download
home_pagehttps://github.com/rhylthyme/rhylthyme-cli-runner
SummaryCLI runner for Rhylthyme real-time program schedules
upload_time2025-10-13 03:41:00
maintainerNone
docs_urlNone
authorRhylthyme Team
requires_python>=3.8
licenseNone
keywords real-time scheduling logistics cli validation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 3.19251s