Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adafruit/circuitpython_community_bundle
A bundle of useful CircuitPython libraries from the CircuitPython community.
https://github.com/adafruit/circuitpython_community_bundle
circuitpython
Last synced: 2 days ago
JSON representation
A bundle of useful CircuitPython libraries from the CircuitPython community.
- Host: GitHub
- URL: https://github.com/adafruit/circuitpython_community_bundle
- Owner: adafruit
- License: mit
- Created: 2017-07-26T01:10:28.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-01-17T05:14:56.000Z (5 days ago)
- Last Synced: 2025-01-19T21:06:03.825Z (2 days ago)
- Topics: circuitpython
- Language: Shell
- Size: 624 KB
- Stars: 176
- Watchers: 32
- Forks: 86
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CircuitPython Community Library Bundle
[![Doc Status](https://readthedocs.org/projects/circuitpython/badge/?version=latest)](https://circuitpython.readthedocs.io/en/latest/docs/drivers.html) [![Discord](https://img.shields.io/discord/327254708534116352.svg)](https://adafru.it/discord)
![Blinka Community](https://github.com/adafruit/CircuitPython_Community_Bundle/blob/main/adafruit_circuitpython_community_bundle_100_large.png)
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.# License
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.# Use
To use the bundle download the zip (not source zip) from the
[latest release](https://github.com/adafruit/CircuitPython_Community_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.# Development
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 `update-submodules.sh`. The script will fetch the
latest code and update to the newest tag (not master).## Expectations for Library Inclusion
You're interested in having your library included in the Community Bundle? Great! Here are some things to keep in mind:* The subject and content of your library has to be compatible with the [Adafruit Community Code of Conduct](CODE_OF_CONDUCT.md)
* Tagged release of the library must be compatible with [circuitpython-build-tools](https://github.com/adafruit/circuitpython-build-tools). The best way to ensure this is to use Github Actions with files like those produced by our [Cookie Cutter](https://github.com/adafruit/cookiecutter-adafruit-circuitpython/)
* If your library has a problematic release that impacts Community Bundle releases, you will do your best to resolve it in a timely manner
* If future changes to circuitpython-build-tools impact your library, you will do your best to resolve it in a timely manner (we try to keep breaking changes to a minimum, but they do happen!)If a particular library is causing problems for distribution in the Community Bundle we may temporarily drop it or hold it at an old revision, so that we can continue making Community Bundle releases.
## Adding a library
Determine the best location within `libraries` for the new library and then run:git submodule add libraries/
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 `https://github.com/{:user}/{:repo}.git`,
such as `https://github.com/tannewt/CircuitPython_Example.git`. Other forms may interfere with
adabot scripts (see https://github.com/adafruit/adabot/issues/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 [circuitpython_community_library_list.md](circuitpython_community_library_list.md) 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/
git rm libraries/## 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-toolsOnce installed, make sure you are in the virtual environment:
source .env/bin/activate
Then run the build:
./build.sh