micropython-lib/python-stdlib
Jared Hancock b5aa5f0d1b logging: Fix StreamHandler to call parent constructor.
Otherwise there's a crash on line 70 where level is not a property of the
class unless explicitly set with `setLevel()`.
2024-07-03 17:04:39 +10:00
..
__future__ __future__: Add "annotations". 2023-10-04 12:53:52 +11:00
abc
argparse all: Use non-u versions of built-in modules. 2024-06-14 10:35:06 +10:00
base64 base64: Implement custom maketrans and translate methods. 2023-12-20 12:26:13 +11:00
binascii all: Use non-u versions of built-in modules. 2024-06-14 10:35:06 +10:00
bisect all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
cmd all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
collections collections: Remove micropython-lib Python implementation of deque. 2024-05-15 14:12:14 +10:00
collections-defaultdict all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
contextlib contextlib: Use a list instead of deque for exit callbacks. 2024-06-17 11:18:48 +10:00
copy all: Use non-u versions of built-in modules. 2024-06-14 10:35:06 +10:00
curses.ascii all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
datetime datetime: Skip tests that require the host to be in UTC timezone. 2024-06-17 11:20:11 +10:00
errno
fnmatch fnmatch: Don't require test.support, which no longer exists. 2024-06-17 11:20:34 +10:00
functools
gzip gzip: Fix recursion error in open() function. 2024-02-29 14:54:24 +11:00
hashlib hashlib: Only import pure Python hashlib when running test. 2024-06-17 11:20:42 +10:00
hashlib-core all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
hashlib-sha224 all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
hashlib-sha256 all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
hashlib-sha384 all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
hashlib-sha512 all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
heapq
hmac hmac: Fix passing in a string for digestmod argument. 2024-02-07 12:45:03 +11:00
html all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
inspect
io all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
itertools
keyword keyword: Add manifest file. 2023-07-21 16:58:48 +10:00
locale
logging logging: Fix StreamHandler to call parent constructor. 2024-07-03 17:04:39 +10:00
operator
os all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
os-path os-path: Implement os.path.isfile(). 2023-12-20 14:46:57 +11:00
pathlib pathlib: Add __rtruediv__ magic method to pathlib.Path. 2024-05-24 18:32:25 +10:00
pickle all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
pkg_resources all: Use non-u versions of built-in modules. 2024-06-14 10:35:06 +10:00
pkgutil
pprint
quopri quopri: Remove dependency on test.support and subprocess in unit test. 2024-06-17 11:18:05 +10:00
random all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
shutil
ssl ssl: Use "from tls import *" to be compatible with axtls. 2024-03-28 17:44:37 +11:00
stat
string
struct
tarfile tarfile: Rename from utarfile. 2023-07-23 11:41:44 +10:00
tarfile-write tarfile-write: Fix permissions when adding to archive. 2024-02-09 10:43:05 +11:00
tempfile
textwrap all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
threading all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
time time: Add README to explain the purpose of the time extension library. 2023-12-20 12:05:35 +11:00
traceback all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
types types: Add manifest file. 2023-07-21 16:58:48 +10:00
unittest
unittest-discover unittest-discover: Avoid adding test parent dir to sys.path. 2024-07-03 16:53:49 +10:00
uu
venv
warnings
zlib zlib: Add zlib module. 2023-07-25 18:19:51 +10:00
README.md

README.md

CPython Standard Library

The packages in this directory aim to provide compatible implementations of modules from the Python Standard Library, with the goal of allowing existing Python code to run un-modified on MicroPython.

Implementation

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

Some packages 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.