This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky 98502a223a pkg_resources: Release 0.2.1. 2017-06-10 16:16:29 +03:00
__future__
_libc
_markupbase
abc
argparse
asyncio asyncio: Add dummy module. 2016-10-21 00:06:03 +03:00
asyncio_slow
base64
binascii
binhex
bisect
calendar
cgi
cmd
collections
collections.defaultdict collections.defaultdict: Release 0.3. 2017-01-26 01:35:10 +03:00
collections.deque
concurrent.futures
contextlib
copy copy: Use standard metadata, release is 3.3.3-2. 2017-02-08 01:23:00 +03:00
cpython-uasyncio
csv
curses curses: Add dummy module. 2016-10-21 00:08:08 +03:00
curses.ascii
datetime
dbm
decimal
difflib
email.charset
email.encoders
email.errors
email.feedparser
email.header
email.internal
email.message
email.parser
email.utils
errno
fcntl
ffilib
fnmatch
formatter
fractions
ftplib
functools functools: Make partial wrapper pass on return value. 2016-11-15 19:24:05 +01:00
getopt
getpass
gettext
glob
gzip
hashlib
heapq
hmac
html
html.entities
html.parser
http.client
imaplib
imp
inspect
io
ipaddress
itertools itertools: Release 0.2.3. 2017-04-24 22:08:49 +03:00
json
keyword
linecache
locale
logging
machine machine: Release 0.2.1. 2016-11-11 00:18:05 +03:00
mailbox
mailcap
mimetypes
multiprocessing
nntplib
numbers
operator
optparse
os os: Release 0.6. 2017-04-29 19:43:00 +03:00
os.path
pathlib
pdb
pickle
pickletools
pkg_resources pkg_resources: Release 0.2.1. 2017-06-10 16:16:29 +03:00
pkgutil
platform
poplib
posixpath
pprint pprint: Release 0.0.4. 2017-05-11 21:21:23 +03:00
profile
pty
pyb
pystone
pystone_lowmem pystone_lowmem: Release 3.4.2-4. 2016-11-08 01:53:53 +03:00
queue
quopri
random
re-pcre re-pcre: Release 0.2.4. 2016-12-19 23:07:34 +03:00
reprlib
runpy
sched
select
selectors
shelve
shlex
shutil
signal
smtplib
socket
socketserver
sqlite3
stat
statistics
string
stringprep
struct
subprocess
tarfile
telnetlib
tempfile
test
test.pystone
test.support
textwrap
threading
time
timeit
trace
traceback
tty
types
uasyncio uasyncio: Release 1.2.2. 2017-06-10 16:11:41 +03:00
uasyncio.core uasyncio.core: Release 1.4.2. 2017-06-08 02:48:45 +03:00
uasyncio.queues uasyncio.queues: Release 0.1.2. 2016-12-08 14:45:55 +03:00
ucontextlib
ucurses
umqtt.robust umqtt.robust: Elaborate README. 2017-06-07 20:28:30 +03:00
umqtt.simple umqtt.simple: Release 1.3.3. 2017-04-27 17:53:14 +03:00
unicodedata
unittest
upip upip: Release 1.2. 2017-05-05 13:10:06 +03:00
upysh
urequests urequests: Add example_xively.py as very basic example. 2017-05-05 20:47:08 +03:00
urllib
urllib.parse
urllib.urequest urllib.urequest: Release 0.4.3. 2016-12-08 14:31:59 +03:00
utarfile
uu
uuid
warnings
weakref
xmltok
zipfile
.gitignore
CONTRIBUTING.md
LICENSE
Makefile
README.md README: More info about naming and links to PyPI search results. 2016-12-11 15:35:10 +03:00
make_metadata.py
optimize_upip.py optimize_upip.py: Rework inclusion/exclusion logic. 2017-05-05 13:01:54 +03:00

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 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).

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-". 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.

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: