Skip to main content

statewire

The Statewire protocol for Python: a Statewire host owns one JSON state dict, streams every change to attached clients as ops, and dispatches typed commands back. Part of harness-sdk, with harness-sdk and pinned.

Install

uv add statewire

Extras: uv add "statewire[langgraph]", uv add "statewire[orjson]".

Use

from fastapi import FastAPI
from pinned import PinnedHost, PinnedWorker
from statewire import Statewire, StatewireReject, command

class Counter(Statewire):
    async def lifespan(self):
        self.state = {"count": 0}
        yield

    @command
    async def increment(self):
        if self.state["count"] >= 10:
            raise StatewireReject("the counter is full (max 10)")
        self.state["count"] += 1

worker = PinnedWorker()
app = FastAPI()
app.include_router(worker)
app.include_router(PinnedHost(Counter, worker=worker, namespace="/threads"))

Docs

Download files

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

Source Distribution

statewire-0.14.0.tar.gz (95.4 kB view details)

Uploaded Source

Built Distribution

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

statewire-0.14.0-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

Details for the file statewire-0.14.0.tar.gz.

File metadata

  • Download URL: statewire-0.14.0.tar.gz
  • Upload date:
  • Size: 95.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for statewire-0.14.0.tar.gz
Algorithm Hash digest
SHA256 aefbf13f01c4bb9bdd0c1b18d781ade2535710026469370c4a161debc54f6f9b
MD5 d0d5378a0c035cff1a9ae6ca08ce1a68
BLAKE2b-256 04f82f23047354c253a7d152bef66f5f8ae7bbf87bb12fa03ca7a3af5d1e3c16

See more details on using hashes here.

Provenance

The following attestation bundles were made for statewire-0.14.0.tar.gz:

Publisher: pypi-publish.yaml on assistant-ui/harness-sdk

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

File details

Details for the file statewire-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: statewire-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 47.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for statewire-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 904860a64ba485bda971f33cc0aec97897de320e7941c1b653fa252264ed4b81
MD5 12ae59f233b071c09cf2580fba1a4293
BLAKE2b-256 4f73d406d87b7764f082b4ec5c2badc365ebfbd4734ebaa7298180ca69066061

See more details on using hashes here.

Provenance

The following attestation bundles were made for statewire-0.14.0-py3-none-any.whl:

Publisher: pypi-publish.yaml on assistant-ui/harness-sdk

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

Release history Release notifications | RSS feed

0.16.1

2 files

0.16.0

2 files

0.15.0

2 files

This release

0.14.0 This release

2 files

0.13.0

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.7

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.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