GitHub - bitcoindevkit/bdk-python: The Python language bindings for BDK.
bdkpython
The Python language bindings for the bitcoindevkit.
See the package on PyPI.
Working with the submodule
This repository uses the bdk-ffi repository as a git submodule. Here are useful tips for working with the submodule:
- When initially cloning the repo, the
bdk-ffisubmodule will be empty locally. You can intitiate/populate the directory by using thejust submodule-initcommand. - If you make local changes to the
bdk-ffidirectory while developing and want to hard delete all changes and return to the exact committed version hash of the bdk-ffi repo, use thejust submodule-resetcommand.
Local Testing and Usage
- Run one of the build script (skip the submodule update if you are making local changes to the bdk-ffi submodule)
- Sync dependencies with
uv - Create the wheel
- Install the library
- Run the tests
# If you made changes to the bdk-ffi submodule and wish to use those instead of the committed hash bash scripts/generate-macos-arm64.sh --skip-submodule-update # Otherwise bash scripts/generate-macos-arm64.sh uv sync uv build --wheel -v uv pip install ./dist/bdkpython-<yourversion>.whl --force-reinstall uv run python -m unittest --verbose
Build HTML API Documentation (Optional)
- Generate docs
- Build HTML Documentation
uv run python ./docs/generate_docs.py uv run python -m sphinx -b html -W --keep-going -v docs/source docs/_build/html