This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky fede052d48 uasyncio.core: Release 1.7. 2017-12-15 20:24:40 +02:00
__future__
_libc _libc: Release 0.3.1, gzip 4k. 2016-10-11 00:43:05 +03:00
_markupbase _markupbase: Release 3.3.3-1, gzip 4k. 2016-10-11 00:50:22 +03:00
abc
argparse
array
asyncio
asyncio_slow asyncio_slow: Rename examples as such. 2017-09-30 18:40:23 +03:00
base64
binascii
binhex
bisect
calendar all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
cgi
cmd
code
codecs
codeop codeop: Release 0.0.0. 2017-10-29 10:42:30 +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 copy: Use standard metadata, release is 3.3.3-2. 2017-02-08 01:23:00 +03:00
cpython-uasyncio
csv
curses
curses.ascii
datetime
dbm
decimal
difflib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
dis
dummy_threading
email.charset
email.encoders all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.errors
email.feedparser all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.header
email.internal
email.message
email.parser
email.utils
errno
fcntl
ffilib
fnmatch
formatter
fractions
ftplib
functools functools: Release 0.0.7. 2017-11-05 12:35:45 +02:00
getopt all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
getpass
gettext gettext: Release 0.1. 2017-11-05 12:51:47 +02:00
glob
gzip
hashlib
heapq
hmac
html all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
html.entities all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
html.parser
http.client
imaplib
imp
importlib
inspect
io
ipaddress
itertools itertools: Release 0.2.3. 2017-04-24 22:08:49 +03:00
json
keyword keyword: Work around lack of frozenset. 2014-04-13 23:14:58 +03:00
linecache
locale
logging
machine
mailbox
mailcap
math math: Add placeholder module. 2017-12-14 09:46:45 +02:00
mimetypes
multiprocessing
nntplib
numbers all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
operator
optparse
os
os.path
pathlib
pdb
pickle
pickletools
pkg_resources
pkgutil
platform
poplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
posixpath
pprint
profile
pty
pwd
pyb
pystone
pystone_lowmem
queue
quopri
random
re-pcre
readline
reprlib
runpy
sched
select select: Convert float timeout to int with math.ceil. 2017-10-29 10:01:00 +03:00
selectors
shelve
shlex
shutil
signal all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
smtplib
socket socket: Add INADDR_ANY. 2017-06-22 19:59:54 +03:00
socketserver
sqlite3
ssl ssl: Release 0.0.1. 2017-08-20 17:59:54 +03:00
stat
statistics
string
stringprep all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
struct
subprocess
sys sys: Add placeholder module. 2017-11-04 00:02:55 +02:00
tarfile all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
telnetlib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
tempfile
test
test.pystone
test.support
textwrap all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
threading threading: Release 0.1. 2017-11-01 01:41:54 +02:00
time time: Release 0.5. 2017-09-09 14:02:20 +03:00
timeit
trace all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
traceback traceback: Release 0.3. 2017-10-03 22:24:13 +03:00
tty
types
typing
uaiohttpclient
uasyncio
uasyncio.core
uasyncio.queues
uasyncio.synchro
uasyncio.udp/uasyncio
ucontextlib
ucurses
umqtt.robust
umqtt.simple
unicodedata
unittest
upip
upysh
urequests
urllib
urllib.parse
urllib.urequest
utarfile
uu
uuid
venv
warnings all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
weakref
xmltok
zipfile
zlib
.gitignore
CONTRIBUTING.md
LICENSE
Makefile
README.md
make_metadata.py
optimize_upip.py
sdist_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: