Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Thoughts on Package Management for CircuitPython

Package Management for CircuitPython

Nothing formal written up on this yet, but I think we're seeing the download the zip file approach start to become brittle. Already there are two different bundles. My initial thought is why not have a cpip (or modify circup) and use PyPi. One thing I like about this is that it teaches new programmers things they need to learn if they also do Python programming. I've not done any real research into the technical parts of this yet, but in an ideal world, a fork of pip or some modular components of pip could be used to drive the core logic of version checking and install and the CP specific parts that deal with the board would be the additional functionality.

@askpatrickw
Copy link
Author

askpatrickw commented Jun 27, 2021

Could pip --implementation have mpy added?

--implementation
Only use wheels compatible with Python implementation , e.g. 'pp', 'jy', 'cp', or
'ip'. If not specified, then the current interpreter implementation is used. Use 'py' to force
implementation-agnostic wheels.

@askpatrickw
Copy link
Author

askpatrickw commented Jun 27, 2021

Or a CP PyPi...

Package Index Options:
-i, --index-url Base URL of the Python Package Index (default https://pypi.org/simple). This should point to a
repository compliant with PEP 503 (the simple repository API) or a local directory laid out in the
same format.
--extra-index-url Extra URLs of package indexes to use in addition to --index-url. Should follow the same rules as
--index-url.
--no-index Ignore package index (only looking at --find-links URLs instead).
-f, --find-links If a URL or path to an html file, then parse for links to archives such as sdist (.tar.gz) or wheel
(.whl) files. If a local path or file:// URL that's a directory, then look for archives in the
directory listing. Links to VCS project URLs are not supported.

@aivarannamaa
Copy link

aivarannamaa commented Jun 28, 2021

@askpatrickw, Here is my investigation concerning --implementation: aivarannamaa/minipip#6

You may also find aivarannamaa/minipip#5 and https://github.com/aivarannamaa/packaging_experiment interesting

@askpatrickw
Copy link
Author

askpatrickw commented Aug 11, 2021

@Thynix
Copy link

Thynix commented Jan 11, 2022

I haven't seen mention of it, so I'll offer that Mu Editor support for whatever the package management ends up looking like would be helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment