Skip to content

Getting Started

1. Install

pip install -r requirements.txt
pip install -e .

If the epsilon command is not on your PATH, use python -m epsilon ....

2. Set a Model Key

Required for built-in topologies (dag, pipeline, supervisor, tree):

export OPENAI_API_KEY=...
# or
export ANTHROPIC_API_KEY=...

3. Create Your First Run

epsilon runs create \
  --topology dag \
  --task "Create a file named hello.txt containing exactly: hello world"

4. Inspect the Run

epsilon runs list
epsilon runs get <run_id>
epsilon artifacts list <run_id>
epsilon logs tail <run_id>

5. Use Your Own Implementation

Point any run at your own Python function:

epsilon runs create \
  --topology dag \
  --task "Write hello.txt with hello world" \
  --implementation python:examples/epsilon_sdk/function_adapter_example.py:run

Register an implementation to reuse it by name:

epsilon implementations register hello-worker \
  --from python:examples/epsilon_sdk/function_adapter_example.py:run \
  --description "Function-based starter adapter"

epsilon runs create \
  --topology dag \
  --task "Write hello.txt with hello world" \
  --implementation hello-worker

6. Other Topologies

epsilon runs create --topology pipeline --task "Write a short markdown report"
epsilon runs create --topology supervisor --task "Create a file named result.txt with exact content"
epsilon runs create --topology sharded_queue --task-manifest manifests/large-job.json

Where Files Go

  • Runs are recorded under runs/<run_id>/.
  • Each run includes epsilon_run.json, run.log, and usually run_summary.json.
  • SDK adapters should write files inside input["workspace"].

Next