This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky 6984f17acc ucurses: Implementation of curses subset.
This implements only curses windows, with unbuffered output directly to
terminal. Curses pads (offscreen windows) are thus not supported. Only
subset of APIs are implemented, too.
2015-05-19 00:59:16 +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
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-2. 2015-02-22 18:41:37 +02:00
binhex
bisect
calendar
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.defaultdict
collections.deque collections.deque: Speedup `appendleft`, implement `__iter__` and `__str__` 2014-12-15 03:29:06 +03:00
contextlib contextlib: Make compatible with micropython 2014-12-26 19:57:10 +02:00
copy
cpython-uasyncio cpython-uasyncio: Add StreamWriter with awrite() & aclose(). 2015-01-02 22:25:53 +02:00
csv
curses.ascii curses.ascii: Add metadata. 2015-05-03 22:39:19 +03:00
datetime
dbm
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.encoders
email.errors
email.feedparser
email.header
email.internal
email.message
email.parser
email.utils
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
fnmatch
functools functools: Release 0.0.3. 2015-05-05 13:14:22 +03:00
getopt
getpass getpass: Add dummy module. 2014-06-21 03:19:23 +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
inspect inspect: Add metadata. 2015-04-29 00:47:59 +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
json
keyword
locale locale: Add dummy implementation with getpreferredencoding(). 2015-05-16 00:14:59 +03:00
logging logging: Set default level as INFO, DEBUG is too spammy. 2014-11-14 02:43:09 +02:00
mailbox mailbox: Add dummy module. 2014-06-21 03:24:14 +03:00
mimetypes mimetypes: Add dummy module. 2014-06-21 03:23:37 +03:00
multiprocessing
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: Update for builtin "struct" renamed to "ustruct". 2015-05-07 00:33:48 +03:00
os.path os.path: Release 0.1. 2015-05-08 01:02:35 +03:00
pdb pdb: Add dummy module. 2015-05-16 00:17:13 +03:00
pickle
platform platform: Add dummy module. 2015-05-08 22:53:16 +03:00
posixpath
pprint pprint: Add dummy pformat(). 2015-05-05 10:08:37 +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
quopri
random
re-pcre re-pcre: Implement findall() method. 2015-05-06 00:09:37 +03:00
reprlib reprlib: Add dummy module. 2014-06-21 03:22:19 +03:00
sched sched: Add dummy module. 2014-06-21 03:22:49 +03:00
select select: Update for builtin "struct" renamed to "ustruct". 2015-05-07 00:33:48 +03:00
shelve
shlex
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
socket socket: Update for rename microsocket -> usocket. 2014-10-11 05:18:49 +03:00
sqlite3 sqlite3: Change return type of column_double from "f" to "d". 2014-09-10 21:06:54 +01:00
stat
string string: Add implementation of translate() method. 2015-03-28 19:49:37 +02:00
struct struct: Add metadata. 2015-05-08 00:56:14 +03:00
subprocess
tarfile tarfile: Add dummy module. 2014-06-21 03:07:17 +03:00
tempfile
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: run_unittest(): Implement in terms on TestSuite and friends. 2015-05-13 01:38:23 +03:00
textwrap textwrap: Add metadata. 2015-05-12 01:23:13 +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
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
uasyncio uasyncio: Release 0.8.1. 2015-01-04 22:01:36 +02: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 ucurses: Implementation of curses subset. 2015-05-19 00:59:16 +03:00
unicodedata unicodedata: Add metadata. 2015-05-14 00:34:33 +03:00
unittest unittest: Add rough appriximations of TestSuite, TestRunner, TestResult. 2015-05-13 01:35:09 +03:00
upip upip: Release 0.5.2. 2015-05-09 00:25:53 +03:00
urllib
urllib.parse
utarfile utarfile: Metadata and example. 2015-02-02 20:20:57 +02:00
uu
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
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
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: