This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky bf8eef9d9e uasyncio.websocket.server: Add echo server example. 2018-02-02 01:35:11 +02:00
__future__ __future__: Release 0.0.3, gzip 4k. 2016-10-11 00:35:40 +03:00
_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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
argparse argparse: Release 0.4. 2018-02-02 01:22:59 +02:00
array array: Add placeholder module. 2017-12-10 17:27:59 +02:00
asyncio asyncio: Add dummy module. 2016-10-21 00:06:03 +03:00
asyncio_slow asyncio_slow: Rename examples as such. 2017-09-30 18:40:23 +03:00
base64 base64: Add missing dependencies. 2017-08-12 08:46:38 +03:00
binascii binascii: Add test which exposes to_bytes() problem in the module. 2017-08-15 10:26:25 +03:00
binhex all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
bisect bisect: Add module from CPython 3.3.3. 2014-05-10 00:43:26 +03:00
calendar all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
cgi all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
cmd all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
code code: Release 0.0.0. 2017-10-29 00:15:10 +03:00
codecs codecs: Add dummy module. 2017-08-26 10:28:41 +03:00
codeop codeop: Release 0.0.0. 2017-10-29 10:42:30 +03:00
collections all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
collections.defaultdict collections.defaultdict: Release 0.3. 2017-01-26 01:35:10 +03:00
collections.deque all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
concurrent.futures all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
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 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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
datetime datetime: Release 3.3.3-1. 2017-12-21 18:54:16 +02:00
dbm all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
decimal all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
difflib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
dis dis: Add placeholder module. 2017-12-12 12:17:00 +02:00
dummy_threading dummy_threading: Add placeholder module. 2017-12-10 17:28:52 +02:00
email.charset all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.encoders all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.errors all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.feedparser all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.header all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.internal all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.message all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
email.parser all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
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 fnmatch: test_fnmatch: Disable tests for bytes arguments. 2017-10-11 20:12:21 +03:00
formatter all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
fractions all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
ftplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
gettext gettext: Release 0.1. 2017-11-05 12:51:47 +02:00
glob glob: test_glob: Consistently disable tests for bytes arguments. 2017-10-10 17:30:41 +03:00
gzip all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
hashlib hashlib: Release 2.4.0-4. 2018-01-20 11:51:02 +02:00
heapq all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
hmac hmac: Calculate correct digest when non-trivial key is used. 2017-08-13 14:52:52 +03:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
http.client http.client: Rename examples as such. 2017-09-27 00:34:43 -07:00
imaplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
imp all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
importlib importlib: Release 0.0.0. 2017-10-29 00:11:15 +03:00
inspect all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
io io: Release 0.1. 2017-10-21 21:36:44 +03:00
ipaddress all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
itertools itertools: Release 0.2.3. 2017-04-24 22:08:49 +03:00
json json: Add simple test. 2014-04-19 21:39:13 +03:00
keyword keyword: Work around lack of frozenset. 2014-04-13 23:14:58 +03:00
linecache all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
locale all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
logging all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
machine machine: Release 0.2.1. 2016-11-11 00:18:05 +03:00
mailbox all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
mailcap all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
math math: Add placeholder module. 2017-12-14 09:46:45 +02:00
mimetypes all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
multiprocessing multiprocessing: Release 0.1.2. 2017-09-03 11:11:39 +03:00
nntplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
numbers all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
operator operator: Add bunch of operator synonym functions. 2017-09-28 09:33:16 -07:00
optparse all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
os os: test_filestat.py: Use paths relative to module dir. 2017-10-13 20:24:35 +03:00
os.path os.path: test_path.py: Use paths relative to module dir. 2017-10-18 14:03:05 +03:00
pathlib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pdb all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pickle pickle: Release 0.1. 2018-01-21 14:51:45 +02:00
pickletools all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pkg_resources pkg_resources: Release 0.2.1. 2017-06-10 16:16:29 +03:00
pkgutil all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
platform all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
poplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
posixpath all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pprint pprint: Release 0.0.4. 2017-05-11 21:21:23 +03:00
profile all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pty all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pwd pwd: add basic implementation of pwd 2017-10-03 22:18:27 +03:00
pyb pyb: Add LED blink example. 2015-04-05 14:08:16 +03:00
pystone all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
pystone_lowmem pystone_lowmem: Release 3.4.2-4. 2016-11-08 01:53:53 +03:00
queue all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
quopri all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
random random: Release 0.2. 2017-11-26 00:04:07 +02:00
re-pcre re-pcre: Release 0.2.5. 2017-07-06 00:15:54 +03:00
readline readline: Release 0.0.0. 2017-10-28 23:16:31 +03:00
reprlib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
runpy all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
sched all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
select select: Convert float timeout to int with math.ceil. 2017-10-29 10:01:00 +03:00
selectors all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
shelve all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
shlex all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
shutil all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
signal all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
smtplib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
socket socket: Add INADDR_ANY. 2017-06-22 19:59:54 +03:00
socketserver all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
sqlite3 sqlite3: Add test for CREATE TABLE/INSERT/lastrowid. 2017-08-30 00:11:51 +03:00
ssl ssl: Release 0.1. 2018-01-10 00:13:04 +02:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
test test: test_pep380.py: Update to pass on MicroPython. 2015-07-08 00:07:48 +03:00
test.pystone all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
test.support test.support: Add dummy @requires_IEEE_754 decorator. 2017-11-12 00:32:46 +02:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
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 all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
types types: Add setup metadata. 2014-04-13 02:14:14 +03:00
typing typing: Add dummy module. 2017-06-23 15:41:15 +03:00
uaiohttpclient uaiohttpclient: Release 0.5.1. 2018-01-14 11:51:59 +02:00
uasyncio uasyncio: Release 1.4.1. 2018-01-23 23:23:19 +02:00
uasyncio.core uasyncio.core: Release 1.7.1. 2018-01-07 10:44:13 +02:00
uasyncio.queues uasyncio.queues: Release 0.1.2. 2016-12-08 14:45:55 +03:00
uasyncio.synchro uasyncio.synchro: Release 0.1.1. 2017-12-12 12:12:17 +02:00
uasyncio.udp uasyncio.udp: Release 0.1. 2017-12-16 00:41:17 +02:00
uasyncio.websocket.server uasyncio.websocket.server: Add echo server example. 2018-02-02 01:35:11 +02:00
ucontextlib all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
ucurses all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
udnspkt udnspkt: Release 0.1. 2017-12-17 20:56:13 +02:00
umqtt.robust umqtt.robust: Elaborate README. 2017-06-07 20:28:30 +03:00
umqtt.simple umqtt.simple: Release 1.3.4. 2017-06-27 21:18:43 +03:00
unicodedata unicodedata: Release 0.0.3. 2017-11-09 19:15:47 +02:00
unittest unittest: Release 0.3.1. 2017-09-22 22:20:14 +03:00
upip upip: Release 1.2.3. 2018-01-27 13:22:59 +02:00
upysh all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
urequests urequests: Release 0.6. 2018-01-23 00:25:30 +02:00
urllib urllib: Add dummy module. 2014-05-08 12:53:32 +03:00
urllib.parse all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
urllib.urequest urllib.urequest: Release 0.6. 2018-01-23 00:27:06 +02:00
utarfile utarfile: Update for str.rstrip() fixes. 2017-09-29 18:19:44 -07:00
uu all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
uuid all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
venv venv: Add dummy module. 2017-11-04 23:52:16 +02:00
warnings all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
weakref all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
xmltok xmltok: test_xmltok: Find data file relative to module dir. 2017-08-30 00:19:13 +03:00
zipfile all: setup.py: New releases for gzip 4k conversion. 2016-10-11 06:47:01 +03:00
zlib zlib: Add dummy module. 2017-11-04 00:04:11 +02:00
.gitignore .gitignore: Ignore local development files. 2014-05-31 15:18:48 +03:00
CONTRIBUTING.md CONTRIBUTING.md: Add file with a link to Contributor Guidelines. 2015-05-03 21:07:17 +03:00
LICENSE LICENSE: Add concatenation of licensing terms used. 2014-08-18 21:32:04 +03:00
Makefile Makefile install: Add --no-run-if-empty to xargs. 2014-05-11 12:22:03 +03:00
README.md README: Mention that some modules may require pfalcon's fork. 2018-01-07 16:04:59 +02:00
make_metadata.py make_metadata: Use more specific 'micropython-lib Developers'. 2018-01-07 16:27:47 +02:00
optimize_upip.py optimize_upip.py: Rework inclusion/exclusion logic. 2017-05-05 13:01:54 +03:00
sdist_upip.py sdist_upip: Don't treat files at the toplevel dir as resources. 2017-12-15 00:20:59 +02:00

README.md

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.

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: