Skip to main content

archon sdk — Python

One layer above the identity floor: proof of possession and the signed envelope.

pip install bitspark-archon-sdk

The distribution is bitspark-archon-sdk; the import is archon_sdk. It depends on bitspark-archon-core and nothing else, and pip installs the floor with it.

from archon_core import public_key_from_seed
from archon_sdk import envelope, possession

seed = bytes(range(32))
pub  = public_key_from_seed(seed)

# Proof of possession: the challenger picks the nonce and the channel binding.
nonce, binding = bytes(range(16)), b"tls-exporter-bytes"
proof = possession.prove(seed, "example/pop/v1", nonce, binding)
possession.verify(pub, "example/pop/v1", nonce, binding, proof)        # True
possession.verify(pub, "example/pop/v1", nonce, b"another channel", proof)  # False

# The signed envelope: the verifier chooses the domain, never the envelope.
sealed = envelope.seal(seed, "example/env/v1", b"payload")
opened = envelope.open(sealed, "example/env/v1")   # Opened(pubkey=…, payload=b'payload')
envelope.open(sealed, "example/env/other")         # ValueError: claims a different domain

What it is

possession prove, verify, message_bytes — can they sign, right now, for this channel? — and prepare, complete, prove_with
envelope seal, open, message_bytes, Opened — these bytes, signed by this key, in this domain — and prepare_seal, complete_seal, seal_with
signer Signer, SigningRequest, Raw, PhContext, Capabilities, SeedSigner, sign_with, check_signature — sign through a signer instead of a seed (ADR 0009 §4): the request is validated and the signer's capabilities checked before it is called, and every signature it returns is verified against what was asked for

Both sign in the caller's domain through archon_core.sign_in_domain, and each prefixes its layout with a one-byte scheme tag so a possession proof and an envelope payload in the same domain can never be the same bytes.

Entropy, time and channel binding are arguments. This package never sources them, which is what makes every byte it emits a deterministic function of its inputs. Verification is total: possession.verify returns False on any shape failure and never raises; envelope.open raises ValueError and never returns an unverified payload.

Not here yet: the login scheme. The Go, Rust and TypeScript sdks also carry archon-login/1 (docs/login.md); this one does not.

Agreement is the claim

This sdk is held to the same hand-authored oracle as the Go, Rust and TypeScript sdks — 38 cases in vectors/sdk.json, recomputed rather than echoed. If it disagrees with them about a proof or an envelope, that disagreement is the defect.

Verification

node conformance/check-py-sdk.mjs          # the oracle, against this tree
node conformance/check-py-sdk-package.mjs  # the built wheel, installed from nothing

License

Apache-2.0.

Metadata

Release files for bitspark-archon-sdk 0.14.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 bitspark-archon-sdk 0.14.0
File Size Uploaded Provenance Actions
bitspark_archon_sdk-0.14.0.tar.gz 19.0 kB With provenance Details for bitspark_archon_sdk-0.14.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bitspark-archon-sdk 0.14.0
File Interpreter ABI Platform Actions
bitspark_archon_sdk-0.14.0-py3-none-any.whl Python 3 none any Details for bitspark_archon_sdk-0.14.0-py3-none-any.whl

Total release size: 36.1 kB

Release files / bitspark_archon_sdk-0.14.0.tar.gz

Download URL bitspark_archon_sdk-0.14.0.tar.gz
Size 19.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bfe90fffe9ccc6a38656851c1074d62957dbd771fbbc48695967473c5b5e7b7d
BLAKE2b-256 checksum
How to use checksums
64225bdb2b1efc59063cfbfbf86058d52289acd3db1569862b409c9d3bc1ad42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 5, 2026.

Transparency log

Release files / bitspark_archon_sdk-0.14.0-py3-none-any.whl

Download URL bitspark_archon_sdk-0.14.0-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
212c8a3c02f7c9edc2f9c13cbd2c4bb076a45a2b4d5b04307ce780e28700f730
BLAKE2b-256 checksum
How to use checksums
95b402ce7614bf617e287e0858e709190ff74474430ba4169220786a63b77991
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 5, 2026.

Transparency log

Security for bitspark-archon-sdk 0.14.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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for bitspark_archon_sdk-0.14.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 5, 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