Skip to main content
SMYTHE

Turn a goal into an inspectable agent workflow. Run it with budgets and recovery.

Latest PyPI release CI checks Python 3.11, 3.12, and 3.13 License: MIT

Quickstart · How it works · Measured results · Documentation

Smythe is a Python framework that plans and runs agent workflows. Give it a goal, inspect the generated task graph, and execute independent work in parallel. Set spending and concurrency limits, verify outputs, and recover saved work after an interruption.

Use it for research pipelines, document production, and artifact generation where you need to see what will run and account for what happened.

Quickstart

Python 3.11+. Install the released library with OpenAI support:

pip install "smythe[openai]==0.8.0"

Set OPENAI_API_KEY, then plan and execute with GPT-6 Astra:

from smythe import OpenAIResponsesProvider, SQLiteWorkflowStore, Swarm, Task

with SQLiteWorkflowStore("smythe-runs.db") as store:
    swarm = Swarm(
        model="gpt-6-astra",
        provider=OpenAIResponsesProvider(
            reasoning_effort="medium",
            max_output_tokens=8192,
        ),
        run_store=store,
        max_budget_usd=5.00,
        parallel=True,
        max_concurrency=8,
    )
    graph = swarm.plan(Task(
        goal="Compare SQLite, PostgreSQL, and DuckDB for a local analytics app.",
        constraints=["Stay under 400 words", "Recommend one database"],
    ))
    print(graph)
    result = swarm.execute(graph)
    print(result.output)

This makes paid API calls under a $5 run allowance. The SQLite ledger accounts for planning and execution, reserves requests before dispatch, and retains responses for recovery. See budget scope and durable text workflows.

To try planning, execution, and recovery with no API calls, run the explicit offline example from a source checkout:

git clone https://github.com/petehottelet/smythe.git
cd smythe
pip install -e .
python examples/14_durable_text_workflow.py

The example uses fixture responses and verifies that resuming produces the same output. More examples.

How it works

The graph defines the work. Smythe generates a directed acyclic graph for the task, including dependencies and agent assignments. Inspect or export it before execution. Use approved templates or a graph you write yourself when the workflow is already known.

The execution envelope governs the run. Budgets, bounded concurrency, verification, traces, artifacts, and recovery apply as the graph executes. Durable Jobs add manifest approval, attempt history, selective rerolls, and local HTML reports.

Acquisition diligence: parallel specialists, synthesis, adversarial review, and a final memo

The acquisition-diligence example shows three specialists feeding an editor, a red-team review, and a final decision memo. Its saved graph, trace, and expected output make the workflow inspectable.

You need to… Smythe provides
Adapt the workflow to the task Generated graphs, approved templates, and deterministic planning
Control spending and parallel work Request reservations and bounded concurrency
Recover interrupted work Checkpoints, native response replay, and durable job journals
Check the deliverable Output verification and artifact receipts
Understand a run Graph exports, traces, costs, and inspection reports

Architecture · Execution · Jobs · Verification · MCP tools.

Measured results

Each result links to its method and retained records.

Study Recorded result Scope
Framework comparison 77% fewer mean tokens and 28% less mean wall time than CrewAI Five tasks, three repetitions; matched executor and fixed pipeline; blind judging
Interruption and recovery 8 repeated dispatches versus LangGraph's 32 Three matched hard-kill trials with 64 operations
SVG catalog workflow 256 SVGs in 8.06 seconds median; 2.20× the serial baseline Local compilation, validation, and export of authored designs; no API calls

The 200-workflow Astra/Sol study also reports the limits of generated plans: they increased mean time in both models on its ten synthetic tasks. The frozen rule accepted 191/200 workflows; human review accepted all eight disputed available answers. One missing usage receipt limits affected exact cost comparisons. All outcomes remain published.

All benchmarks, charts, and evidence status.

Project status

Smythe 0.8.0 is the current library release. See the release notes and upgrade guide. The API is pre-1.0; minor releases may change it. Later source changes appear in the changelog.

Next priorities are complete-deliverable checks, broader external-task benchmarks, and separately controlled Astra scheduler and framework studies. See the roadmap for status and acceptance criteria.

The Glyph Rain screensaver is an artifact-generation showcase with source builds and a web explorer. Precompiled screensaver distribution is paused.

Documentation · Contributing · Releases · Security · MIT license.

Release files for smythe 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smythe 0.8.0
File Size Uploaded
smythe-0.8.0.tar.gz 650.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smythe 0.8.0
File Interpreter ABI Platform
smythe-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 965.9 kB

Release files / smythe-0.8.0.tar.gz

Download URL smythe-0.8.0.tar.gz
Size 650.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fda31edcf6b97be3286ed8301c896d450d1262405ea0e8f16406f0543d7a4360
BLAKE2b-256 checksum
How to use checksums
4bf2f4bb5bcf29c8834cfbec1428f099d26ad58975cca8b16a3bdb13598302ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release files / smythe-0.8.0-py3-none-any.whl

Download URL smythe-0.8.0-py3-none-any.whl
Size 315.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05c12333dce321d2bf5f42b0e9d96ef242f7165c08ebfbd64ac375f89294ea34
BLAKE2b-256 checksum
How to use checksums
f8d71cfc684154c2899edd48ceef5a8d96989217b17aa2719e2aa59e1470b7b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.2

2 release files

0.8.1

2 release files

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page