circup
circup copied to clipboard
Handle versions of CircuitPython without current bundles
Currently, circup only handles the versions of CircuitPython that are listed in https://github.com/adafruit/circup/blob/f0d51771e2e5d04460795ad27ab15745b3bc1fb9/circup/init.py#L58.
Proposal: handle all versions.
- Remove version check.
- Attempt to find the latest bundle for the detected version.
- If no bundle can be found, download a "latest" version that is kept on AWS S3. These bundles will be a copy of the "last available" bundle for a version of CircuitPython, listed here: https://learn.adafruit.com/welcome-to-circuitpython/frequently-asked-questions#faq-3105289. But the AWS S3 copy should be renamed so it does not include the timestamp. This will allow it to be updated without having to update circup.
- If no "latest" bundle can be found for a deprecated version, then fail with an informative message.
These changes will make it unnecessary to update circup when we add a new major version of CircuitPython or deprecate an old one.
I have populated https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bundles/adafruit/deprecated/ in preparation for this.