-
-
Notifications
You must be signed in to change notification settings - Fork 150
Description
Thanks @miguelgrinberg for this fantastic library. I have lost count of how many times I have recommended it in the MicroPython forums and Discord!
The MicroPython project has recently implemented a long-standing TODO which is to upgrade our package manager and downloadable package index (formerly upip, now mip). See https://docs.micropython.org/en/latest/reference/packages.html
It would be great to be able to say to people "just run >>> mip.install("microdot") (or more usefully, per-implementation targets, e.g. "microdot-async", "microdot-thread" etc). And similarly mpremote mip install microdot for installation from a PC.
In the short term, it would be straightforward to take advantage of the "install-from-github" functionality of mip. See https://github.com/jimmo/micropython-mlx90640 for an example. You could provide a .json file for each of the implementations. The disadvantage of this approach is that the files would not be bytecode compiled, but I am happy to send a PR for this if you're interested.
I suspect that moving microdot into micropython-lib probably isn't what you want, but just in case that does work for you, then that would be an easy solution to just getting it into the index and providing bytecode-compiled versions. This would also immediately enable it to work via require() in a frozen manifest.
We can also investigate a way of adding third-party projects into the index... I'm not super keen on setting a precedent of submodules, but maybe we can come up with something. I'm not sure mirroring the project there is a good idea, but would also work. Maybe we can have a way to have a microdot package that just contains a manifest.py that forwards to here (and make require() able to handle this).