This project builds a Python library, rgb-lib
, for the rgb-lib
Rust library, which is included as a git submodule. The bindings are created by
the rgb-lib-uniffi project, which is located inside the rgb-lib submodule.
Install the latest release by running:
pip install rgb-lib
The demo/
directory contains a demonstration of the most common operations in
the form of a Jupyter notebook. See the included README.md
file for more
details.
In order to install the project locally, run:
# Update the submodule
git submodule update --init
# Generate the bindings
./generate.sh
# Build the source and wheels archives
poetry build
# Install the wheel (replacing <version> with built version)
pip install ./dist/rgb_lib-<version>-py3-none-any.whl
# or install the sdist (replacing <version> with built version)
pip install ./dist/rgb_lib-<version>.tar.gz
In order to build the project in a Docker container, run:
# Update the submodule
git submodule update --init
# run the build script
./build_in_docker.sh
The build_in_docker.sh
script will build the docker image and use it to first
generate the bindings, then build the source and wheel archives. Once the build
completes, archives will be available in the dist/
directory as if they were
built locally.
Publishing to PyPI is handled with Poetry.
To configure the access token, which only needs to be done once, run:
poetry config pypi-token.pypi <token>
To publish a new release run:
poetry publish