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.


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 6.3.0 you should download the 6.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.


Bundle for Version 6.x

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

Bundle for Version 7.x

This bundle is built for use with CircuitPython 7.x.x. If you are using CircuitPython 7, please download this bundle. The .mpy format has changed for CircuitPython 7; 6.x .mpy files are not compatible.

Python Source Bundle

This bundle is the 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. Additional libraries written and supported by community members are available in the Community Bundle.


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 Thu, Sep 09, 2021

Thank you to all of our contributors!

This week there were 9 pull requests merged: