py-sr25519-bindings
Python bindings for schnorrkel RUST crate
What it is and what it does
py-sr25519-bindings wraps the Schnorr signature algorithm from the Rust schnorrkel library, exposing sr25519 cryptographic operations to Python. It provides functions to derive key pairs from seeds, sign messages, and verify signatures—operations essential for blockchain and distributed systems that use sr25519 (notably Polkadot and Kusama). The package ships as pre-compiled wheels for multiple Python versions and platforms, avoiding the need to build Rust code locally in most cases.
The library has no runtime dependencies beyond Python itself, making it lightweight to integrate. It is intended for developers building blockchain clients, wallets, or other applications that need sr25519 signing and verification. The permissive Apache 2.0 license and active maintenance status (last release 60 days ago) make it suitable for production use, though the small repository star count suggests a specialized rather than widely-adopted tool.
Use it for:
- Derive and manage sr25519 key pairs in Python-based Polkadot or Kusama wallet implementations.
- Sign and verify blockchain transactions using sr25519 signatures in custom trading or automation bots.
- Integrate Schnorr signature verification into Python services that validate messages from sr25519-based networks.
- Build cryptographic testing or reference implementations that require sr25519 operations alongside BIP39 seed generation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to the sr25519 Rust cryptographic library for Schnorr signature operations, enabling key derivation, signing, and verification in Python applications.
Yes, if you need sr25519 signatures in Python. The package is actively maintained, has no runtime dependencies, ships pre-compiled wheels for most platforms, and carries a permissive license. Install friction is medium due to compiled bindings, but pre-built wheels eliminate local compilation for standard environments. Not worth installing if you don't specifically need Schnorr signatures or are working outside blockchain/Polkadot ecosystems.
Install
py-sr25519-bindings on PyPI
pip
pip install py-sr25519-bindingsuv
uv add py-sr25519-bindingspoetry
poetry add py-sr25519-bindingsInstalling py-sr25519-bindings
Before you install
Medium install friction due to compiled Rust bindings; wheels are pre-built for Python 3.7–3.14 across Linux (manylinux, musl), macOS, and Windows, reducing the need for local compilation in most environments.
License in practice
Licensed under Apache License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install py-sr25519-bindings
import sr25519
message = b"test"
public_key, private_key = sr25519.pair_from_seed(seed_bytes)
signature = sr25519.sign((public_key, private_key), message)
if sr25519.verify(signature, message, public_key):
print('Verified')
Requires a seed or key material as input; the example in the description uses bip39 for seed derivation, which is a separate dependency not included in this package.
Verify before relying
- Whether the package is actively maintained beyond the last commit date (2026-06-15) or if the repository is in maintenance-only mode.
- Performance characteristics and security audit status of the underlying Rust bindings relative to other sr25519 implementations.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 60 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 496,852/month — #6,335 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: py_sr25519_bindings-0.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; py_sr25519_bindings-0.2.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; py_sr25519_bindings-0.2.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; py_sr25519_bindings-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; py_sr25519_bindings-0.2.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; py_sr25519_bindings-0.2.4-cp310-cp310-musllinux_1_2_aarch64.whl; py_sr25519_bindings-0.2.4-cp310-cp310-musllinux_1_2_armv7l.whl; py_sr25519_bindings-0.2.4-cp310-cp310-musllinux_1_2_i686.whl; py_sr25519_bindings-0.2.4-cp310-cp310-musllinux_1_2_x86_64.whl; py_sr25519_bindings-0.2.4-cp310-cp310-win_amd64.whl; py_sr25519_bindings-0.2.4-cp311-cp311-macosx_10_12_x86_64.whl; py_sr25519_bindings-0.2.4-cp311-cp311-macosx_11_0_arm64.whl; py_sr25519_bindings-0.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; py_sr25519_bindings-0.2.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; py_sr25519_bindings-0.2.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; py_sr25519_bindings-0.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; py_sr25519_bindings-0.2.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl; py_sr25519_bindings-0.2.4-cp311-cp311-musllinux_1_2_aarch64.whl; py_sr25519_bindings-0.2.4-cp311-cp311-musllinux_1_2_armv7l.whl; py_sr25519_bindings-0.2.4-cp311-cp311-musllinux_1_2_i686.whl
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
py-bip39-bindingsProvides Python bindings to the tiny-bip39 Rust…
permissive · top 15,000 on PyPI
py-ed25519-zebra-bindingsProvides Python bindings to the ed25519-zebra…
permissive · top 15,000 on PyPI
smoldot-lightPython bindings for the smoldot_light Rust…
unclear · top 15,000 on PyPI
x25519Provides pure Python implementations of…
permissive · top 15,000 on PyPI
ed25519-blake2b-forkProvides Python bindings to Ed25519 digital…
permissive · top 15,000 on PyPI
soldersSolders is a high-performance Python toolkit…
unclear · top 5,000 on PyPI
diffiehellmanlibGenerates Diffie-Hellman key exchange…
permissive · top 15,000 on PyPI
bittensor-drandProvides timelock encryption for Bittensor…
permissive · top 15,000 on PyPI
chia-rsProvides Python bindings to Rust crates for…
unclear · top 15,000 on PyPI
securesystemslibSecuresystemslib provides a cryptography…
permissive · top 5,000 on PyPI