/Adafruit_CircuitPython_Bundle

A bundle of useful CircuitPython libraries ready to use from the filesystem.

Primary LanguageShellMIT LicenseMIT

Adafruit CircuitPython Library Bundle

Documentation Status Discord Build Status Code Style: Black

This repo bundles a bunch of useful CircuitPython libraries into an easy to download zip file. CircuitPython boards can ship with the contents of the zip to make it easy to provide a lot of libraries by default.

Use

To use the bundle download the zip (not source zip) from the latest release, unzip it and copy over the subfolders, such as lib, into the root of your CircuitPython device. Make sure to indicate that it should be merged with the existing folder when it exists.

CPython

DO NOT use this to install libraries on a Linux computer, such as the Raspberry Pi, with regular Python (aka CPython). Instead, use the python3 version of pip to install the libraries you want to use. It will automatically install dependencies for you. For example:

pip3 install adafruit-circuitpython-lis3dh

Development

After you clone this repository you must run git submodule init and then git submodule update.

For developing individual libraries, please see LIBRARY_DEVELOPMENT.rst.

Updating libraries

To update the libraries run update-submodules.sh. The script will fetch the latest code and update to the newest tag (not main).

To find libraries with commits that haven't been included in a release do:

git submodule foreach "git log --oneline HEAD...origin/main"

Adding a library

Determine the best location within libraries (libraries/drivers/ or libraries/helpers/)for the new library and then run:

git submodule add <git url> libraries/<target directory>

The target directory should omit any CircuitPython specific prefixes such as adafruit-circuitpython to simplify the listing.

Removing a library

Only do this if you are replacing the module with an equivalent:

git submodule deinit libraries/<target directory>
git rm libraries/<target directory>

Building the bundle

To build this bundle locally you'll need to install the circuitpython-build-tools package.

python3 -m venv .venv
source .venv/bin/activate
pip install circuitpython-build-tools

Once installed, make sure you are in the virtual environment:

source .venv/bin/activate

Then run the build:

circuitpython-build-bundles --filename_prefix adafruit-circuitpython-bundle --library_location libraries --library_depth 2