Skip to main content

Eden

CI PyPI Python License

Python orchestrator for AI coding agents in sandboxed git worktrees.

Eden creates a fresh git worktree on a new branch, runs a coding agent (Claude Code, Codex, opencode, pi, or any line-streaming CLI) inside a sandbox (Docker, Podman, isolated, Daytona, Vercel, or forkd microVMs), captures its output, and commits the changes back. You get a branch with one clean commit per iteration, ready to review or merge.

flowchart LR
    Repo[(Host repo)] --> WT[Fresh worktree<br/>on new branch]
    WT --> SB[Sandbox<br/>docker • podman • isolated<br/>daytona • vercel • forkd • no_sandbox]
    SB --> Agent[Coding agent<br/>claude_code • codex<br/>opencode • pi • cli_agent]
    Agent -->|stdout stream| Loop{iteration loop}
    Loop -->|commit per iteration| Branch[Eden branch]
    Loop -->|next iteration| Agent
    Branch --> Repo

Install

pip install eden-agent

Requires Python 3.11+.

Quick example

The simulated_agent runs without any external CLI installed. Run this from inside a git repository:

from pathlib import Path

from eden import run, simulated_agent
from eden.sandboxes.no_sandbox import provider as no_sandbox

result = run(
    cwd=Path.cwd(),
    sandbox=no_sandbox(),
    agent=simulated_agent(
        output="hello from the simulated agent\n<promise>COMPLETE</promise>\n",
    ),
    prompt="ignored by the simulated agent",
    max_iterations=1,
)

print(f"branch: {result.branch}")
print(f"iterations: {len(result.iterations)}")

For a real agent, scaffold a project:

eden init --sandbox docker --agent claude-code --yes
cp .eden/.env.example .eden/.env  # then fill in API keys
eden docker build-image
python .eden/main.py

Development with Flox

Eden uses Flox in two distinct ways — don't conflate them:

  1. The repo dev toolchain — the .flox/ environment that sets up your machine to work on Eden.
  2. Per-agent runtimes — an optional, separate environment each agent declares for its own CLI.

Repo dev toolchain

On Linux/macOS the repo ships a declarative, lockfile-pinned dev environment under .flox/. With Flox installed:

flox activate # provisions toolchain + builds .venv on first run
pytest -m "unit or e2e"
pre-commit run --all-files

flox activate provides Python 3.11/3.12/3.13, git, gh, the docker/podman clients, pre-commit, and make, then builds .venv via pip install -e ".[dev]". Pick the interpreter with EDEN_PYTHON (e.g. EDEN_PYTHON=python3.12 flox activate; defaults to python3.11).

Flox is Linux/macOS only — on Windows, install directly with python -m pip install -e ".[dev]". See AGENTS.md for the full command list.

Per-agent runtimes

Separately, each agent can declare its own Flox runtime via flox_env= on its factory. Eden then runs that agent's CLI inside flox activate -d <dir> -- <argv>, so the agent gets a declared, lockfile-pinned toolchain instead of inheriting the host's. See Agents — Per-agent Flox runtime.

Documentation

Full documentation lives in docs/:

License

PolyForm Shield 1.0.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eden_agent-1.0.0.tar.gz (642.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eden_agent-1.0.0-py3-none-any.whl (297.9 kB view details)

Uploaded Python 3

File details

Details for the file eden_agent-1.0.0.tar.gz.

File metadata

  • Download URL: eden_agent-1.0.0.tar.gz
  • Upload date:
  • Size: 642.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eden_agent-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9dfa6705d0a5eaa1d1a06d221a02c95cc05977a94a4a4232f61aed77aa3c9106
MD5 ff44dc93e5f220828a20c16485da7a4e
BLAKE2b-256 a53b659a55cbb303e8509f65b6acc17cd763629c5ceb93b19e09602a6d5e1b7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for eden_agent-1.0.0.tar.gz:

Publisher: release.yml on dotbrains/eden

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eden_agent-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: eden_agent-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 297.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eden_agent-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29332321944f7f19f295e6c0df485714ade9c71473fc8e5b5a147a78c3d50c20
MD5 a7ad1d82b00bd72303e619f3ded75a6d
BLAKE2b-256 cfbcca7d4c9705d498a7b43d96ced46eeaa42c77ec6979a762db46ba10ef5a24

See more details on using hashes here.

Provenance

The following attestation bundles were made for eden_agent-1.0.0-py3-none-any.whl:

Publisher: release.yml on dotbrains/eden

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page