Skip to main content

Simple python bindings to libsecp256k1

Project description

btclib_libsecp256k1

python pypi downloads status license imports: isort code style: black lint: flake8 lint: pylint type-check: mypy type-check: pyright security: bandit pre-commit.ci status build test

Follow on Twitter


Browse GitHub Code Repository


Simple python bindings to libsecp256k1 (v0.2.0). It is intended to be used with the btclib library.

To install (and/or upgrade):

python -m pip install --upgrade btclib_libsecp256k1

Build, test, develop, and contribute

Disclaimer: building and testing on Windows is not currently supported; Windows support is achieved with cross compilation

The btclib_libsecp256k1 project includes libsecp256k1 as submodule in the secp256k1 folder. By default, when cloning a project you get the directories that contain submodules, but none of the files within them. You must run git submodule init to initialize your local configuration file, and git submodule update to fetch the submodule data and check out the appropriate commit.

$ git submodule init
Submodule 'secp256k1' (git@github.com:bitcoin-core/secp256k1.git) registered for path 'secp256k1'
$ git submodule update
Cloning into 'secp256k1'...

The project uses hatch as a project manager.

Some additional tools are required to develop and test btclib_libsecp256k1; they can be installed with:

python -m pip install -U nox cibuildwheel pre-commit

To build:

hatch build -t sdist
hatch build -t wheel

Developers might also consider installing btclib_libsecp256k1 in editable way::

python -m pip install --upgrade -e ./

To test:

hatch -e test run pytest

To measure the code coverage provided by tests:

hatch -e test run pytest --cov-report term-missing:skip-covered --cov=btclib_libsecp256k1

It is however recommended to use nox to better isolate tests

nox -s tests

To format the code

hatch -e dev run format

To run re-commit hooks

hatch -e dev run pre_commit

Please run nox to check everything before a PR

nox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

btclib_libsecp256k1-0.4.0.tar.gz (7.4 MB view hashes)

Uploaded Source

Built Distributions

btclib_libsecp256k1-0.4.0-py3-none-win_amd64.whl (1.4 MB view hashes)

Uploaded Python 3 Windows x86-64

btclib_libsecp256k1-0.4.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.3 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

btclib_libsecp256k1-0.4.0-py3-none-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded Python 3 macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-pp310-pypy310_pp73-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-pp39-pypy39_pp73-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-pp38-pypy38_pp73-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-pp37-pypy37_pp73-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded PyPy macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

btclib_libsecp256k1-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

btclib_libsecp256k1-0.4.0-cp312-cp312-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.12 macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

btclib_libsecp256k1-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

btclib_libsecp256k1-0.4.0-cp311-cp311-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

btclib_libsecp256k1-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

btclib_libsecp256k1-0.4.0-cp310-cp310-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

btclib_libsecp256k1-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

btclib_libsecp256k1-0.4.0-cp39-cp39-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

btclib_libsecp256k1-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

btclib_libsecp256k1-0.4.0-cp38-cp38-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 macOS 10.16+ x86-64

btclib_libsecp256k1-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

btclib_libsecp256k1-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

btclib_libsecp256k1-0.4.0-cp37-cp37m-macosx_10_16_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.7m macOS 10.16+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page