Skip to main content

Deterministic orchestrator for AI agent workflows

Project description

Godel

Deterministic orchestrator for AI agent workflows. Orchestration is plain Python; agents are leaves. Every non-deterministic event is logged to an append-only audit trail that doubles as a replay tape — giving you resume, rewind, and hot-patch for free.

CI PyPI Python 3.12+ Tests

Pre-stable software. The API may change between minor versions without deprecation warnings. Pin your dependency to a specific version if you use Godel in production.

The problem

Most agent frameworks bury orchestration inside the LLM. The agent decides what step comes next by re-reading a plan, occasionally getting it wrong. State survives by luck. When something crashes three agents deep, you start over.

The insight

Agent workflows have two parts: structural decisions (what to do next, when to branch, what state to track) and operational decisions (how to implement a fix, whether a review is valid). The first is deterministic and doesn't need an LLM. The second requires judgment and can't be reduced to code.

Godel draws the line. @workflow functions handle structure. Agents handle judgment. Because the orchestrator is deterministic Python, the runtime can event-source every call — and three primitives fall out:

  • Resume — a crashed run picks up from the last durable event. Expensive agent calls are not re-paid.
  • Rewind — invalidate any event and replay forward. Back up without discarding prior work.
  • Hot-patch — edit the workflow, then godel resume. New code takes effect on the uncached tail.

No other agent framework ships all three.

Install

pip install godel-py

Quick start

from godel import workflow, step, run

@step
def review(pr_number):
    return run(["claude", "-p", f"Review PR #{pr_number} for correctness bugs"])

@step
def apply_fixes(review_output):
    return run(["claude", "-p", f"Apply these fixes: {review_output}"])

@workflow
def pr_pipeline(pr_number):
    findings = review(pr_number)
    if "no issues" not in findings.lower():
        apply_fixes(findings)
godel run pr_pipeline.py -- --pr-number 42

Crash at any point. godel resume picks up where it left off — no re-running the review.

How it differs

Godel LangGraph / CrewAI Temporal / DBOS
Orchestration Plain Python Pre-declared graphs / roles Workflow/Activity split
Resume from crash Built-in (event log) Build it yourself Built-in
Rewind to any point Built-in Not a concept Not available
Hot-patch live run Built-in Redeploy Redeploy
Human-in-the-loop godel pause / godel repair Custom Custom
Agent-first primitives Session state, schema outputs Varies Not designed for agents

Architecture

@workflow function          # you write this — plain Python
  -> @step calls            # each step is an event boundary
    -> run() / agent()      # shells out to Claude, Copilot, or any CLI
      -> event log          # append-only, deterministic replay backbone
        -> resume / rewind / repair

Documentation

Development

pip install -e ".[dev]"
pytest                      # 1276 tests across 98 files

Python 3.12+. Conventional commits. CI runs on every push to main.

License

Business Source License 1.1 — see LICENSE. Use Godel freely as a library in your applications, including commercially. The only restriction is offering Godel itself as a competing hosted orchestration service. Each version converts to Apache 2.0 after three years.

Project details


Download files

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

Source Distribution

godel_py-3.18.1.tar.gz (519.6 kB view details)

Uploaded Source

Built Distribution

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

godel_py-3.18.1-py3-none-any.whl (211.2 kB view details)

Uploaded Python 3

File details

Details for the file godel_py-3.18.1.tar.gz.

File metadata

  • Download URL: godel_py-3.18.1.tar.gz
  • Upload date:
  • Size: 519.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for godel_py-3.18.1.tar.gz
Algorithm Hash digest
SHA256 62a3ec2146d856fa9b1294e85939d67b2e75e8b8a64fb22d04241045aa4b89c9
MD5 c68854e7c9ae343494b524864311584a
BLAKE2b-256 23b79bd372f17e3c3f086cc9cabed0628184250d89daa214941947097881b03a

See more details on using hashes here.

Provenance

The following attestation bundles were made for godel_py-3.18.1.tar.gz:

Publisher: publish.yml on atscub/godel-py

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

File details

Details for the file godel_py-3.18.1-py3-none-any.whl.

File metadata

  • Download URL: godel_py-3.18.1-py3-none-any.whl
  • Upload date:
  • Size: 211.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for godel_py-3.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 190c644f63f4c5c42a8a2640f4fdd6e4b0447f3c0881c8054caeb5ca41d0233a
MD5 9532de73303a2e8adbf5fb720a8f0a51
BLAKE2b-256 23d70d538592ab09ca8b478ba46d19a20eba18e0422a3ca21db3af2952f5adfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for godel_py-3.18.1-py3-none-any.whl:

Publisher: publish.yml on atscub/godel-py

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

Supported by

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