py-sr25519-bindings
Python bindings for schnorrkel RUST crate
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- 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 · maintenance · safety
permissive license (permissive) — Licensed under Apache License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
last release 2026-06-15 (60 days) · last repo commit 2026-06-15 · 9 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 496,852 downloads/mo, #6,335 on PyPI
Alternatives
Verify before relying
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')- 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.
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 on it.
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
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.
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.
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')
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 | permissive license 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 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “sr25519 python bindings”
- py-sr25519-bindingsProvides Python bindings to the sr25519 Rust cryptographic library…
- PyQt5-sipPyQt5-sip provides the runtime support module for PyQt5 bindings,…
- PyGObjectPyGObject provides Python bindings for GObject-based libraries such…
Give your agent the search over MCP, or paste the wish link into any chat.
More Cryptography packages
Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.
cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.
Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.
PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.
See also py-bip39-bindings · py-ed25519-zebra-bindings · smoldot-light · x25519 · ed25519-blake2b-fork · solders · diffiehellmanlib · bittensor-drand · chia-rs · securesystemslib