skillfed

ECPy

Pure Pyhton Elliptic Curve Library

ecpy v1.2.5 267.8K downloads/30d#8,286 on PyPI40
Permissive license Apache License - Version 2.0 AGING released

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 ecpy

uv

uv add ecpy

poetry

poetry add ecpy

Installing 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

Development Status :: 4 - BetaLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: Security :: Cryptography

Tags

elliptic curve cryptographyECDSA signing libraryEdDSA Ed25519 implementationelliptic curve point operationspure python cryptographyECSchnorr signaturessecp256k1 curve support
elliptic-curvepure-pythoncryptography

More Cryptography packages