micropython-lib/python-stdlib
Jim Mussared f3cfc52ab0 unix-ffi: Move more unix-only packages to unix-ffi.
With the dependencies captured in manifest.py, several packages in
python-stdlib were still unix-only due to direct or transitive dependencies
on unix-only or ffi modules.  Or they just make no sense to run on
microcontroller targets.

In a few cases (e.g. base64) where possible, the unix dependency could be
removed.

Updates manifest.py to use the `unix_ffi=True` arg to `require()` for these
libraries.

Rename re-pcre to re now that unix-ffi is effectively its own namespace.

Update unix-ffi/README.md, and strengthen the wording that the unix
libraries are unmaintained.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-05 17:50:42 +10:00
..
__future__ all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
abc all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
base64 unix-ffi: Move more unix-only packages to unix-ffi. 2022-09-05 17:50:42 +10:00
binascii all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
bisect all: Remove all setup.py files. 2022-09-05 17:50:11 +10:00
cmd all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
collections all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
collections.defaultdict all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
collections.deque all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
contextlib all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
copy all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
curses.ascii all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
datetime all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
errno all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
fnmatch all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
functools all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
gzip all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
hashlib all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
heapq all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
hmac all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
html all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
inspect all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
io all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
itertools all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
json all: Remove all setup.py files. 2022-09-05 17:50:11 +10:00
keyword all: Run black over all code. 2021-05-27 15:50:04 +10:00
locale all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
logging all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
operator all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
os all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
os.path all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
pickle all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
pkg_resources all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
pkgutil all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
pprint all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
pystone all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
pystone_lowmem all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
quopri all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
random all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
shutil all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
ssl all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
stat all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
string all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
struct all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
test.pystone all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
textwrap all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
threading all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
traceback all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
types all: Remove all setup.py files. 2022-09-05 17:50:11 +10:00
uu unix-ffi: Move more unix-only packages to unix-ffi. 2022-09-05 17:50:42 +10:00
warnings all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
README.md python-ecosys: Move urequests to python-ecosys. 2021-05-27 16:53:02 +10:00

README.md

CPython standard libraries

The libraries in this directory aim to provide compatible implementations of standard libraries to allow existing Python code to run un-modified on MicroPython.

Implementation

Many libraries are implemented in pure Python, often based on the original CPython implementation. (e.g. collections.defaultdict)

Some libraries are based on or extend from the built-in "micro" modules in the MicroPython firmware, providing additional functionality that didn't need to be written in C (e.g. collections, socket, struct).

Future plans (ideas for contributors):

  • Add README.md to each library explaining compatibility and limitations.