ECPy
Pure Pyhton Elliptic Curve Library
What it is and what it does
ECPy is a pure Python implementation of elliptic curve cryptography, providing multiple signature schemes (ECDSA, EdDSA/Ed25519, ECSchnorr, Borromean) and low-level point arithmetic operations on elliptic curves. It supports standard curves like secp256k1 and allows you to construct keys, sign messages, verify signatures, and perform point operations directly in Python without compiled dependencies.
The library is designed for developers who need elliptic curve operations in pure Python—useful for educational purposes, prototyping, or environments where compiled cryptographic libraries are unavailable. It handles curve definitions, key management, and signature verification, though its aging maintenance status (last release October 2020) means it may lack recent security improvements or compatibility fixes.
Use it for:
- Implementing ECDSA signing and verification for blockchain or cryptocurrency applications using secp256k1
- Educational projects learning elliptic curve cryptography and signature schemes
- Prototyping cryptographic protocols that require EdDSA or ECSchnorr signatures
- Performing elliptic curve point arithmetic for mathematical or cryptographic research
- Building pure-Python cryptographic systems where compiled dependencies are not available
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ECPy is a pure Python elliptic curve library providing ECDSA, EdDSA (Ed25519), ECSchnorr, and Borromean signature schemes, along with elliptic curve point operations.
Yes, with caution. ECPy is suitable for educational use, prototyping, and non-critical applications where pure Python is required. However, for production systems handling sensitive data, consider whether the aging maintenance (last release October 2020) and lack of recent security updates pose acceptable risk. No known vulnerabilities are recorded, but the long gap since the last release means undetected issues may exist. Verify compatibility with your Python version and security requirements before use.
Install
ecpy on PyPI
pip
pip install ecpyuv
uv add ecpypoetry
poetry add ecpyInstalling ECPy
Before you install
Low install friction with no runtime dependencies. Maintenance is aging—last release was in October 2020, over five years ago, though the repository remains active with recent commits and no archived status.
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
from ecpy.curves import Curve, Point
from ecpy.keys import ECPrivateKey
from ecpy.ecdsa import ECDSA
cv = Curve.get_curve('secp256k1')
pv_key = ECPrivateKey(0xfb26a4e75eec75544c0f44e937dcf5ee6355c7176600b9688c667e5c283b43c5, cv)
signer = ECDSA()
sig = signer.sign(b'message', pv_key)
Verify before relying
- Whether the library is actively maintained for security patches despite the long gap since the last release
- Current compatibility with modern Python versions beyond what classifiers indicate
- Whether the library has undergone security audits or formal verification
Package facts
| License | Apache License - Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 2,118 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 267,758/month — #8,286 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ECPy-1.2.5-py3-none-any.whl
Keywords: ecdsa, eddsa, ed25519, ed448, schnorr, ecschnorr, elliptic, curve
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
crypto-cpp-pyProvides hashing and signing operations for…
unclear · top 15,000 on PyPI
eciespyEncrypts and decrypts data using Elliptic Curve…
permissive · top 15,000 on PyPI
pure25519Pure-Python implementation of Curve25519 and…
permissive · top 15,000 on PyPI
ecdsaPure-Python implementation of ECDSA, EdDSA, and…
permissive · top 1,000 on PyPI
py-eccImplements elliptic curve cryptography…
permissive · top 5,000 on PyPI
lightdsaLightDSA provides digital signature generation…
permissive · top 15,000 on PyPI
starkbank-ecdsaPure Python ECDSA implementation supporting…
permissive · top 5,000 on PyPI
lighteccLightECC provides elliptic curve arithmetic…
permissive · top 15,000 on PyPI
coincurvecoincurve provides Python bindings to…
permissive · top 5,000 on PyPI
sslcryptoProvides AES, ECIES, and ECDSA cryptographic…
unclear · top 15,000 on PyPI