Turn a goal into an inspectable agent workflow. Run it with budgets and recovery.
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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| smythe-0.8.0.tar.gz | 650.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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