NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2437 most downloaded on PyPI
py-ecc: Elliptic curve crypto in python including secp256k1, alt_bn128, and bls12_381
Last release 9 months ago
17 Dec 2025
Release timing varies
gaps range from 2 months to 2.0 years
Some releases are documented
notes for 16 of 29 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
32 releases · first in 2017
Bump version: 8.0.0 → 9.0.0-beta.1
Bump version: 8.0.0 → 9.0.0-beta.1
Drop support for Python 3.8 and 3.9 ( #158 )
Add support for Python 3.14 ( #158 )
Return early for point at infinity when possible for double() and multiply() methods. ( #156 )
Bump version: 8.0.0-beta.2 → 8.0.0
Bump version: 8.0.0-beta.2 → 8.0.0
One column per quarter.
Bump version: 8.0.0-beta.1 → 8.0.0-beta.2
Bump version: 8.0.0-beta.1 → 8.0.0-beta.2
Add support for 3.13 in CI and lib metadata. ( #148 )
Merge template updates, notably moving from bumpversion to bump-my-version and moving docs from the README to ReadTheDocs ( #149 )
Remove unused cached-property dependency. ( #152 )
Reenable from py_ecc import * post-lazyloading. ( #153 )
Bump version: 7.0.1 → 8.0.0-beta.1
Bump version: 7.0.1 → 8.0.0-beta.1
Updated typing across the library ( #143 )
Set ecdsa_raw_recover to only accept v values of 27 or 28 ( #145 )
Add docstrings to secp256k1 ( #141 )
Added lt to FQ classes ( #143 )
Add hash-to-curve functions for the G1 curve ( #146 )
Replace non-test instances of assert statments with better validation ( #142 )
Lazy-load submodules to reduce initial import time ( #135 )
Bump version: 7.0.0 → 7.0.1
Bump version: 7.0.0 → 7.0.1
Template updates, notably adding python 3.12 support ( #138 )
#139
Bump version: 6.0.0 → 7.0.0
Bump version: 6.0.0 → 7.0.0
Drop support for python 3.6 and 3.7 ( #130 )
Add support for python 3.11 ( #130 )
Merge changes from python project template, including using pre-commit for linting and change the name of the master branch to main ( #130 )
Bump version: 5.2.0 → 6.0.0
Bump version: 5.2.0 → 6.0.0
2021-12-16
Fix x1 point check ( https://github.com/ethereum/py_ecc/pull/121 )
Bump eth-typing dependency requirement ( https://github.com/ethereum/py_ecc/pull/123 )
Bump eth-utils dependency requirement ( https://github.com/ethereum/py_ecc/pull/123 )
Drop support for Python 3.5 ( https://github.com/ethereum/py_ecc/pull/123 )
Add support for Python 3.9 and 3.10 ( https://github.com/ethereum/py_ecc/pull/123 )
Bump version: 5.1.0 → 5.2.0
Bump version: 5.1.0 → 5.2.0
2021-03-09
Fix prime_field_inv edge case ( https://github.com/ethereum/py_ecc/pull/114 )
Extract subgroup_check from signature_to_G2 ( https://github.com/ethereum/py_ecc/pull/116 )
Add G1 and G2 point value check ( https://github.com/ethereum/py_ecc/pull/117 )
Fix README example ( https://github.com/ethereum/py_ecc/pull/115 )
Bump version: 5.0.0 → 5.1.0
Bump version: 5.0.0 → 5.1.0
2020-11-16
Fix BLS G1 and G2 deserialization https://github.com/ethereum/py_ecc/pull/110
Fix to follow IETF BLS draft 04 point at infinity checking procedure https://github.com/ethereum/py_ecc/pull/107
2020-10-01 - Implement IETF BLS draft 04
2020-10-01
Implement IETF BLS draft 04 ( https://github.com/ethereum/py_ecc/pull/103 )
- Optimize BLS-12-381: Miller loop is now 33% faster
2020-09-23
Implement IETF BLS draft 03 ( https://github.com/ethereum/py_ecc/pull/102 )
Optimize BLS-12-381: Miller loop is now 33% faster ( https://github.com/ethereum/py_ecc/pull/100 )
Improve final exponentiation efficiency ( https://github.com/ethereum/py_ecc/pull/101 )
- Implement IETF hash-to-curve draft 07
2020-05-13
Implement IETF hash-to-curve draft 07 ( https://github.com/ethereum/py_ecc/pull/94 )
- Fix optimized_swu + update error messages
2020-05-12
Fix optimized_swu + update error messages ( https://github.com/ethereum/py_ecc/pull/97 )
IETF BLS v2 + hash-to-curve v6
IETF BLS v2 + hash-to-curve v6
2020-05-12
Implement IETF BLS signature draft 02 + hash-to-curve draft 06 ( https://github.com/ethereum/py_ecc/pull/87 )
Fixes Typing errors for points at infinity (NoneTypes) ( https://github.com/ethereum/py_ecc/pull/89 )
- Implement IETF BLS signature draft 00
- Introduce the Domain type as an alias for bytes of size 8 in BLS package.
2019-07-12
Introduce the Domain type as an alias for bytes of size 8 in BLS package.
- Update hash function for BLS Signatures https://github.com/ethereum/py_ecc/pull/70
2019-05-23
Update hash function for BLS Signatures https://github.com/ethereum/py_ecc/pull/70
- Add BLS Signature APIs https://github.com/ethereum/py_ecc/pull/52
2019-03-14
Add BLS Signature APIs https://github.com/ethereum/py_ecc/pull/52
Maintenance: several refactors to reduce duplicated code
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- Bugfix for safe_ord helper function.
Bugfix for safe_ord helper function.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →