This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky b255da4a83 os: Release 0.2.4. 2015-08-30 02:47:10 +03:00
__future__ __future__: Adjust dist_name to "future". 2015-05-09 01:50:26 +03:00
_libc _libc: Release 0.2.1. 2014-10-11 05:17:14 +03:00
_markupbase _markupbase: Add metadata. 2015-04-11 23:18:19 +03:00
abc abc: Add dummy module. 2014-05-20 22:28:36 +03:00
argparse argparse: Initial minimal implementation of argparse. 2015-06-06 18:10:04 +01:00
asyncio_slow asyncio_slow: Add example of wait() from docs. 2014-10-21 01:31:57 +03:00
base64 base64: Depend on "struct". 2015-05-07 00:33:48 +03:00
binascii binascii: Release 2.4.0-3. 2015-06-15 00:27:19 +03:00
binhex dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
bisect bisect: Add module from CPython 3.3.3. 2014-05-10 00:43:26 +03:00
calendar calendar: Add dummy module. 2014-05-20 22:30:31 +03:00
cgi cgi: Add metadata. 2015-03-29 01:20:08 +02:00
cmd cmd: 3.4.0-1 is a final version. 2015-05-08 22:46:48 +03:00
collections collections: Release 0.1. 2015-06-10 00:34:05 +03:00
collections.defaultdict collections.defaultdict: Add missing metadata.txt. 2014-05-24 14:38:16 +03:00
collections.deque collections.deque: Speedup `appendleft`, implement `__iter__` and `__str__` 2014-12-15 03:29:06 +03:00
concurrent.futures concurrent.futures: Add dummy module. 2015-05-22 10:45:49 +03:00
contextlib contextlib: Make compatible with micropython 2014-12-26 19:57:10 +02:00
copy copy: Switch to setuptools to support dependencies (types module). 2014-04-13 02:14:14 +03:00
cpython-uasyncio cpython-uasyncio: Add StreamWriter with awrite() & aclose(). 2015-01-02 22:25:53 +02:00
csv csv: Add dummy module. 2014-05-24 18:27:52 +03:00
curses.ascii curses.ascii: Add metadata. 2015-05-03 22:39:19 +03:00
datetime dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
dbm make_metadata.py: Support modules vs packages. 2014-05-12 17:14:12 +03:00
decimal decimal: Add dummy module. 2015-05-11 02:50:34 +03:00
difflib difflib: Add dummy module. 2015-05-14 00:21:13 +03:00
email.charset email.charset: Add metadata. 2014-05-24 15:20:33 +03:00
email.encoders email.encoders: Add metadata. 2014-05-24 15:13:36 +03:00
email.errors email.errors: Add metadata, 2014-05-24 15:27:27 +03:00
email.feedparser email.feedparser: Add metadata. 2014-05-24 16:06:53 +03:00
email.header email.header: MicroPython doesn't have str.isspace(). 2014-05-25 03:25:06 +03:00
email.internal email.internal: Add metadata. 2014-05-24 16:18:24 +03:00
email.message email.message: Add email.iterators module to dist-package. 2014-05-24 16:21:00 +03:00
email.parser email.parser: Add metadata. 2014-05-24 16:09:11 +03:00
email.utils email.utils: Add metadata. 2014-05-24 15:36:40 +03:00
errno errno: Add ECONNRESET. 2014-10-25 00:07:26 +03:00
fcntl fcntl: Add error checking and at least TODOs about buffer return values. 2014-12-25 20:42:09 +02:00
ffilib ffilib: Add libc() convenience function to load libc. 2015-06-06 22:27:34 +03:00
fnmatch fnmatch: Add new metadata. 2014-05-12 21:00:54 +03:00
formatter formatter: Add dummy module. 2015-05-22 10:33:55 +03:00
fractions fractions: Add dummy module. 2015-05-21 20:35:26 +03:00
ftplib ftplib: Add dummy module. 2015-05-24 17:29:51 +03:00
functools functools: Release 0.0.3. 2015-05-05 13:14:22 +03:00
getopt getopt: Add setup.py. 2014-05-19 22:06:07 +03:00
getpass getpass: Add dummy module. 2014-06-21 03:19:23 +03:00
gettext gettext: Add dummy module. 2015-05-22 10:29:57 +03:00
glob glob: Explicitly import os.path. 2014-06-06 22:53:30 +03:00
gzip gzip: Implement decompress() function. 2015-01-28 03:05:06 +02:00
hashlib hashlib: Selectively import individual classes to top-level package. 2015-03-01 07:36:30 +02:00
heapq heapq: Import itertools only for functions which really require it. 2014-07-21 00:29:33 +03:00
hmac hmac: Depends on warnings module. 2015-02-22 15:12:24 +02:00
html html: Add metadata. 2015-05-18 00:53:01 +03:00
html.entities html.entities: Add metadata.txt, release 3.3.3. 2015-03-28 20:22:46 +02:00
html.parser html.parser: Add metadata. 2015-05-17 00:42:26 +03:00
http.client http.client: Add metadata. 2014-06-07 23:15:03 +03:00
imaplib imaplib: Add dummy module. 2015-05-25 17:14:25 +03:00
imp imp: Add dummy module. 2015-05-23 00:07:42 +03:00
inspect inspect: Release 0.1.1. 2015-07-16 13:16:14 +03:00
io io: As MicroPython builtin module is now _io, add dummy io wrapper. 2014-06-21 02:52:41 +03:00
ipaddress ipaddress: Add dummy module. 2014-06-21 03:20:16 +03:00
itertools itertools: Release 0.2. 2015-08-25 21:29:44 +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
locale locale: Add dummy implementation with getpreferredencoding(). 2015-05-16 00:14:59 +03:00
logging logging: Release 0.1.1. 2015-06-22 20:43:16 +03:00
mailbox mailbox: Add dummy module. 2014-06-21 03:24:14 +03:00
mailcap mailcap: Add dummy module. 2015-05-23 00:09:14 +03:00
mimetypes mimetypes: Add dummy module. 2014-06-21 03:23:37 +03:00
multiprocessing multiprocessing: Release 0.1. 2015-06-20 19:29:19 +03:00
nntplib nntplib: Add dummy module. 2015-05-25 17:09:47 +03:00
numbers numbers: Add dummy module. 2015-05-11 02:50:56 +03:00
operator operator: Add metadata. 2015-05-10 01:54:47 +03:00
optparse optparse: Add dummy module. 2014-06-21 03:21:13 +03:00
os os: Release 0.2.4. 2015-08-30 02:47:10 +03:00
os.path os.path: abspath() should affect only relative paths. 2015-06-29 00:05:01 +03:00
pathlib pathlib: Add dummy module. 2015-05-22 10:29:03 +03:00
pdb pdb: Add dummy module. 2015-05-16 00:17:13 +03:00
pickle pickle: Add metadata.txt . 2015-08-23 23:22:36 +03:00
pickletools pickletools: Add dummy module. 2015-05-26 00:48:20 +03:00
pkg_resources pkg_resources: Add metadata. 2015-06-26 02:17:32 +03:00
pkgutil pkgutil: Release 0.1. 2015-06-26 13:50:47 +03:00
platform platform: Add dummy module. 2015-05-08 22:53:16 +03:00
poplib poplib: Add dummy module. 2015-05-24 17:33:11 +03:00
posixpath posixpath: Add dummy module. 2014-05-20 23:33:42 +03:00
pprint pprint: Add dummy pformat(). 2015-05-05 10:08:37 +03:00
profile profile: Add dummy module. 2015-05-25 17:57:32 +03:00
pty pty: Add dummy module. 2014-06-21 03:21:48 +03:00
pyb pyb: Add LED blink example. 2015-04-05 14:08:16 +03:00
pystone pystone: Add metadata. 2015-04-03 00:16:21 +03:00
queue dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
quopri quopri: Add metadata. 2014-05-20 22:36:54 +03:00
random dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
re-pcre re-pcre: Release 0.2.1. 2015-06-05 18:18:22 +03:00
reprlib reprlib: Add dummy module. 2014-06-21 03:22:19 +03:00
runpy runpy: Add dummy module. 2015-05-24 00:51:28 +03:00
sched sched: Add dummy module. 2014-06-21 03:22:49 +03:00
select select: Release 0.1.4. 2015-06-20 20:00:33 +03:00
selectors selectors: Add dummy module. 2015-05-21 20:29:43 +03:00
shelve shelve: Add dummy module. 2014-05-24 18:28:16 +03:00
shlex dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
shutil shutil: copyfileobj(): Support file objects without readinto() method. 2015-02-04 02:50:20 +02:00
signal signal: Add example of signal handler throwing exception. 2015-03-11 22:45:30 +02:00
smtplib smtplib: Add dummy module. 2015-05-24 17:28:22 +03:00
socket socket: Release 0.2. 2015-07-26 12:09:35 +03:00
socketserver socketserver: Add dummy module. 2015-05-20 00:18:52 +03:00
sqlite3 sqlite3: Use ffilib to load shared library. 2015-06-05 18:39:46 +03:00
stat stat: Take from CPython 3.3.3. 2014-05-19 23:46:49 +03:00
statistics statistics: Add dummy module. 2015-05-20 01:31:59 +03:00
string string: Add implementation of translate() method. 2015-03-28 19:49:37 +02:00
stringprep stringprep: Add dummy module. 2015-05-26 01:03:52 +03:00
struct struct: Add metadata. 2015-05-08 00:56:14 +03:00
subprocess dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
tarfile tarfile: Add dummy module. 2014-06-21 03:07:17 +03:00
telnetlib telnetlib: Add dummy module. 2015-05-26 00:47:40 +03:00
tempfile dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
test test: test_pep380.py: Update to pass on MicroPython. 2015-07-08 00:07:48 +03:00
test.pystone test.pystone: Upgrade to version 1.2 from Python 3.4 library. 2015-01-06 12:43:11 +00:00
test.support test.support: Release 0.1. 2015-07-05 22:25:33 +03:00
textwrap textwrap: Add metadata. 2015-05-12 01:23:13 +03:00
threading threading: Add dummy module. 2015-05-21 20:29:43 +03:00
time time: Release 0.2. 2015-01-05 00:36:26 +02:00
timeit timeit: Release 3.3.3-1. 2015-01-06 01:05:31 +02:00
trace trace: Add dummy module. 2015-05-24 00:47:52 +03:00
traceback traceback: Add dummy impl of format_tb(), format_exception_only(). 2015-03-29 01:18:14 +02:00
tty tty: Add metadata. 2015-04-08 21:12:37 +03:00
types types: Add setup metadata. 2014-04-13 02:14:14 +03:00
uasyncio uasyncio/benchmark: Default is "medium" test, add CPython support. 2015-06-21 02:03:42 +03:00
uasyncio.core uasyncio.core: Release 0.8.3. 2014-12-17 00:34:14 +02:00
uasyncio.queues uasyncio.queues: Add simple implementation of asynchronous queues for uasyncio 2014-12-19 19:07:59 +02:00
ucurses ucurses: Release 0.1.1. 2015-06-24 00:27:26 +03:00
unicodedata unicodedata: Add metadata. 2015-05-14 00:34:33 +03:00
unittest unittest: Release 0.0.9. 2015-08-07 22:02:13 +03:00
upip upip: Release 0.5.4. 2015-06-25 01:38:38 +03:00
urllib urllib: Add dummy module. 2014-05-08 12:53:32 +03:00
urllib.parse urllib.parse: Add metadata. 2014-05-23 02:19:21 +03:00
utarfile utarfile: Update for uctype.struct() signature change. 2015-06-06 23:01:04 +03:00
uu uu: Add pristine from CPython 3.3.3. 2014-05-20 23:37:43 +03:00
uuid uuid: Add dummy module. 2015-05-24 00:47:16 +03:00
warnings warnings: Add example. 2015-02-22 14:08:19 +02:00
weakref weakref: Add metadata. 2015-05-09 00:21:31 +03:00
zipfile zipfile: Add dummy module. 2014-06-21 03:07:35 +03: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.md: Tweak a bit. 2014-10-19 14:29:10 +03:00
make_metadata.py make_metadata.py: Support PyPy upstream source. 2015-02-22 15:09:46 +02:00

README.md

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
micropython-lib is a highly experimental community project.

Please help to drive it to just "experimental" state by testing
provided packages with MicroPython.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

micropython-lib

micropython-lib is a project to develop a non-monolothic standard library for 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 (additional ports to support are to be determined). Actual system requirements vary per module. Though if a module is not related to I/O, the module should work without problem 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.

To install packages from PyPI for usage on your local system, use the pip-micropython tool, which is a simple wrapper around the standard pip tool, which is used to install packages for CPython. The pip-micropython tool can be found in tools subdirectory of the main MicroPython repository (https://github.com/micropython/micropython). Just install the pip-micropython script somewhere on your PATH.

Afterwards, just use pip-micropython in a way similar to pip:

$ pip-micropython install micropython-copy
$ micropython
>>> import copy
>>> copy.copy([1, 2, 3])
[1, 2, 3]

Review the pip-micropython source code for more info.

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.

More information is on GitHub and in the MicroPython forums:

Guidelines for packaging MicroPython modules for PyPI: