pycopy-lib icon indicating copy to clipboard operation
pycopy-lib copied to clipboard

Feature: allow upip to install packages by URL

Open rvalle opened this issue 6 years ago • 2 comments

I am new to micropython, I am figuring out how to keep my application up to date over the air.

Since code is small and connectivity good, I was thinking on pip installing my python code on every boot.

upip seems to do most of it, download, unpack, install etc, but then:

https://github.com/pfalcon/pycopy-lib/blob/39464d7163a9545464bd4e7ea197df01e8b0a41a/upip/upip.py#L294

Why?

Otherwise, what is the recommended method to OTA update my micropython application?

rvalle avatar Mar 11 '20 15:03 rvalle

Note: only Pycopy packages (usually, named pycopy-*) are supported

That phrase means that upip can't install an arbitrary CPython package as published on PyPI. For example, don't expect to be able to install Django (and it to work).

Beyond that, upip is intended to run on the smallest systems (like esp8266), which means it should be small and featureset limited. I myself for example would love to make it install modules directly from git, like big pip can, but doubt that such feature fits in.

In that regard, installing a package directly from URL might be a compromise feature which won't take much code to add, I'll add that to my TODO.

For now, you have a choice to publish your package to PyPI, and install it from there.

pfalcon avatar Mar 11 '20 16:03 pfalcon

Ok, I totally missed that. upip will actually install packages that are published in PyPI directly on the target device?

That is almost as good... if they can be be installed on device start (boot.py).

rvalle avatar Mar 11 '20 19:03 rvalle