Cross-platform Python CFFI bindings for libsecp256k1
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
ofek 7553f23595 upgrade 7 years ago
.travis upgrade 7 years ago
_cffi_build forget about der/pem for now 7 years ago
coincurve support 3.3 7 years ago
tests complete tests 7 years ago
.coveragerc begin 7 years ago
.gitattributes 🍭 Added .gitattributes & .gitignore files 7 years ago
.gitignore begin 7 years ago
.travis.yml upgrade 7 years ago
LICENSE begin 7 years ago
MANIFEST.in try a thing 7 years ago
README.rst support 3.3 7 years ago
release.py try things 7 years ago
setup.cfg try a thing 7 years ago
setup.py ofc 7 years ago
setup_support.py add .dll detection 7 years ago
tox.ini upgrade 7 years ago
upload.py . 7 years ago

README.rst

Coincurve
=========

.. image:: https://img.shields.io/pypi/v/coincurve.svg?style=flat-square
:target: https://pypi.org/project/coincurve

.. image:: https://img.shields.io/travis/ofek/coincurve.svg?branch=master&style=flat-square
:target: https://travis-ci.org/ofek/coincurve

.. image:: https://img.shields.io/pypi/pyversions/coincurve.svg?style=flat-square
:target: https://pypi.org/project/coincurve

.. image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
:target: https://en.wikipedia.org/wiki/MIT_License

-----

This library provides well-tested Python CFFI bindings for
`libsecp256k1 <https://github.com/bitcoin-core/secp256k1>`_, the heavily
optimized C library used by `Bitcoin Core <https://github.com/bitcoin/bitcoin>`_
for operations on elliptic curve secp256k1.

Coincurve replaces `secp256k1-py <https://github.com/ludbb/secp256k1-py>`_.

New features include:

- Support for Windows
- Linux, macOS, and Windows all have binary packages for both 64 and 32-bit architectures
- Linux & macOS use GMP for faster computation
- Endomorphism optimization is enabled
- A global context is used by default, drastically increasing performance
- A fix to remove CFFI warnings
- Each release uses newest version of `libsecp256k1 <https://github.com/bitcoin-core/secp256k1>`_
- Implements a fix for `<https://bugs.python.org/issue28150>`_ to support Python 3.6+ on macOS

**To retain backward compatibility with secp256k1-py, use coincurve version 2.1.1 specifically!**
Anything after that has a modified (cleaner :) API.

Installation
------------

Coincurve is distributed on PyPI and is available on Linux/macOS and Windows and
supports Python 3.3+ and PyPy3.3-5.5+.

.. code-block:: bash

$ pip install coincurve

API
---