micropython-lib is a project to develop a non-monolothic standard library for MicroPython (https://github.com/micropython/micropython). Each module or package is available as a separate distribution package from PyPI. Each module is either written from scratch or ported from CPython.
Note that the main target of micropython-lib is a "Unix" port of MicroPython. Actual system requirements vary per module. Though if a module is not related to I/O, the module should work without problems on bare-metal ports too (e.g. pyboard).
micropython-lib packages are published on PyPI (Python Package Index), the standard Python community package repository: http://pypi.python.org/ . On PyPI, you can search for MicroPython related packages and read additional package information. By convention, all micropython-lib package names are prefixed with "micropython-". Browse available packages via this URL. (Note: search results may include both micropython-lib and 3rd-party packages).
To install packages from PyPI for usage on your local system, use the
upip
tool, which is MicroPython's native package manager, similar to
pip
, which is used to install packages for CPython. upip
is bundled
with MicroPython "Unix" port (i.e. if you build "Unix" port, you
automatically have upip
tool). Following examples assume that
micropython
binary is available on your PATH
:
$ micropython -m upip install micropython-pystone
...
$ micropython
>>> import pystone
>>> pystone.main()
Pystone(1.2) time for 50000 passes = 0.534
This machine benchmarks at 93633 pystones/second
Run micropython -m upip --help
for more information about upip
.
To install modules during development, use make install
. By default, all
available packages will be installed. To install a specific module, add the
MOD=<module>
parameter to the end of the make install
command.
If you would like to trace evolution of MicroPython packaging support, you may find following links useful (note that they may contain outdated information):
Guidelines for packaging MicroPython modules for PyPI: