task-based agent swarms with dynamic parallelization, routing, and execution topology.
Glyph Rain · Benchmarks · Quickstart · Why Smythe · Documentation
Give Smythe a goal. It generates an inspectable task graph and executes it with bounded concurrency, execution budgets, verification, traces, and recovery. The graph defines the work; the durable execution envelope governs the run.
Measured against CrewAI on the matched framework suite: 77% fewer tokens and 28% less wall time. Five tasks, three repetitions, the same executor model and pipeline, with blind cross-vendor judging.
Glyph Rain
One workflow creates and validates 192 original SVG glyphs.
Explore: Run the web explorer · Complete 192-glyph contact sheet · 56 reference glyphs · 24-glyph calibration sheet · Individual SVGs and manifest. In 3D mode, arrow keys move through the field; Space pauses, R resets the view, and F enters fullscreen. Touch controls are included. The current browser review binds this screenshot and passes 31 rendering and interaction checks. A separate ten-minute travel and resize check passed 57 cycles. Rendering measurements and stability report.
Native downloads: Windows .scr ·
macOS universal .zip ·
Linux x86-64 .tar.gz ·
Native source and setup.
All three downloads now use the current SVG shapes: 56 reference glyphs plus 192 original Smythe glyphs, with the reference blank slot and a 10% original mix. Filled contours preserve curves, counters, and detached marks. The compiled packages passed rendering and motion checks on Windows, Apple Silicon, Intel Mac, and Ubuntu 22.04/24.04. Checksums and verification. macOS uses an ad-hoc signature; Linux requires X11. The native savers use layered trails; the web explorer provides the REGL effect, 3D navigation, and pixel settings.
The web renderer adapts m8e, a fork of Rezmason, under its MIT license. It uses the reference's rain, glyph rendering, bloom, and palette pipeline. Native packages also include the licensed reference artwork and its MIT notice. Smythe's 192 added shapes have independently authored contours from a measured style brief. Credits, licenses, and artwork provenance.
Benchmarks
The glyph workload measures parallel artifact generation. Separate matched suites measure recovery, framework overhead, and generated plans. Each result links to its protocol and committed records.
Original SVG generation
192 original SVG glyphs in 4.03 seconds median, including generation, complete validation, and assembly. The best tested configuration used eight process workers and ran 2.95× faster than process execution at concurrency 1. All 30 workflows delivered complete, accepted catalogs with identical hashes.
The new workflow measures fresh contour construction, full style and distinctness checks, and delivery of the SVG catalog and raster atlas. It runs locally through Smythe from a calibrated procedural grammar, with no simulated delay and $0 provider API charges. Hardware and design work are outside that API-cost figure.
Workflow results and protocol · Raw record.
Glyph generation and scaling
192 verified glyphs in 20.5 seconds. At concurrency 64, the glyph workload ran 56.2× faster than serial execution. This is a controlled offline measurement with 5.8 seconds of simulated provider latency per call. All measured 64-, 128-, 192-, and 256-node runs produced complete sets of valid, unique tiles. This measures artifact generation, not screensaver frame rate.
Jobs at 5,000 operations
5,000 accepted artifacts after a hard process kill and recovery. Safe resume completed 2,500 pending operations and preserved the 2,492 already accepted outputs. Eight interrupted operations required explicit rerolls; their original unknown call records remain in the ledger. No accepted operation was reissued; resuming the completed job made zero new calls.
One Windows campaign, concurrency eight, identical 1×1 PNG fixtures, and $0 provider API charges. This tests durable recovery on the frozen schema-v3 runtime; glyph generation, model quality, and the later schema-v4 operator features have separate evidence. Results, complete archive, and independent reconciliation.
Recovery after interruption
A separate matched durability test measures work repeated after a hard kill. Smythe repeated 8 calls versus LangGraph's 32, a 75% reduction, across three repetitions. Recovery protocol.
Framework efficiency
The framework suite compares orchestration on a fixed pipeline. Smythe used 77% fewer tokens and 28% less wall time than CrewAI across five tasks and three repetitions per framework. All runs use the same executor model and three-stage pipeline, with blind cross-vendor judging.
Smythe also recorded 6% less mean wall time than LangGraph. Its observed quality score was 9.73/10, versus 9.53 for both comparisons. These are suite results; token counts describe model usage, not invoice savings. Protocol and records.
Generated execution topology
The task-shape suite compares generated plans with a fixed pipeline across five task shapes. Smythe recorded 14% less wall time, including planning. It used one node for a simple transformation and an average of 5.3 for parallel research. Observed quality averaged 9.47/10 versus 9.33/10, within measured judge variation.
Task-shape protocol and records.
Charts are generated from committed records. The benchmark index documents each comparison, its scope, and its evidence status.
Why Smythe
| Generated execution topology | Durable execution envelope |
|---|---|
Generate a DAG from the goal with LLMArchitect |
Bound active calls with max_concurrency |
Select approved templates with ConstrainedArchitect |
Reserve supported text-workflow phases in one run_store ledger |
Build exact workflows with DeterministicArchitect |
Save node results and resume from checkpoints |
| Inspect and export plans with their complete task | Validate artifacts and recover verification decisions |
| Reuse successful graphs as templates | Trace calls, costs, failures, and revisions |
Agents use MCP tools, generate images, and pass artifacts to downstream nodes. Durable Jobs add manifest validation, plan approvals, an attempt journal, selective rerolls, detached workers on supported hosts, durable pauses, read-only inspection, and portable exports. Inspect prompts, responses, costs, and artifact receipts in a local HTML report. Lease epochs reject stale-worker journal writes after ownership changes. Persistent artifact namespaces and exclusive file publication preserve accepted outputs across custom run IDs and shared output directories. File checkpoints flush complete snapshots before atomic publication, using independent temporary files for separate store instances. Iterative graph traversal passes 5,000-node dependency-chain checks, including complete offline serial execution and atomic revision validation. Saved graph policies bound node count, execution models, retries, and regeneration across planning and recovery.
Architecture · Task handoffs · Jobs and CLI · Failure policies · Cost guardrails · MCP · Verification · Native Astra and Sol Responses · Durable text accounting · All guides and examples.
Quickstart
Python 3.11+. Install Smythe 0.7.0 with the provider used below:
pip install "smythe[openai]==0.7.0"
Set OPENAI_API_KEY, then generate and inspect a text-only plan 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,
)
task = Task(
goal="Compare SQLite, PostgreSQL, and DuckDB for a local analytics app.",
constraints=[
"Keep the comparison under 400 words",
"Explain the tradeoffs and recommend one database",
],
)
graph = swarm.plan(task)
print(graph)
result = swarm.execute(graph)
print(result.output)
This example makes paid API calls under a $5 run allowance. The
Responses provider supplies native usage receipts
and model-specific prices; the SQLite workflow ledger
includes planning and execution, reserves each request before dispatch, and
replays saved responses locally during recovery. Up to eight execution nodes
run concurrently. Anthropic and Gemini use the smythe[anthropic] and
smythe[gemini] extras outside this managed text-workflow path.
Try the complete acquisition-diligence workflow without an API key:
git clone https://github.com/petehottelet/smythe.git
cd smythe
pip install -e ".[dev]"
python examples/acquisition_diligence/run.py
Three specialists work in parallel, an editor assembles their findings, a red team challenges the draft, and a final node writes the decision memo. Graph, trace, and expected output.
Coming soon
- Native exploration: bring the web exposure pipeline, camera controls, and settings to Windows, macOS, and Linux, then verify them against the implementation plan.
- Native distribution: notarized macOS downloads and native Wayland integration.
- Renderer performance: meet the 1080p frame-interval target with the new glyphs, then verify visible presentation and GPU timing. The six-session headless study measured 56.21–56.24 draws/second and retained every result; its pacing target was not met.
- Broader evidence: bounded paid scale trials, repeated live glyph sweeps, and human-calibrated quality comparisons with saved outputs and judge reasoning.
- Astra benchmarks: matched model and orchestration comparisons with full usage accounting and blind quality scoring. The 13-task pack and schedules for 12 pilot and 200 main workflows are prepared. The pilot runner binds spending allocations, source hashes, and recoverable trial identities. Live execution awaits the campaign allowance and calibration gates.
Specifications and priorities · Repository review.
Smythe is pre-1.0; minor releases may change APIs. Release history · Contributing · Security · MIT license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smythe-0.7.0.tar.gz.
File metadata
- Download URL: smythe-0.7.0.tar.gz
- Upload date:
- Size: 52.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13a80a02b371decde608332931d179947e9eca13b556e4d127fab342e981e206
|
|
| MD5 |
d341ab669398ed63e4a4aebe3f1d0cae
|
|
| BLAKE2b-256 |
4fa5f4a7f8bc9aabe477b5f14d1b1cfda1403f88ccadf45831c201bf469d5c8e
|
Provenance
The following attestation bundles were made for smythe-0.7.0.tar.gz:
Publisher:
publish.yml on petehottelet/smythe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smythe-0.7.0.tar.gz -
Subject digest:
13a80a02b371decde608332931d179947e9eca13b556e4d127fab342e981e206 - Sigstore transparency entry: 2753570593
- Sigstore integration time:
-
Permalink:
petehottelet/smythe@729fda3745f69f35937b831ee1734c235ce29c52 -
Branch / Tag:
refs/tags/v0.7.0 - Owner: https://github.com/petehottelet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@729fda3745f69f35937b831ee1734c235ce29c52 -
Trigger Event:
release
-
Statement type:
File details
Details for the file smythe-0.7.0-py3-none-any.whl.
File metadata
- Download URL: smythe-0.7.0-py3-none-any.whl
- Upload date:
- Size: 293.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a3fc92ce8ee3755b270cef8f1219f9fb6dcb292118896aa142f551e61375eac
|
|
| MD5 |
4d87666b53fe8400cc211c92f6c42ef9
|
|
| BLAKE2b-256 |
886fbfe95a1562b2e7bbbb58ed832e5eb47db1294b78c712df868c10c72e5b51
|
Provenance
The following attestation bundles were made for smythe-0.7.0-py3-none-any.whl:
Publisher:
publish.yml on petehottelet/smythe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smythe-0.7.0-py3-none-any.whl -
Subject digest:
2a3fc92ce8ee3755b270cef8f1219f9fb6dcb292118896aa142f551e61375eac - Sigstore transparency entry: 2753570615
- Sigstore integration time:
-
Permalink:
petehottelet/smythe@729fda3745f69f35937b831ee1734c235ce29c52 -
Branch / Tag:
refs/tags/v0.7.0 - Owner: https://github.com/petehottelet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@729fda3745f69f35937b831ee1734c235ce29c52 -
Trigger Event:
release
-
Statement type: