This is a repository of libraries designed to be useful for writing MicroPython applications.
 
 
Go to file
Damien George b89114c834 Revert "README: Add note that repository is unmaintained."
This reverts commit 1509830fee.
2019-02-26 01:02:14 +11:00
__future__ all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
_libc all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
_markupbase all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
abc all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
argparse all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
array all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
asyncio all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
asyncio_slow asyncio_slow: Rename examples as such. 2017-09-30 18:40:23 +03:00
base64 all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
binascii all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
binhex all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
bisect
calendar all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
cgi all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
cmd all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
code all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
codecs all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
codeop all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
collections all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
collections.defaultdict all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
collections.deque all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
concurrent.futures all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
contextlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
copy all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
cpython-uasyncio all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
csv all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
curses all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
curses.ascii all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
datetime all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
dbm all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
decimal all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
difflib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
dis all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
dummy_threading all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.charset all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.encoders all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.errors all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.feedparser all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.header all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.internal all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.message all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.parser all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
email.utils all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
errno all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
fcntl all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
ffilib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
fnmatch all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
formatter all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
fractions all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
ftplib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
functools all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
getopt all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
getpass all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
gettext all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
glob all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
gzip all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
hashlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
heapq all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
hmac all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
html all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
html.entities all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
html.parser all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
http.client all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
imaplib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
imp all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
importlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
inspect all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
io all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
ipaddress all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
itertools all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
json
keyword
linecache all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
locale all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
logging logging: Release 0.3. 2018-05-11 14:18:02 +10:00
machine all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
mailbox all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
mailcap all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
math all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
mimetypes all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
multiprocessing all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
nntplib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
numbers all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
operator all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
optparse all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
os all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
os.path all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pathlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pdb all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pickle all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pickletools all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pkg_resources all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pkgutil all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
platform all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
poplib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
posixpath all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pprint all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
profile all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pty all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pwd all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pyb pyb: Add LED blink example. 2015-04-05 14:08:16 +03:00
pystone all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
pystone_lowmem all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
queue all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
quopri all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
random all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
re-pcre all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
readline all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
reprlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
runpy all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
sched all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
select all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
selectors all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
shelve all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
shlex all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
shutil all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
signal all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
smtplib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
socket all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
socketserver all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
sqlite3 all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
ssl all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
stat all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
statistics all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
string all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
stringprep all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
struct all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
subprocess all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
sys all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
tarfile all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
telnetlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
tempfile all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
test test: test_pep380.py: Update to pass on MicroPython. 2015-07-08 00:07:48 +03:00
test.pystone all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
test.support all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
textwrap all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
threading all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
time all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
timeit all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
trace all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
traceback all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
tty all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
types
typing all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
uaiohttpclient all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
uasyncio uasyncio: Release 2.0. 2018-05-11 14:18:02 +10:00
uasyncio.core uasyncio.core: Release 2.0. 2018-05-11 14:18:02 +10:00
uasyncio.queues all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
uasyncio.synchro all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
uasyncio.udp uasyncio.udp: Release 0.1.1. 2018-05-11 14:18:02 +10:00
uasyncio.websocket.server uasyncio.websocket.server: Release 0.1. 2018-02-02 20:32:27 +02:00
ucontextlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
ucurses all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
udnspkt all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
umqtt.robust all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
umqtt.simple all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
unicodedata all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
unittest unittest: Release 0.3.2. 2018-05-11 14:18:02 +10:00
upip upip: Release 1.2.4. 2018-04-23 16:15:00 +10:00
upysh all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
urequests all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
urllib
urllib.parse all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
urllib.urequest all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
utarfile all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
uu all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
uuid all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
venv all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
warnings all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
weakref all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
xmltok all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
zipfile all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
zlib all: setup.py: Switch to sdist_upip. 2018-02-02 20:30:52 +02:00
.gitignore
CONTRIBUTING.md CONTRIBUTING.md: Add file with a link to Contributor Guidelines. 2015-05-03 21:07:17 +03:00
LICENSE
Makefile
README.md Revert "README: Add note that repository is unmaintained." 2019-02-26 01:02:14 +11:00
make_metadata.py make_metadata: Switch to use sdist_upip. 2018-02-02 20:30:05 +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: https://pypi.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: