A simple CLI tool to run jobs from jobs.yaml with proper environment setup. Perfect for local development and testing of automation kernel jobs.
cd /home/frank/Projects/7frank/tilt-ts-4/apps/example-hehnke/packages/steve-cli
uv venv
uv pip install -e .uv add steve-cli
OR
uv add git+https://github.com/your-org/tilt-ts-4.git#subdirectory=apps/example-hehnke/packages/steve-clisteve extract-data
steve transform-data
steve validate-dataThis will:
- Look for
jobs.yamlin the current directory - Find the specified job by name
- Set all environment variables from the job's
envsection - Execute the job's command with the proper environment
steve lsShows all jobs in jobs.yaml with their commands, schedules, dependencies, and environment variables.
steve help
steve --helpsteve -f path/to/custom.yaml extract-data
steve ls -f path/to/custom.yamlGiven a jobs.yaml file:
jobs:
- name: extract-data
cron: "0 2 * * *"
command: ["uv", "run", "src/extract.py"]
env:
SOURCE_URL: "https://jsonplaceholder.typicode.com/users"
OUTPUT_PATH: "/data/raw/extracted_data.parquet"
- name: transform-data
dependsOn: ["extract-data"]
command: ["uv", "run", "src/transform.py"]
env:
INPUT_PATH: "/data/raw/extracted_data.parquet"
OUTPUT_PATH: "/data/processed"Running steve extract-data will:
- Set
SOURCE_URL=https://jsonplaceholder.typicode.com/users - Set
OUTPUT_PATH=/data/raw/extracted_data.parquet - Execute:
uv run src/extract.py
- ✅ Simple: Just
steve <job-name>to run any job - ✅ Environment: Automatically sets environment variables from
jobs.yaml - ✅ Discovery: Auto-finds
jobs.yamlin current directory - ✅ Listing: See all available jobs with
steve ls - ✅ Flexible: Supports custom jobs file paths
- ✅ Colorful: Nice colored output for better readability
- ✅ Error handling: Clear error messages for missing jobs or files
Named after Steve Jobs - because it helps you run jobs locally! 😄
- Python 3.8+
- click >= 8.0.0
- pyyaml >= 6.0
# Install in development mode
uv pip install -e .
# Run tests (when added)
pytest
# Format code
black steve_cli/
isort steve_cli/source .venv/bin/activate steve
uv build uv publish