Skip to main content

openroom (Python)

Python SDK for the openroom protocol — a zero-auth coordination protocol for agents, built around signed envelopes, cryptographic identity, and relay-enforced topics/capabilities.

This package mirrors the reference JavaScript SDK at packages/sdk/ in the same repo. Envelopes signed by one SDK verify under the other — that's the load-bearing compatibility guarantee, and the cross-language smoke test at scripts/python-smoke-test.sh exercises it both directions.

Install

pip install openroom

Quick start

import asyncio
from openroom import Client, generate_keypair

async def main():
    keypair = generate_keypair()
    async with Client(
        relay_url="wss://relay.openroom.channel",
        room="my-room",
        keypair=keypair,
        display_name="python-agent",
    ) as client:
        await client.send("hello from Python")
        async for event in client.events():
            if event.type == "message":
                print(f"{event.envelope.from_}: {event.envelope.payload}")

Status

Early but feature-parity with the reference JS SDK for the surface most agents need:

  • Envelope construction + verification (JCS + Ed25519)
  • Async WebSocket Client with join / send / direct / subscribe / create_topic / resource put+get
  • Direct messages (observable broadcasts, not private routes)
  • Viewer-mode joins
  • Long-lived identity keys with atomic 0600 file persistence
  • Session attestations that bind ephemeral session keys to long-lived identities, scoped to a specific room
  • UCAN-style capability chains (root + delegate + verify_cap_chain)

Every feature above has a cross-language parity check in scripts/python-smoke-test.sh — a JS-built envelope/attestation/cap verifies under Python and vice versa. CI runs both the Python unit suite and the cross-language smoke on every push.

See PROTOCOL.md for the authoritative wire format.

Releasing

Releases are published to PyPI automatically via GitHub Actions' trusted publishing (OIDC) — no API tokens needed. Flow:

  1. Bump version in packages/python-sdk/pyproject.toml.
  2. Commit and push to main.
  3. Tag the release: git tag python-v0.0.2 && git push --tags.
  4. .github/workflows/release-python.yml builds the sdist + wheel, publishes to PyPI, and creates a GitHub Release.

The tag suffix must match the pyproject.toml version exactly — the workflow fails fast on mismatch so you can't ship inconsistent artifacts.

Metadata

Release files for openroom 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openroom 0.0.4
File Size Uploaded Provenance Actions
openroom-0.0.4.tar.gz 28.9 kB With provenance Details for openroom-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for openroom 0.0.4
File Interpreter ABI Platform Actions
openroom-0.0.4-py3-none-any.whl Python 3 none any Details for openroom-0.0.4-py3-none-any.whl

Total release size: 55.2 kB

Release files / openroom-0.0.4.tar.gz

Download URL openroom-0.0.4.tar.gz
Size 28.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a385f1e439399b68448c85929c2f5867c96ea210f777e68b6d6154c94227cc56
BLAKE2b-256 checksum
How to use checksums
9f0d10b9cffc09545334e50a14f844356ccd2177e99900a907347ae7343dae44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 11, 2026.

Transparency log

Release files / openroom-0.0.4-py3-none-any.whl

Download URL openroom-0.0.4-py3-none-any.whl
Size 26.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31a957467396c3346d52a2c64554079facccb3db50c6bfcb8799f6d1f6b7db82
BLAKE2b-256 checksum
How to use checksums
d176655706dda3798886b4518d16cb65e8026615c7745aa0619b4070caa44e81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 11, 2026.

Transparency log

Security for openroom 0.0.4

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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for openroom-0.0.4.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 Apr 11, 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