This release is a pre-release and may not be stable for production use.
polaris-verify (Python SDK)
A server-side SDK for a relying party to verify Polaris identity credentials. It answers one narrow question about a credential a holder presented: is it authentic, and is it authoritative right now? It never returns a person's data.
Project name and import name differ, and the obvious guess lands elsewhere. This project,
polaris-sdk-python, installs the modulepolaris_verify. The project calledpolaris-verifyis a different thing: the command-line verifier, which installspolaris_verify_cli. They coexist without colliding. The module keeps its name becauseconformance/SPEC.mdpublishespython -m polaris_verify.conformanceas the reference verifier command, so it is part of a contract rather than a preference.
- Authenticity (offline, cacheable): the ML-DSA-65 signature over
SHA3-256(token_value), verified withcryptography(and liboqs as a second witness when present), optionally against trusted issuer anchor keys. - Authorization (online, fresh): the issuer's
POST /api/v1/verify, authenticating as a registered organization with OAuth2 client-credentials.
accept requires both; without a reachable issuer the verdict is provisional.
Self-contained: only cryptography plus the standard library.
from polaris_verify import PolarisVerifier
v = PolarisVerifier(
issuer_url="https://issuer.example",
client_id="rp_...", client_secret="...", # from `polaris rp-register`
anchors=["<issuer public key hex>"], # optional trust anchors
)
verdict = v.verify_presentation(presentation) # a wallet presentation, or a bare pack
print(verdict.decision) # "accept" | "reject" | "provisional"
Offline only (no issuer_url) yields a provisional verdict from authenticity
alone. verify_authenticity(pack, anchors) exposes the offline check directly.
What it verifies
Everything below is offline and self-contained. Signatures are accepted under two FIPS 204 parameter sets, ML-DSA-65 (the default) and ML-DSA-87; ML-DSA-44 and any other value are refused (wire spec section 6).
verify_authenticity(pack, anchors): the authenticity pack.verify_status_assertion(assertion, now): the short-lived signed status assertion.verify_presentation(presentation, ...): a wallet presentation, or a bare pack.verify_signed_artifact(obj, now): every other signed artifact of the wire spec: the epoch checkpoint, revocation feed, federation manifest, status bundle, transparency STH, timestamp, registry, exchange request, exchange receipt, mint statement, signed document, ID token and trust list (authenticity, freshness where windowed, and the artifact's commitment or self-consistency).verify_cross_authority(...): the federation trust decision (accept / reject).
The SDK passes every case of the conformance suite (48 at v9.331) and every case of the frozen
version-1 set under scripts/polaris-compat-suite.py, which runs on every CI push.
Conformance
This SDK is the reference implementation of the Polaris verification conformance
suite (../../conformance/). python -m polaris_verify.conformance implements the
language-agnostic verifier CLI the suite drives; passing the suite is the integration
contract. See conformance/SPEC.md.
Metadata
Release files for polaris-sdk-python 1.0.0rc3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| polaris_sdk_python-1.0.0rc3.tar.gz | 26.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| polaris_sdk_python-1.0.0rc3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.4 kB
Release files / polaris_sdk_python-1.0.0rc3.tar.gz
| Download URL | polaris_sdk_python-1.0.0rc3.tar.gz |
|---|---|
| Size | 26.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2dfffed48e3ed86f4741838aff6ba56d3c11d1940d8397e79b404492c095eb1a
|
|
BLAKE2b-256 checksum How to use checksums |
e4ccb163c2a511df6e5080e8634e7aec6c92fbb78cbf45adabc907fa4cb53f56
|
| 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 Sep 18, 2026.
Transparency logRelease files / polaris_sdk_python-1.0.0rc3-py3-none-any.whl
| Download URL | polaris_sdk_python-1.0.0rc3-py3-none-any.whl |
|---|---|
| Size | 27.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6eef2e9bc2a74a021ffd2bda6588772c62b7ccd41ed90a02aba2504a1e8e2939
|
|
BLAKE2b-256 checksum How to use checksums |
206ea418a4377dea48ef3d82595a58e5eb980fc431035871a56b9c72d7429d50
|
| 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 Sep 18, 2026.
Transparency log