Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

Updating to 1.0.4 from 1.0.2:
  > Merge pull request CedarGroveStudios/CircuitPython_AirQualityTools#3 from jepler/correct-metadata
  > Merge pull request CedarGroveStudios/CircuitPython_AirQualityTools#2 from tekktrik/dev/update-ci

Updating to 1.0.5 from 1.0.3:
  > Merge pull request CedarGroveStudios/CircuitPython_RGB_SpectrumTools#2 from jepler/metadata
  > Update pyproject.toml
  > Update pyproject.toml
  > Update pyproject.toml
  > remove blender
  > add two_color_blender class
  > Update docs
  > Merge pull request CedarGroveStudios/CircuitPython_RGB_SpectrumTools#1 from tekktrik/dev/update-ci
  > update pylint to v2.15.5
  > fix pylint error
  > fix pylint error
  > fix pylint error
  > fix pylint errors
  > fix pylint error
  > update docs

Updating to 1.0.3 from 1.0.1:
  > Merge pull request CedarGroveStudios/CircuitPython_TemperatureTools#3 from jepler/metadata
  > Merge pull request CedarGroveStudios/CircuitPython_TemperatureTools#2 from jposada202020/main
  > Merge branch 'main' of
  > fix black error
  > update pylint version

Git stats


Failed to load latest commit information.

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.


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.


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.


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 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{:user}/{:repo}.git, such as 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 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 <>_ 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: