Skip to main content

Python SDK for the Shadownet protocol.

Project description

shadownet-py

Python SDK for the Shadownet protocol.

Status

Early. No code yet. Implements the v0.1 RFCs at shadownet-specs/rfcs.

What this repo is

A reusable Python library — not a server, not a canonical core. The primitives (DID resolution, VC issuance/verification, VP minting, A2A client + server helpers, MCP tool definitions) used by:

  • hermes-social — the Sidecar reference implementation.
  • shadownet-cloud — the cloud signup + multi-tenant Sidecar host (forthcoming).
  • Anything else that wants to speak Shadownet from Python.

Interop with other SDKs (shadownet-go, shadownet-ts) is verified at the wire level by shadownet-conformance.

Tooling

  • Package manager: uv
  • Python: 3.12+
  • Style/lint: ruff
  • Tests: pytest (+ pytest-asyncio)
  • License: MIT

Install / Develop

uv sync --all-extras           # install runtime + dev + extras
uv run pytest                  # run the test suite
uv run pytest -m network       # opt-in: tests that hit the network
uv run ruff check .            # lint
uv run ruff format .           # format

Engineering conventions and contribution rules live in CLAUDE.md.

Planned layout

src/shadownet/
  crypto.py         Ed25519, JWT/JWS
  did.py            did:key, did:web
  vc.py             VC-JWT issuance + verification + freshness + BitstringStatusList
  a2a/
    client.py       outbound A2A (handshake, message:send, message:stream)
    server.py       inbound A2A helpers (FastAPI-friendly)
  sca.py            SCA helpers (CSR building, predicate evaluation)
  sns.py            SNS helpers (record signing, resolution, caching)
  mcp.py            MCP tool definitions matching RFC-0007
tests/
pyproject.toml
uv.lock

The directory tree is not committed yet — added incrementally as work lands.

Specifications

License

TBD.

Project details


Download files

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

Source Distribution

shadownet-0.1.0rc1.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

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

shadownet-0.1.0rc1-py3-none-any.whl (57.6 kB view details)

Uploaded Python 3

File details

Details for the file shadownet-0.1.0rc1.tar.gz.

File metadata

  • Download URL: shadownet-0.1.0rc1.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shadownet-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 8e361f25b5e6343be969b5d97e37e06d4db71e843cc6beb320654f3e2623dcd8
MD5 41668df1eab8c065df2e4bc6ce79f800
BLAKE2b-256 edc4838f902ca5ed80ecaefa34b9df081fa94abe93323d3fafedcf319d7d9da1

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadownet-0.1.0rc1.tar.gz:

Publisher: release.yml on shadownet-protocol/shadownet-py

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

File details

Details for the file shadownet-0.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: shadownet-0.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 57.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shadownet-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 f34e5f0a375e745a40446ead2bdd5fa1be6b812f9c46ebe43f11c1507ef9bf9d
MD5 ab811340b781dbb0a2f77c7fe912841b
BLAKE2b-256 8868bbd0c9aad18f3d99d9005702c3d207dd57f7d356c2e9a22d607a935357dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for shadownet-0.1.0rc1-py3-none-any.whl:

Publisher: release.yml on shadownet-protocol/shadownet-py

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

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