sigstore
A tool for signing Python package distributions
What it is and what it does
Sigstore is a Python implementation of the Sigstore keyless signing protocol, letting you sign and verify files and packages without managing private keys. Instead, it uses OpenID Connect identities to prove your identity to Sigstore's infrastructure, which then issues short-lived signing certificates and records signatures in a transparency log. You can use it as a CLI tool or import it as a Python library to integrate signing and verification into your build and release workflows.
The package wraps Sigstore's core services behind a straightforward API, handling the complexity of OIDC token exchange, certificate lifecycle, and signature verification. The 15 runtime dependencies include cryptography, pydantic, requests, and several Sigstore-specific model and type packages, reflecting its role as a bridge between your code and Sigstore's distributed infrastructure.
Use it for:
- Sign Python package distributions in CI/CD pipelines using ambient credentials without storing private keys
- Verify the authenticity and provenance of downloaded Python packages by checking their Sigstore signatures
- Generate DSSE attestations with SLSA provenance metadata for supply chain integrity verification
- Integrate keyless signing into automated release workflows to prove package authenticity without key management overhead
- Verify signatures from packages signed with Sigstore to ensure they come from trusted, authenticated sources
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Sigstore is a Python tool for generating and verifying keyless signatures on files and Python package distributions using OpenID Connect identities and Sigstore's transparency log infrastructure.
Yes, if you need keyless code signing for Python packages or want to verify Sigstore-signed artifacts. The package is actively maintained, has no known vulnerabilities, supports Python 3.10, 3.11, 3.12, 3.13, and 3.14, and integrates well with CI/CD systems. Install it if supply chain security and keyless identity-based signing align with your workflow; skip it if you prefer traditional key-based signing or have no need for signature verification.
Install
sigstore on PyPI
pip
pip install sigstoreuv
uv add sigstorepoetry
poetry add sigstoreInstalling sigstore
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with a release 17 days ago. Depends on 15 runtime packages including cryptography, pydantic, and requests—a substantial but standard dependency footprint for a security tool.
License in practice
Permissive license treatment means you can use this in commercial and proprietary projects without copyleft obligations.
Quickstart
pip install sigstore
from sigstore.signing import Signer
signer = Signer.staging()
result = signer.sign_file("file.tar.gz")
Requires Python 3.10 or newer. Signing typically requires an OpenID Connect identity provider or manual OIDC token configuration.
Verify before relying
- Whether the package supports offline verification or requires network access to Rekor transparency log
- Performance characteristics when signing or verifying large files or batch operations
- Compatibility with non-GitHub OIDC providers beyond what the CLI documentation suggests
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 15 — cryptography, id, importlib_resources, pyasn1, pydantic, pyjwt, pyOpenSSL, requests, rich, rfc8785, rfc3161-client, sigstore-models, sigstore-rekor-types, tuf, platformdirs |
| Maintenance | actively maintained — 17 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,054,956/month — #4,434 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sigstore-4.5.0-py3-none-any.whl
Tags
More Security packages
Provides Python bindings to the FreeDesktop.org…
permissive · top 1,000 on PyPI
msalMSAL for Python handles OAuth2 and OpenID…
permissive · top 1,000 on PyPI
joserfcjoserfc implements JOSE standards (JWS, JWE,…
permissive · top 1,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI
argon2-cffi-bindingsProvides low-level CFFI bindings to the…
permissive · top 1,000 on PyPI
adalADAL for Python authenticates applications with…
permissive · top 1,000 on PyPI
sigstore-protobuf-specsProvides Python protobuf message definitions…
permissive · top 15,000 on PyPI
sigstore-rekor-typesProvides Python data models for Rekor's API…
permissive · top 5,000 on PyPI
sigstore-modelsProvides Pydantic-based data models that mirror…
unclear · top 15,000 on PyPI
idGenerates OIDC identity tokens by automatically…
permissive · top 1,000 on PyPI
securesystemslibSecuresystemslib provides a cryptography…
permissive · top 5,000 on PyPI
signxmlSignXML implements W3C XML Signature (XMLDSig)…
permissive · top 5,000 on PyPI
itsdangerousItsDangerous cryptographically signs data to…
permissive · top 1,000 on PyPI
django-oidc-providerProvides OpenID Connect and OAuth 2.0 server…
permissive · top 15,000 on PyPI
python-gnupgProvides Python bindings to GnuPG for key…
permissive · top 5,000 on PyPI
pysequoiaPySequoia provides OpenPGP encryption,…
permissive · top 15,000 on PyPI