--- id: py-ecc version: "8.0.0" license: MIT license_treatment: permissive maintenance: aging --- # py-ecc — py-ecc: Elliptic curve crypto in python including secp256k1, alt_bn128, and bls12_381 License: permissive · Maintenance: aging · Downloads: 1.2M/mo ## What it is and what it does py_ecc provides pure-Python implementations of elliptic curve cryptography for three widely-used curves: secp256k1 (Bitcoin/Ethereum), alt_bn128 (Ethereum 2.0 precompiles), and bls12_381 (modern zero-knowledge proofs and threshold signatures). It depends on eth-typing and eth-utils for type definitions and utility functions. The package is designed for developers building Ethereum-related tools, zero-knowledge proof systems, or other applications requiring these specific curves. It is explicitly marked as experimental and unaudited, making it suitable for research, testing, and non-critical applications but not for production systems handling real cryptographic material without external security review. Use it for: - Building Ethereum wallet or transaction signing tools that need secp256k1 operations. - Implementing or testing BLS threshold signature schemes for consensus protocols. - Developing zero-knowledge proof systems that rely on bls12_381 pairings. - Educational projects exploring elliptic curve mathematics and cryptographic primitives. - Prototyping Ethereum 2.0 beacon chain operations using alt_bn128 curve math. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Implements elliptic curve cryptography operations for secp256k1, alt_bn128, and bls12_381 curves in pure Python. Yes, for research, testing, and Ethereum tooling—but with caution. The package is stable enough for non-production use and has low install friction. However, the explicit lack of audit and experimental status mean it should not be used for applications handling real cryptographic secrets or financial transactions without independent security review and careful threat modeling. ## Install pip install py-ecc uv add py-ecc poetry add py-ecc ## Installing py-ecc Before you install: Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 487 days ago, though the repository remains active with recent commits and moderate community engagement (232 stars). License in practice: MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects. Quickstart: pip install py_ecc from py_ecc.secp256k1 import G, curve_order from py_ecc.bls import G2ProofOfPossession as bls # Use curve primitives or BLS signing operations The library is marked as experimental and has not been audited; unsuitable for production cryptographic use without independent security review. Verify before relying: - Specific performance characteristics or throughput for curve operations at scale. - Whether the experimental code sections are clearly documented or isolated. - Current audit status or any post-release security assessments beyond the initial warning. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 1.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags elliptic curve cryptography python, secp256k1 implementation, bls12-381 curve, ethereum crypto primitives, alt_bn128 operations, ecc python library, ethereum, cryptography, zero-knowledge-proofs [View on SkillFed](https://skillfed.io/packages/py-ecc) · [View on PyPI](https://pypi.org/project/py-ecc/)