Skip to main content
SMYTHE

task-based agent swarms with dynamic parallelization, routing, and execution topology.

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

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.

Classic code rain with the reference character set and occasional original Smythe 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.

Complete SVG workflow times across thread and process configurations, with all repetitions and a measured stage breakdown

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.

Controlled offline glyph generation at four graph widths, with all tiles valid and unique at every measured concurrency

Glyph protocol and records.

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 offline Jobs campaign: 2,492 accepted after the kill, 4,992 after safe resume, and 5,000 after eight explicit rerolls

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.

Three matched interruption tests: Smythe repeated 8 dispatches and LangGraph repeated 32 in every repetition; both finished all 64 operations

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 uses 77 percent fewer mean tokens and 28 percent less mean wall time than CrewAI on the matched fixed-pipeline suite

Smythe, LangGraph, and CrewAI: observed blind quality, mean token counts, and mean wall time across 15 runs per framework

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.

Generated plans adapt node count to the task and reduce mean wall time by 14 percent, including planning, across the task-shape suite

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

smythe-0.7.0.tar.gz (52.8 MB view details)

Uploaded Source

Built Distribution

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

smythe-0.7.0-py3-none-any.whl (293.6 kB view details)

Uploaded Python 3

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

Hashes for smythe-0.7.0.tar.gz
Algorithm Hash digest
SHA256 13a80a02b371decde608332931d179947e9eca13b556e4d127fab342e981e206
MD5 d341ab669398ed63e4a4aebe3f1d0cae
BLAKE2b-256 4fa5f4a7f8bc9aabe477b5f14d1b1cfda1403f88ccadf45831c201bf469d5c8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for smythe-0.7.0.tar.gz:

Publisher: publish.yml on petehottelet/smythe

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

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

Hashes for smythe-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a3fc92ce8ee3755b270cef8f1219f9fb6dcb292118896aa142f551e61375eac
MD5 4d87666b53fe8400cc211c92f6c42ef9
BLAKE2b-256 886fbfe95a1562b2e7bbbb58ed832e5eb47db1294b78c712df868c10c72e5b51

See more details on using hashes here.

Provenance

The following attestation bundles were made for smythe-0.7.0-py3-none-any.whl:

Publisher: publish.yml on petehottelet/smythe

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

0.7.0 This release

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 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