Core Python libraries ported to MicroPython
Python Other
Permalink
Failed to load latest commit information.
__future__ __future__: Release 0.0.3, gzip 4k. Oct 10, 2016
_libc _libc: Release 0.3.1, gzip 4k. Oct 10, 2016
_markupbase _markupbase: Release 3.3.3-1, gzip 4k. Oct 10, 2016
abc all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
argparse all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
asyncio asyncio: Add dummy module. Oct 20, 2016
asyncio_slow asyncio_slow: Add example of wait() from docs. Oct 20, 2014
base64 all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
binascii all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
binhex all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
bisect bisect: Add module from CPython 3.3.3. May 9, 2014
calendar all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
cgi all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
cmd all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
collections.defaultdict all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
collections.deque all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
collections all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
concurrent.futures all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
contextlib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
copy copy: Switch to setuptools to support dependencies (types module). Apr 12, 2014
cpython-uasyncio all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
csv all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
curses.ascii all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
curses curses: Add dummy module. Oct 20, 2016
datetime all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
dbm all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
decimal all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
difflib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.charset all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.encoders all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.errors all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.feedparser all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.header all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.internal all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.message all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.parser all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
email.utils all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
errno all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
fcntl all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
ffilib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
fnmatch all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
formatter all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
fractions all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
ftplib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
functools functools: Make partial wrapper pass on return value. Nov 15, 2016
getopt all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
getpass all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
gettext all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
glob all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
gzip all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
hashlib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
heapq all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
hmac all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
html.entities all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
html.parser all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
html all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
http.client all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
imaplib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
imp all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
inspect all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
io all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
ipaddress all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
itertools all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
json json: Add simple test. Apr 19, 2014
keyword keyword: Work around lack of frozenset. Apr 13, 2014
linecache all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
locale all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
logging all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
machine machine: Release 0.2.1. Nov 10, 2016
mailbox all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
mailcap all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
mimetypes all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
multiprocessing all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
nntplib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
numbers all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
operator all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
optparse all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
os.path all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
os os: Release 0.5. Dec 20, 2016
pathlib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pdb all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pickle all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pickletools all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pkg_resources all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pkgutil all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
platform all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
poplib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
posixpath all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pprint all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
profile all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pty all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pyb pyb: Add LED blink example. Apr 5, 2015
pystone all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
pystone_lowmem pystone_lowmem: Release 3.4.2-4. Nov 7, 2016
queue all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
quopri all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
random all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
re-pcre re-pcre: Release 0.2.4. Dec 19, 2016
reprlib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
runpy all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
sched all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
select all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
selectors all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
shelve all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
shlex all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
shutil all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
signal all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
smtplib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
socket all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
socketserver all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
sqlite3 all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
stat all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
statistics all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
string all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
stringprep all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
struct all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
subprocess all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
tarfile all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
telnetlib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
tempfile all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
test.pystone all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
test.support all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
test test: test_pep380.py: Update to pass on MicroPython. Jul 7, 2015
textwrap all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
threading all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
time all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
timeit all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
trace all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
traceback all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
tty all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
types types: Add setup metadata. Apr 12, 2014
uasyncio.core uasyncio: Move test_call_soon.py to uasyncio.core, as it needs only it. Jan 4, 2017
uasyncio.queues uasyncio.queues: Release 0.1.2. Dec 8, 2016
uasyncio uasyncio: Rename examples as such. Jan 4, 2017
ucontextlib all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
ucurses all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
umqtt.robust all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
umqtt.simple umqtt.simple: Release 1.3.2. Dec 19, 2016
unicodedata all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
unittest all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
upip upip: Release 1.1.4. Oct 22, 2016
upysh all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
urequests urequests: Release 0.4.2. Dec 10, 2016
urllib.parse all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
urllib.urequest urllib.urequest: Release 0.4.3. Dec 8, 2016
urllib urllib: Add dummy module. May 8, 2014
utarfile all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
uu all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
uuid all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
warnings all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
weakref all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
xmltok all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
zipfile all: setup.py: New releases for gzip 4k conversion. Oct 11, 2016
.gitignore .gitignore: Ignore local development files. May 31, 2014
CONTRIBUTING.md CONTRIBUTING.md: Add file with a link to Contributor Guidelines. May 3, 2015
LICENSE LICENSE: Add concatenation of licensing terms used. Aug 18, 2014
Makefile Makefile install: Add --no-run-if-empty to xargs. May 11, 2014
README.md README: More info about naming and links to PyPI search results. Dec 11, 2016
make_metadata.py make_metadata.py: Update URL to point to micropython-lib github page. Oct 10, 2016
optimize_upip.py optimize_upip.py: Script to optimize archives for low-heap upip usage. Oct 10, 2016

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.

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

Guidelines for packaging MicroPython modules for PyPI: