adafruit / adafruit/circup

3rd Party Bundle Support

Open
#127 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
172
Forks
41
Avg merge
1d 20h
Merged PRs (30d)
1

Description

Today (2021-09-08) Circup can download and install libraries from three bundles:

- Adafruit CircuitPython Bundle
- Community Bundle
- CircuitPython.org Bundle

This issue\discussion is about how to support 3rd party bundles which follow the CP library bundling format. This conversation originally started in a PR to move the references to the bundles from within the code to an JSON configuration file. (https://github.com/adafruit/circup/pull/126)

Proposals at that time included:

## User Supplied Config.json

In addition to the config.json released with circup, look for a config file in [AppDirs](https://pypi.org/project/appdirs/) so that you can look for the config json file first in the user's configuration directory and then to the default list shipped in the package. If a config.json existed in AppDirs, those bundles would be merged with the bundles released with Circup.

## Circup Bundle Management Commands

Add Bundle Management Commands to Circup for _Add_, _Remove_, _Reorder_, display _Info_ for bundles. This would update the configuration JSON.

> I think that summarizes things.. I'll add my own comments\thoughts seperately

Contributor guide

Open the contributing guide

Research direction

Review PR #126 and the shipped config.json approach first, along with the AppDirs proposal. Resolve whether user-supplied configuration, bundle management commands, or both are required, including how bundles are added, removed, reordered, and inspected. Done means Circup can support third-party bundles that follow the CircuitPython library bundling format.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.