adafruit/Adafruit_CircuitPython_Bundle

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

Shell

1,008

2,498 commits

updated Oct 15, 2026

See the code

README

Adafruit CircuitPython Library Bundle
=======================================

.. image:: https://readthedocs.org/projects/adafruit-circuitpython-bundle/badge/?version=latest
    :target: https://docs.circuitpython.org/projects/bundle/en/latest/
    :alt: Documentation Status

.. image:: https://img.shields.io/discord/327254708534116352.svg
    :target: https://adafru.it/discord
    :alt: Discord

.. image:: https://travis-ci.com/adafruit/Adafruit_CircuitPython_Bundle.svg?branch=main
    :target: https://travis-ci.com/adafruit/Adafruit_CircuitPython_Bundle
    :alt: Build Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
    :alt: 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 <https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/latest>`_,
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:

.. code::

    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:

.. code::

    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:

.. code::

    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:

.. code::

    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.

.. code::

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

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

.. code::

    source .venv/bin/activate

Then run the build:

.. code::

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

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

circuitpython
hacktoberfest

adafruit/Adafruit_CircuitPython_Bundle

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

Shell

1,008

2,498 commits

updated Oct 15, 2026

See the code

README

Adafruit CircuitPython Library Bundle
=======================================

.. image:: https://readthedocs.org/projects/adafruit-circuitpython-bundle/badge/?version=latest
    :target: https://docs.circuitpython.org/projects/bundle/en/latest/
    :alt: Documentation Status

.. image:: https://img.shields.io/discord/327254708534116352.svg
    :target: https://adafru.it/discord
    :alt: Discord

.. image:: https://travis-ci.com/adafruit/Adafruit_CircuitPython_Bundle.svg?branch=main
    :target: https://travis-ci.com/adafruit/Adafruit_CircuitPython_Bundle
    :alt: Build Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
    :alt: 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 <https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/latest>`_,
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:

.. code::

    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:

.. code::

    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:

.. code::

    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:

.. code::

    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.

.. code::

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

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

.. code::

    source .venv/bin/activate

Then run the build:

.. code::

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

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

circuitpython
hacktoberfest

Project health

Overall

4.1/10

Maintained

10/10

Code review

3/10
OpenSSF Scorecard

Significant stargazers

Avi Miller

186 followers · starred Mar 2023

Ernie Hershey

117 followers · starred Jun 2024

Ilia Sergachev

47 followers · starred Nov 2023

Dominic Davis-Foster

50 followers · starred Jul 2020