Skip to main content

swarmstate

PyPI DOI License: MIT

Drop-in state backend for LangGraph, CrewAI & custom agent loops - Rust core, framework-agnostic, built for production.

Constant-time checkpoint reads — get_tuple stays at ~7 µs whether a thread holds 5 or 2 000 checkpoints, where LangGraph's InMemorySaver climbs from ~5 µs to ~40 µs — and O(1) state snapshots: ~0.5 µs at any size, against 50 ms to deepcopy a 50 000-entry state. Durable writes land on par with SqliteSaver at the same fsync policy (~1.9× faster than its shipped default, which buys stronger durability). Method, hardware and raw numbers → benchmarks/.

swarmstate is a state and checkpointing backend with a Rust core and a Python API for multi-agent systems. It does not compete with visible agent frameworks; it acts as low-level infrastructure - much like engines such as DuckDB, ClickHouse, Arrow, or Polars sit underneath data applications without replacing them.

It solves three production pains:

  1. State lock-in across frameworks - a framework-agnostic store so migrating frameworks doesn't lose state.
  2. Checkpoint reads that get slower as threads grow - a Rust-backed implementation of LangGraph's checkpointer interface that resolves "the latest checkpoint" by lookup instead of scanning a thread's keys.
  3. Deterministic routing paid for in tokens - a native handoff graph that resolves rule-based transitions in microseconds.

Installation

pip install swarmstate            # prebuilt abi3 wheels, no compiler required
uv add swarmstate                 # or with uv

Optional extras: swarmstate[langgraph], swarmstate[crewai], swarmstate[redis], swarmstate[disk], swarmstate[postgres], swarmstate[otel], swarmstate[all].

Usage

import swarmstate as ss

store = ss.Store()                              # in-memory, msgpack codec
store.set("workflow", "onboarding", {"step": 3, "data": {...}})
snap = store.snapshot()                          # cheap, immutable snapshot
store.set("workflow", "onboarding", {"step": 4})
store.restore(snap)                              # rollback
store.get("workflow", "onboarding")              # -> {"step": 3, "data": {...}}

snap2 = store.snapshot()
snap2.diff(snap)                                 # {"added": [...], "removed": [...], "changed": [...]}

# Retention is opt-in: a snapshot the store keeps pins the state it saw
hist = ss.Store(max_history=10)                  # 0 (default) keeps none, None keeps all
hist.history()                                   # -> [Snapshot, ...], oldest first

# Batch ops: one GIL release / round-trip for the whole set
store.set_many([("workflow", "a", {...}), ("workflow", "b", {...})])
store.get_many([("workflow", "a"), ("workflow", "b")])   # -> [..., ...], order preserved

# Deterministic, LLM-free routing (resolved natively in Rust)
g = ss.HandoffGraph()
g.add_edge("triage", "billing", when="category in ['billing', 'refund']")
g.add_edge("triage", "support", when="category not in ['spam'] and user.tier == 'gold'")
g.add_edge("triage", "human")                    # unconditional default
g.route("triage", {"category": "refund"})        # -> "billing"
# state can be a dict, any mapping, or a dataclass / Pydantic model

# Move state anywhere: between backends, or through a portable file
ss.copy_store(store, postgres_store)             # e.g. prototype -> production
ss.dump_store(store, "state.swst")               # survive a restart...
store = ss.load_store("state.swst")              # ...and come back

Drop-in LangGraph checkpointer (pip install "swarmstate[langgraph]"):

from swarmstate.integrations.langgraph import SwarmStateSaver

graph = builder.compile(checkpointer=SwarmStateSaver())   # replaces SqliteSaver, 1 line

Bounded memory for long-running threads — checkpointers keep every step by default, which for a service that never restarts means growth without end:

saver = SwarmStateSaver(max_checkpoints_per_thread=8)     # keep the newest N per thread

Older checkpoints are dropped with their pending writes and channel blobs. On a 300-invocation thread that is 0.5 MB instead of 28 MB, and the thread still resumes; time travel is limited to the retained window, so size it to taste. Graphs with DeltaChannel state also keep the checkpoints back to each channel's last snapshot, since the newest value is rebuilt from them.

Thread management from LangGraph's checkpointer interface, which the reference savers leave unimplemented:

saver.copy_thread("thread-a", "thread-b")        # full history, resumable
saver.prune(["thread-a"])                        # keep the latest (DeltaChannel-aware)
saver.delete_for_runs(["run-123"])               # drop what one run wrote

Rule-based handoffs inside a LangGraph graph, with no LLM call and no routing code:

from swarmstate.integrations.langgraph import handoff_router

builder.add_conditional_edges("triage", handoff_router(g, "triage"), ["billing", "support", END])

With RedisStore or PostgresStore, the async methods (ainvoke, astream, ...) await the backend natively instead of running each call in a worker thread.

Optional metrics on checkpoint operations (opt-in, zero overhead when unused):

from swarmstate.observability import InMemoryMetrics       # or OpenTelemetryMetrics

metrics = InMemoryMetrics()
saver = SwarmStateSaver(metrics=metrics)
# ... run the graph ...
metrics.summary()   # {"put": {"count": 12, "p50_ms": 0.006, ...}, "get_tuple": {...}}

OpenTelemetry tracing (each checkpoint op becomes a swarmstate.checkpoint.<op> span):

from swarmstate.observability import get_tracer     # needs swarmstate[otel]

saver = SwarmStateSaver(tracer=get_tracer())         # composes with metrics=...

Status

Early development.

  • M0 (scaffolding) ✅ - Rust core builds; import swarmstate works.
  • M1 (Rust store) ✅ - concurrent KV store, msgpack codec, O(1) immutable snapshots, incremental diffs, GIL released on hot paths.
  • M2 (HandoffGraph) ✅ - deterministic conditional routing with a safe Rust condition evaluator (no eval), cycle detection.
  • M3 (LangGraph adapter) ✅ - SwarmStateSaver, a drop-in BaseCheckpointSaver backed by the Store; snapshot/roll back the whole checkpoint DB at once.
  • M4 (Benchmarks) ✅ - durable-vs-durable and in-memory-vs-in-memory comparisons on LangGraph's interface, read latency as a thread grows, Store.snapshot() vs deepcopy, and concurrency scaling. Reproducible: benchmarks/run.py; method and results in benchmarks/README.md.
  • M5 (CrewAI adapter + backends) ✅ - persistent, drop-in checkpointer backends RedisStore, DiskStore (SQLite) and PostgresStore, all msgpack wire-format, plus SwarmStateStorage (portable memory backed by a shared Store).
  • M6 (docs · wheels · PyPI) ✅ - full docs site, benchmarks, cross-platform abi3 wheels, and PyPI publishing via Trusted Publishing (OIDC).
  • Observability ✅ - opt-in metrics hooks and OpenTelemetry tracing on checkpoint ops (put / put_writes / get_tuple): an in-memory sink, an OpenTelemetry metrics sink, and per-op spans (swarmstate[otel]). Zero overhead when unused. Strict mypy in CI.
  • Free-threaded (no-GIL) ready ✅ - the Rust core declares free-threaded support, so on a free-threaded CPython build (cp313t) the store doesn't collapse under threads the way the GIL build does: on a set+get workload at 8 threads it sustains ~1.8M ops/s vs ~130k on GIL Python (over 10x), where the GIL build gets much slower as threads are added. (These workloads are allocation-bound, so neither scales linearly with cores; the win is avoiding the GIL's collapse.) Version-specific cp313t and cp314t wheels ship for Linux (x86_64/aarch64), macOS (arm64) and Windows (x64) alongside the abi3 ones.
  • Batch API ✅ - Store.set_many / get_many (and on every backend) amortize the per-call overhead over a batch: one GIL release for the in-memory core, one round-trip for networked backends. On free-threaded at 8 threads, set_many is ~3x the throughput of individual sets. SwarmStateSaver uses it internally: put_writes (and the incremental channel blobs) flush all writes of a step in a single set_many, so fan-out steps that emit many pending writes pay one lock/round-trip instead of one per write. delete_many / delete_namespace do the same for deletes (thread deletion, retention, pruning).
  • Thread management ✅ - copy_thread, prune and delete_for_runs from LangGraph's checkpointer interface, plus a direct get_delta_channel_history (2.2x faster than LangGraph's default walk with incremental=True).
  • Portability ✅ - copy_store between any two backends, dump_store / load_store to a portable msgpack file.
  • Native async ✅ - RedisStore and PostgresStore expose an async API that SwarmStateSaver's async methods await directly.

Examples

Runnable, offline, deterministic demos in examples/:

  • support_triage.py - a LangGraph workflow tying together HandoffGraph routing, SwarmStateSaver checkpointing and snapshot/restore time-travel.
  • state_portability.py - state as standard msgpack bytes, read back and cross-checked against the msgpack package.

Documentation

Guide, tutorials and API reference: swarmstate.github.io — the store, snapshots & diffs, the LangGraph checkpointer, persistent backends, the handoff graph and the benchmark method. The site is built from swarmstate/swarmstate.github.io.

Development

python -m venv .venv && source .venv/bin/activate
pip install maturin pytest
maturin develop --release     # compile the Rust core and install it locally
cargo test                    # Rust core tests
pytest -q                     # Python API tests

Citing

If you use swarmstate in academic work, please cite it. GitHub's "Cite this repository" button (from CITATION.cff) produces ready-made APA and BibTeX entries. To cite the archived software release, use its Zenodo DOI (10.5281/zenodo.22067264) — it always resolves to the latest version:

@software{salmeron_swarmstate,
  author    = {Salmeron, Jose L.},
  title     = {{swarmstate}: A state and checkpointing backend for multi-agent
               systems with a Rust core},
  year      = {2026},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.22067264},
  url       = {https://github.com/swarmstate/swarmstate}
}

The DOI is minted when the first release is archived on Zenodo. Replacing 10.5281/zenodo.XXXXXXXX here, in CITATION.cff and on the docs site is all it takes — the placeholder is deliberate, so that nothing cites an identifier that does not resolve.

License

MIT

Metadata

Release files for swarmstate 0.12.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 swarmstate 0.12.0
File Size Uploaded Provenance Actions
swarmstate-0.12.0.tar.gz 164.6 kB With provenance Details for swarmstate-0.12.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for swarmstate 0.12.0
File Actions
swarmstate-0.12.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for swarmstate-0.12.0-cp314-cp314t-win_amd64.whl
swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64 Details for swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_x86_64.whl
swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64 Details for swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_aarch64.whl
swarmstate-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for swarmstate-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl
swarmstate-0.12.0-cp313-cp313t-win_amd64.whl CPython 3.13 CPython 3.13 free-threading Windows x86-64 Details for swarmstate-0.12.0-cp313-cp313t-win_amd64.whl
swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ x86-64 Details for swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_x86_64.whl
swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ ARM64 Details for swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_aarch64.whl
swarmstate-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64 Details for swarmstate-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl
swarmstate-0.12.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details for swarmstate-0.12.0-cp39-abi3-win_amd64.whl
swarmstate-0.12.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details for swarmstate-0.12.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
swarmstate-0.12.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details for swarmstate-0.12.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
swarmstate-0.12.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details for swarmstate-0.12.0-cp39-abi3-macosx_11_0_arm64.whl
swarmstate-0.12.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details for swarmstate-0.12.0-cp39-abi3-macosx_10_12_x86_64.whl

Total release size: 5.4 MB

Release files / swarmstate-0.12.0.tar.gz

Download URL swarmstate-0.12.0.tar.gz
Size 164.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8d9ae6ef7811956e429b8856993903052535ae118dd908934c93d9d423e4c976
BLAKE2b-256 checksum
How to use checksums
6b4fb870c5d290c6fc41817ab2b547c00376dab4e9846af194b43f3301aebb14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp314-cp314t-win_amd64.whl

Download URL swarmstate-0.12.0-cp314-cp314t-win_amd64.whl
Size 323.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
2e7e7dc92ac5d89242b8d571ae3b750ea9c7b5d232f4116e964c4677871d8be2
BLAKE2b-256 checksum
How to use checksums
04bf9cc62274e271d54cb5b41d42d69d62796ee8113ce581b3778c293ac8fb4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_x86_64.whl

Download URL swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_x86_64.whl
Size 432.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
52458f5dadbaa0555e35b8cdfcd9007d50a5214c18eb30fe8648a4ab8392b159
BLAKE2b-256 checksum
How to use checksums
08b58e7fd39d31e19cfb83c553bc4c22b2a31495ccb7e8ffe715535bd8975be9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_aarch64.whl

Download URL swarmstate-0.12.0-cp314-cp314t-manylinux_2_34_aarch64.whl
Size 421.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
7c027bf5af946b51af999d5002b0372372d032726b94e55744177070d2305a61
BLAKE2b-256 checksum
How to use checksums
6c8bf9834899ce49cfb6d51cad80678ca6721eef87799d215302952a30bf15b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL swarmstate-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 411.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ecc2e68fd7d2380bf4b11aea6d90747f053847a5099dcb4df1546f3697a0aecc
BLAKE2b-256 checksum
How to use checksums
b5149600c98c6555c672905e92ae7502f7e0216bbe56ddf236d6d13ffca46355
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp313-cp313t-win_amd64.whl

Download URL swarmstate-0.12.0-cp313-cp313t-win_amd64.whl
Size 323.5 kB
Tags CPython 3.13 CPython 3.13 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
df585eb372de1ff2c7476f14ef95daf39a2f492ca07500175ad6749ea5dabd80
BLAKE2b-256 checksum
How to use checksums
a8efa06b1a53d6733ab6396622e58505902f5ca142965952355e554888338c12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_x86_64.whl

Download URL swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_x86_64.whl
Size 432.2 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
6d9f067bc6c0c8ac7694c768869a873a3630c76f31761aa6d1ac82bd8777b0ce
BLAKE2b-256 checksum
How to use checksums
c2a0e7c1f3bcb7e9a985329211d332e8e37309db16bfe11705e7b28cae0c979c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_aarch64.whl

Download URL swarmstate-0.12.0-cp313-cp313t-manylinux_2_34_aarch64.whl
Size 421.0 kB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
b761e6fc58e18c5f6885586058fbf23ee81416b789e927b3bf50795a54a8d7bd
BLAKE2b-256 checksum
How to use checksums
931105ee60f9936ccb72daa416da7eed6215146c51b23fa40f4384edfa2008ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl

Download URL swarmstate-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl
Size 411.9 kB
Tags CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1da2fa97a174d056e47aa567e467378af8bfed2a1c2432bdac30ef58b8dc08be
BLAKE2b-256 checksum
How to use checksums
2f0ed176bd9c357502cfb5b6be5f2e83738c7b900f541ca9748a8573da2469ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp39-abi3-win_amd64.whl

Download URL swarmstate-0.12.0-cp39-abi3-win_amd64.whl
Size 333.9 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b498d919cbc3b7aae9c8b2ba2b04c9812730b3f09773b5556b6c99087232a89e
BLAKE2b-256 checksum
How to use checksums
d756321265d90200bf75429bc8f1fc06322e5c2d6ac528f05ab77711119823c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL swarmstate-0.12.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 446.4 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
6f8277ffe517470c4140afd589712579f09144f21f9a3c15c0aa29041c8fbe93
BLAKE2b-256 checksum
How to use checksums
765b73675c3be92f495be74c86898f09e6261e56a342792c4dc08e28910a46e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL swarmstate-0.12.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 441.2 kB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
478044bf1e5af0263f129257cd98ff9005d744b875895aac0eabf7d65c7cc2b0
BLAKE2b-256 checksum
How to use checksums
d5659a878e0a2655220cfc8c0ac9f7251e6c3f79c5e90ca4561d5ddedb6460f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL swarmstate-0.12.0-cp39-abi3-macosx_11_0_arm64.whl
Size 418.2 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d3fddad96fe1068ddd6dfeed8ab822973e200eed72c5a468da049837eaec1fd6
BLAKE2b-256 checksum
How to use checksums
4d11148cb6545a3988492740f0281c62b94402f7e2c5ae2d819a2c318119658b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / swarmstate-0.12.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL swarmstate-0.12.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 441.0 kB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
127797fb0117c640b91737a41c36f20ea9ee9c1d03582bdad22f8275b31a6a3f
BLAKE2b-256 checksum
How to use checksums
b05782635f8fad10807aff3771357bacf76639179abde2f11b973f66f8113575
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Security for swarmstate 0.12.0

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.

Full provenance

All 14 files in this release have been uploaded with provenance metadata.

Select from 14 files

Attestation for swarmstate-0.12.0.tar.gz

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 Oct 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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