CircuitPython Libraries

The CircuitPython Library Bundle contains all current libraries available for CircuitPython. They are designed for use with CircuitPython and may or may not work with MicroPython. The bundle options are explained below.

CircuitPython libraries are written in Python. They provide additional functionality and support external devices, beyond what is in CircuitPython itself. Libraries are stored on your CIRCUITPY drive in a folder called lib. For more information on using and managing libraries, see the Welcome To CircuitPython Guide.

Documentation

The libraries documentation page contains a categorized list of all the CircuitPython libraries included in the following bundles, with links to the documentation for every library.

Download and Installation Instructions

You can download all the available libraries in a zip-file bundle for all recent major versions of CircuitPython. These bundles are updated daily, whenever any included library is updated.

The libraries in each release are supplied as .mpy files, which are compiled versions of Python source code. Make sure to download the bundle that matches the major version of your CircuitPython, because the .mpy files can change between versions. For example, if you are running 8.2.7 you should download the 8.x bundle.

The precompiled .mpy files take up less space on your CIRCUITPY drive than the .py files. They also load faster, and for some low-RAM boards, are required because the .py files are too large to compile on the board itself. Unless you need the source version, choose the appropiate .mpy library bundle! If you need to compile .py files to .mpy, you can run the mpy-cross cross-compiler yourself.

To install, download the appropriate bundle for your version of CircuitPython. Unzip the file, open the resulting folder and find the lib folder. Open the lib folder and find the library files you need to load. Create a lib folder on your CIRCUITPY drive. Copy the individual library files you need to the lib folder on your CIRCUITPY drive. More details are available here.

You can always find the latest releases of the libraries bundle on GitHub.

An alternative way to download and update libraries on your board is to use the CircUp tool, which is under development.

Bundles

Bundle for Version 8.x

This bundle is built for use with CircuitPython 8.x.x. If you are using CircuitPython 8, please download this bundle.

Bundle for Version 9.x

This bundle is built for use with CircuitPython 9.x.x. If you are using CircuitPython 9, please download this bundle. The .mpy format has changed as of CircuitPython 9, so 8.x libraries are not compatible.

Bundles for Older Versions

If you need a bundle for an older version of CircuitPython, see this list.

Python Source Bundle

This bundle is the latest uncompiled Python source code for every library. It is not intended for general use! It is only recommended if you need to edit a library file. This bundle works with all supported versions of CircuitPython.

Examples Bundle

Every CircuitPython library has examples to go along with it. This bundle contains every library example. This bundle will have examples that require the latest version of CircuitPython, and therefore contains files that may not work with all versions.

The Community Bundle

The libraries in the bundles above are officially supported by Adafruit. Additional libraries written and supported by community members are available in the Community Bundle.

Bundle for Version 8.x

This bundle is built for use with CircuitPython 8.x.x. If you are using CircuitPython 8, please download this bundle.

Bundle for Version 9.x

This bundle is built for use with CircuitPython 9.x.x. If you are using CircuitPython 9, please download this bundle. The .mpy format has changed as of CircuitPython 9, so 8.x libraries are not compatible.

Bundle for Older Versions

If you are looking for Community Bundles for older versions of CircuitPython, you can find them on GitHub.

Python Source Bundle

This bundle is the uncompiled Python source code for every community library. It is not intended for general use! It is only recommended if you need to edit a library file. This bundle works with all supported versions of CircuitPython.

Contributing

If you'd like to contribute to the CircuitPython project, the CircuitPython libraries are a great way to begin. Everyone is welcome to contribute! Regardless of your experience level, we have many resources to get you started. Check out the Contributing page for detailed information!

Find out more about how you can contribute to CircuitPython libraries.

Library Activity for Week of Mon, Mar 18, 2024

Thank you to all of our contributors!

This week there were 19 pull requests merged:

New Libraries