This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Paul Sokolovsky a6dee730f3 _libc: Helper FFI module to find and load proper libc for the system.
It's needed because different LIBC implementation use different shared
library names, so this module abstracts operation of finding the correct
one.

Default search order:

1. libc.so. This is usually doesn't exist, but user can create such symlink,
and it will be used fast.
2. libc.so.0, as used by current uClibc versions.
3. libc.so.6, as used by current Glibc versions.

uClibc is tried first because system where it is used are usually
underpowered to do array of attempts.

User can also override default search names by calling _libc.set_names(),
(which should be called before importing any other modules).
2014-06-21 04:09:22 +03:00
_libc _libc: Helper FFI module to find and load proper libc for the system. 2014-06-21 04:09:22 +03:00
abc abc: Add dummy module. 2014-05-20 22:28:36 +03:00
base64 base64: Some dummy functions. 2014-05-19 23:44:18 +03:00
binascii binascii: Some dummy functions. 2014-05-19 23:24:22 +03:00
binhex dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
bisect
calendar calendar: Add dummy module. 2014-05-20 22:30:31 +03:00
collections
collections.defaultdict collections.defaultdict: Add missing metadata.txt. 2014-05-24 14:38:16 +03:00
collections.deque
copy
csv csv: Add dummy module. 2014-05-24 18:27:52 +03:00
datetime dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
dbm
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 EAFNOSUPPORT. 2014-05-19 22:49:31 +03:00
fcntl
fnmatch
functools functools: Add dummy update_wrapper(), wraps(). 2014-06-08 00:26:17 +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
glob glob: Explicitly import os.path. 2014-06-06 22:53:30 +03:00
gzip dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
hashlib dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
heapq heapq: Switch to metadata.txt. 2014-06-03 02:06:08 +03:00
html/html
html.entities
http.client http.client: Add metadata. 2014-06-07 23:15:03 +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
logging
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
optparse optparse: Add dummy module. 2014-06-21 03:21:13 +03:00
os os: Add name, environ vars (last - as dummy). 2014-06-11 00:09:23 +03:00
os.path os.path: Make join() accept bytes args. 2014-05-26 01:59:41 +03:00
pickle
posixpath posixpath: Add dummy module. 2014-05-20 23:33:42 +03:00
pprint dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
pty pty: Add dummy module. 2014-06-21 03:21:48 +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: Implement count arg to re.sub(). 2014-06-08 00:16:34 +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: Convert to metadata.txt. 2014-05-31 16:18:41 +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 shutils: Bump version. 2014-05-19 22:47:30 +03:00
socket socket: Add _GLOBAL_DEFAULT_TIMEOUT constant. 2014-05-25 22:56:45 +03:00
sqlite3 sqlite3: Add metadata. 2014-06-21 03:04:29 +03:00
stat stat: Take from CPython 3.3.3. 2014-05-19 23:46:49 +03:00
string string: Add basic constant definitions. 2014-05-20 22:38:52 +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
tempfile dummy modules: Switch to new metadata. 2014-05-12 21:21:08 +03:00
test.support test.support: Addmore functions. 2014-05-14 21:51:02 +03:00
timeit timeit: Add dummy module. 2014-06-21 03:07:46 +03:00
traceback
types
unittest unittest: Switch to metadata.txt . 2014-05-19 22:22:54 +03:00
urllib
urllib.parse urllib.parse: Add metadata. 2014-05-23 02:19:21 +03:00
uu uu: Add pristine from CPython 3.3.3. 2014-05-20 23:37:43 +03:00
warnings
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
Makefile
README.md README: More instructions. 2014-06-14 19:39:14 +03:00
make_metadata.py make_metadata.py: Allow to override dist_name in metadata.txt. 2014-06-21 04:05:20 +03:00

README.md

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

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

micropython-lib

micropython-lib is a project to develop non-monolothic standard library for MicroPython. Each module or package is available as a seprate distribution package from PyPI. Modules either written from scratch or ported from CPython. Note that main target of micropython-lib is so far "Unix" port of MicroPython. Actual requirements vary per module (basicly, if module is not related to I/O, it should work without problem on baremetal ports too).

Usage

micropython-lib packages are published on PyPI (Python Package Index), standard Python community package repository: http://pypi.python.org/ . You can search for MicroPython related packages, read additional info, etc.

To install packages from PyPI for usage on your local system, use "pip-micropython" tool, which is a simple wrapper around a standard "pip" tool, which is used to install package for CPython. "pip-micropython" tool can be found in "tools" subdirectory of the main MicroPython repository (https://github.com/micropython/micropython). Just install "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 pip-micropython source code for more info.

Development

To install modules during development, use "make install". By default, it will install all available packages. You can pass MOD= parameter to install specific module.

More info:

Basic guidelines for installing packages from PyPI: