Skip to main content

SwarmKit runtime: topology interpreter, LangGraph compiler, AGT-backed governance, CLI and HTTP server.

Project description

swarmkit-runtime

Python runtime for SwarmKit. Interprets topology files, compiles them into LangGraph StateGraphs, enforces governance via the GovernanceProvider abstraction (AGT-backed in v1.0), and exposes the swarmkit CLI plus a persistent HTTP server.

Layout

src/swarmkit_runtime/
├── cli/                 # Typer-based CLI: init, author, run, serve, eject
├── topology/            # Topology loader, validator, resolver (archetype + skill refs)
├── skills/              # Skill registry, category-specific semantics, composition
├── archetypes/          # Archetype registry and instantiation
├── governance/          # GovernanceProvider interface + AGTGovernanceProvider impl
├── langgraph_compiler/  # Topology → StateGraph compilation (design §14.3)
├── mcp/                 # MCP client, server lifecycle, sandbox supervision
└── audit/               # Append-only audit log adapters, skill gap log surfacing

Design references

  • §7 Architectural Principles — topology as data, eject, never lock-in
  • §8 Separation of Powers — governance/ module is the SwarmKit side; AGT is the implementation
  • §9 System Architecture — this package is component #1 of 3
  • §14 Runtime Architecture — three execution modes (one-shot, persistent, scheduled)

Entry points (design §14.2)

Command What it does
swarmkit init Launch Workspace Authoring Swarm in terminal chat mode
swarmkit author topology [name] Launch Topology Authoring variant
swarmkit author skill [name] Launch Skill Authoring Swarm
swarmkit author archetype [name] Launch Archetype Authoring variant
swarmkit run topology.yaml One-shot execution
swarmkit serve workspace/ Persistent / scheduled mode
swarmkit eject topology.yaml Export LangGraph code

Development

uv sync --package swarmkit-runtime
uv run pytest packages/runtime/tests
uv run swarmkit --help

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

swarmkit_runtime-1.2.45.tar.gz (229.5 kB view details)

Uploaded Source

Built Distribution

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

swarmkit_runtime-1.2.45-py3-none-any.whl (212.7 kB view details)

Uploaded Python 3

File details

Details for the file swarmkit_runtime-1.2.45.tar.gz.

File metadata

  • Download URL: swarmkit_runtime-1.2.45.tar.gz
  • Upload date:
  • Size: 229.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmkit_runtime-1.2.45.tar.gz
Algorithm Hash digest
SHA256 a59fd84bd9987653bf6335285a9b8879abd9fd43026afd771e10722988352018
MD5 5cb343c4ae131485caedd8f99c3636c4
BLAKE2b-256 0e5082ece073ed0d03a68a3bc7312905eb2cae9313869977e8048aee7b1b4fac

See more details on using hashes here.

File details

Details for the file swarmkit_runtime-1.2.45-py3-none-any.whl.

File metadata

  • Download URL: swarmkit_runtime-1.2.45-py3-none-any.whl
  • Upload date:
  • Size: 212.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmkit_runtime-1.2.45-py3-none-any.whl
Algorithm Hash digest
SHA256 5f2be05f146d1c921d442d34457e04169fba4c99e8592414fe8a11783c97677f
MD5 4479d7f0b247f450a59a5e0086a5d59b
BLAKE2b-256 a3b87af3693a1715c906ef64c1ae5e188a9f92472feabe1474004d6a238656cf

See more details on using hashes here.

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