kopia lustrzana https://github.com/micropython/micropython-lib
74 wiersze
2.8 KiB
Markdown
74 wiersze
2.8 KiB
Markdown
micropython-lib
|
|
===============
|
|
micropython-lib is a project to develop a non-monolothic standard library
|
|
for "advanced" MicroPython fork (https://github.com/pfalcon/micropython).
|
|
Each module or package is available as a separate distribution package from
|
|
PyPI. Each module comes from one of the following sources (and thus each
|
|
module has its own licensing terms):
|
|
|
|
* written from scratch specifically for MicroPython
|
|
* ported from CPython
|
|
* ported from some other Python implementation, e.g. PyPy
|
|
* some modules actually aren't implemented yet and are dummy
|
|
|
|
Note that the main target of micropython-lib is a "Unix" port of the
|
|
aforementioned fork of MicroPython. Actual system requirements vary per
|
|
module. Majority of modules are compatible with the upstream MicroPython,
|
|
though some may require additional functionality/optimizations present in
|
|
the "advanced" fork. Modules not related to I/O may also work without
|
|
problems on bare-metal ports, not just on "Unix" port (e.g. pyboard).
|
|
|
|
|
|
Usage
|
|
-----
|
|
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-" (the reverse is not true - some
|
|
package starting with "micropython-" aren't part of micropython-lib and
|
|
were released by 3rd parties).
|
|
|
|
Browse available packages
|
|
[via this URL](https://pypi.python.org/pypi?%3Aaction=search&term=micropython).
|
|
|
|
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`.
|
|
|
|
|
|
Development
|
|
-----------
|
|
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.
|
|
|
|
|
|
Links
|
|
-----
|
|
If you would like to trace evolution of MicroPython packaging support,
|
|
you may find following links useful (note that they may contain outdated
|
|
information):
|
|
|
|
* https://github.com/micropython/micropython/issues/405
|
|
* http://forum.micropython.org/viewtopic.php?f=5&t=70
|
|
|
|
Guidelines for packaging MicroPython modules for PyPI:
|
|
|
|
* https://github.com/micropython/micropython/issues/413
|