This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky 6f9131e59a umqtt.simple: Add example for publishing over SSL. 2017-09-21 19:22:40 +03:00
__future__
_libc
_markupbase
abc all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
argparse
asyncio asyncio: Add dummy module. 2016-10-21 00:06:03 +03:00
asyncio_slow asyncio_slow: Rename "async()" to "ensure_future()". 2017-09-10 00:08:32 +03:00
base64
binascii
binhex
bisect
calendar
cgi
cmd
codecs codecs: Add dummy module. 2017-08-26 10:28:41 +03:00
collections
collections.defaultdict
collections.deque
concurrent.futures
contextlib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
copy
cpython-uasyncio all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
csv all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
curses curses: Add dummy module. 2016-10-21 00:08:08 +03:00
curses.ascii
datetime all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
dbm
decimal all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
difflib
email.charset
email.encoders
email.errors
email.feedparser
email.header
email.internal
email.message
email.parser
email.utils all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
errno all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
fcntl all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
ffilib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
fnmatch
formatter
fractions
ftplib
functools
getopt all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
getpass all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
gettext
glob
gzip
hashlib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
heapq
hmac hmac: Calculate correct digest when non-trivial key is used. 2017-08-13 14:52:52 +03:00
html
html.entities
html.parser
http.client
imaplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
imp
inspect all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
io
ipaddress all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
itertools
json
keyword keyword: Work around lack of frozenset. 2014-04-13 23:14:58 +03:00
linecache
locale
logging all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
machine
mailbox
mailcap all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
mimetypes
multiprocessing multiprocessing: Release 0.1.2. 2017-09-03 11:11:39 +03:00
nntplib
numbers
operator
optparse all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
os os: Release 0.6. 2017-04-29 19:43:00 +03:00
os.path
pathlib
pdb all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pickle
pickletools all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pkg_resources
pkgutil
platform
poplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
posixpath
pprint pprint: Release 0.0.4. 2017-05-11 21:21:23 +03:00
profile
pty
pyb
pystone
pystone_lowmem
queue
quopri all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
random
re-pcre re-pcre: Release 0.2.5. 2017-07-06 00:15:54 +03:00
reprlib
runpy
sched
select
selectors all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
shelve
shlex
shutil
signal
smtplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
socket
socketserver
sqlite3
ssl
stat all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
statistics all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
string
stringprep all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
struct all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
subprocess
tarfile
telnetlib
tempfile
test
test.pystone
test.support
textwrap
threading
time time: Release 0.5. 2017-09-09 14:02:20 +03:00
timeit
trace
traceback
tty all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
types
typing
uasyncio uasyncio: Add test showing I/O scheduling starvation. 2017-08-20 16:36:15 +03:00
uasyncio.core uasyncio.core: Release 1.5. 2017-09-01 15:14:32 +03:00
uasyncio.queues uasyncio.queues: Release 0.1.2. 2016-12-08 14:45:55 +03:00
ucontextlib
ucurses
umqtt.robust
umqtt.simple
unicodedata all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
unittest unittest: Show class name of test method. 2017-09-21 00:11:10 +03:00
upip upip: Release 1.2.1. 2017-06-16 02:47:52 +03:00
upysh all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
urequests
urllib
urllib.parse
urllib.urequest
utarfile
uu
uuid all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
warnings
weakref
xmltok xmltok: test_xmltok: Find data file relative to module dir. 2017-08-30 00:19:13 +03:00
zipfile
.gitignore
CONTRIBUTING.md
LICENSE
Makefile
README.md
make_metadata.py
optimize_upip.py

README.md

micropython-lib

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 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 MicroPython. Actual system requirements vary per module. For example, if a module is not related to I/O, it may work without problems on bare-metal ports too (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.

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.

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: