/CircuitPython_Community_Bundle

A bundle of useful CircuitPython libraries from the CircuitPython community.

Primary LanguageShellMIT LicenseMIT

CircuitPython Community Library Bundle

Doc Status Discord

Blinka Community

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.

License

Each included library has its own license that must allow for redistribution. To save space, license text is not included in the bundle. However, a link to each individual repository is which should provide source code access and license information.

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.

Development

After you clone this repository you must run git submodule init on update also do git submodule update.

Updating libraries

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

Adding a library

Determine the best location within libraries for the new library and then run:

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

The target directory should omit any MicroPython or CircuitPython specific prefixes such as CircuitPython_ to simplify the listing.

You should make sure that the git url has the format https://github.com/{:user}/{:repo}.git, such as https://github.com/tannewt/CircuitPython_Example.git. Other forms may interfere with adabot scripts (see adafruit/adabot#145 for details).

The repository must have a tag, as the bundle release process pulls the latest tag, usually matching a release of your library. The tag must follow the Semver format (such as 1.2.3).

The circuitpython_community_library_list.md page is manually updated. Please add your library to the list with the relevant links to the repository, pypi page and documentation if available.

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 <https://github.com/adafruit/circuitpython-build-tools>_ package.

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

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

source .env/bin/activate

Then run the build:

./build.sh