This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky 3cccc69aac upip: Initial steps towards self-hosted package manager.
Already capable of installing packages from command line, resolving
dependencies recursively. Downloading is handled via wget due to
SSL, so currently this is not self-hosted.
2015-02-08 09:15:42 +02:00
_libc _libc: Release 0.2.1. 2014-10-11 05:17:14 +03:00
abc
asyncio_slow asyncio_slow: Add example of wait() from docs. 2014-10-21 01:31:57 +03:00
base64
binascii
binhex
bisect
calendar
cmd
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
datetime
dbm
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
getopt
getpass
glob
gzip gzip: Implement decompress() function. 2015-01-28 03:05:06 +02:00
hashlib
heapq
html/html
html.entities
http.client
io
ipaddress
itertools
json
keyword
logging logging: Set default level as INFO, DEBUG is too spammy. 2014-11-14 02:43:09 +02:00
mailbox
mimetypes
multiprocessing
optparse
os os: Implement getenv(). 2015-02-07 00:30:05 +02:00
os.path os.path: Implement dirname(), basename(). 2015-01-27 04:25:51 +02:00
pickle
posixpath
pprint
pty
queue
quopri
random
re-pcre
reprlib
sched
select select: Clarify comment. 2015-01-19 23:24:23 +02:00
shelve
shlex
shutil shutil: copyfileobj(): Support file objects without readinto() method. 2015-02-04 02:50:20 +02:00
signal signal: Add test for SIG_IGN functionality. 2015-01-17 19:39:57 +02:00
socket socket: Update for rename microsocket -> usocket. 2014-10-11 05:18:49 +03:00
sqlite3
stat
string
subprocess
tarfile
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
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
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
unittest unittest: Add `assertFalse` to `TestCase` 2014-12-15 18:03:58 +02:00
upip upip: Initial steps towards self-hosted package manager. 2015-02-08 09:15:42 +02:00
urllib
urllib.parse
utarfile utarfile: Metadata and example. 2015-02-02 20:20:57 +02:00
uu
warnings
zipfile
.gitignore
LICENSE
Makefile
README.md README.md: Tweak a bit. 2014-10-19 14:29:10 +03:00
make_metadata.py make_metadata.py: Add "cpython-backport" module type. 2015-01-02 21:25:57 +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: