Metadata-Version: 2.1
Name: electrumsv-secp256k1
Version: 0.9.4
Summary: Cross-platform Python libsecp256k1 for ElectrumSV
Home-page: https://github.com/electrumsv/electrumsv-secp256k1
Author: Roger Taylor
Author-email: roger.taylor.email@gmail.com
Maintainer: Roger Taylor
Maintainer-email: roger.taylor.email@gmail.com
License: MIT/Apache-2.0
Download-URL: https://github.com/electrumsv/electrumsv-secp256k1
Keywords: secp256k1,crypto,elliptic curves,bitcoin,bitcoin-sv,bitcoin sv
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Security :: Cryptography
License-File: LICENSE-APACHE
License-File: LICENSE-MIT
Requires-Dist: cffi (>=1.3.0)

electrumsv-secp256k1
====================

::

  Licence: MIT Licence / Apache v2.0 (dual licensed)
  Maintainers: Neil Booth, Roger Taylor
  Project Lead: Roger Taylor
  Language: Python (>=3.6)
  Homepage: https://electrumsv.io/

|azurepipeline_badge|

.. |azurepipeline_badge| image:: https://dev.azure.com/electrumsv/ElectrumSV/_apis/build/status/electrumsv.electrumsv-secp256k1?branchName=master
    :target: https://dev.azure.com/electrumsv/ElectrumSV/_build/latest?definitionId=3&branchName=master
    :alt: Build status on Azure Pipelines

-----

This library provides a wrapped pre-compiled
`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. It effectively encapsulates a
`libsecp256k1 fork <https://github.com/electrumsv/secp256k1>`_
and allows ElectrumSV developers to have a vetted build, with selected public modifications,
available on pypi to treat as a first classed dependency which can be obtained and verified
against a known hash, like any other Python dependency.

Table of Contents
~~~~~~~~~~~~~~~~~

.. contents::
    :backlinks: top
    :local:

Features
--------

- Linux, macOS, and Windows all have binary packages for 64 bit architectures only.
- Linux & macOS use GMP for faster computation
- Implements a fix for `<https://bugs.python.org/issue28150>`_ to support Python 3.6+ on macOS

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

electrumsv-secp256k1 is distributed on PyPI and is available on Linux/macOS and Windows and
supports Python 3.6 and Python 3.7.

.. code-block:: bash

    $ pip install electrumsv-secp256k1

If you are on a system that doesn't have a precompiled binary wheel (e.g. FreeBSD)
then pip will fetch source to build yourself. You must have the necessary packages.

On Debian/Ubuntu for example the necessary packages are:

- build-essential
- automake
- pkg-config
- libtool
- libgmp-dev (optional)

API
---

Anything importing this should be familiar with the underlying libsecp256k1 api.

Credits
-------

- Contributors of `coincurve <https://github.com/ofek/coincurve>`_. At this time this project is
  for the most part a adapted and stripped down version of coincurve for Azure Pipelines.
- Contributors of `libsecp256k1 <https://github.com/bitcoin-core/secp256k1>`_.
- Contributors of `secp256k1-py <https://github.com/ludbb/secp256k1-py>`_.
  While Coincurve is nearly a complete rewrite, much of the build system
  provided by `ulope <https://github.com/ulope>`_ remains.

History
-------

Coincurve history `available here <https://github.com/ofek/coincurve/blob/master/HISTORY.rst>`_.


