Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adafruit/adafruit_circuitpython_bundle

A bundle of useful CircuitPython libraries ready to use from the filesystem.
https://github.com/adafruit/adafruit_circuitpython_bundle

circuitpython hacktoberfest

Last synced: about 5 hours ago
JSON representation

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

Awesome Lists containing this project

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 `_,
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 libraries/

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/
git rm libraries/

Building the bundle
--------------------
To build this bundle locally you'll need to install the
`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