micropython-lib/python-stdlib
Jim Mussared 36e74c1b57 zlib: Add zlib module.
This is a replacement for the `zlib` module that used to be built-in and
has been replaced by the MicroPython-specific `deflate` module.

Also updates the `gzip` module in a similar fashion and provide the
`gzip.GzipFile` class and `gzip.open` function.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-25 18:19:51 +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
argparse all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
base64 all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
binascii all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +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: Rename collections.* to collections-*. 2022-09-13 14:31:24 +10:00
collections-defaultdict all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
collections-deque collections: Rename collections.* to collections-*. 2022-09-13 14:31:24 +10:00
contextlib all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
copy copy: Bump patch version. 2023-07-23 11:48:29 +10:00
curses.ascii all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
datetime all: Remove __version__ from .py files. 2023-07-21 17:15:00 +10:00
errno all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
fnmatch fnmatch: Fix compatibility with ure -> re. 2023-07-21 17:19:43 +10:00
functools all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
gzip zlib: Add zlib module. 2023-07-25 18:19:51 +10:00
hashlib hashlib: Refactor, split, and optimise. 2023-07-20 23:28:08 +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 all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
hmac all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
html all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
inspect all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
io all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
itertools all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
json all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
keyword keyword: Add manifest file. 2023-07-21 16:58:48 +10:00
locale all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
logging logging: Bump minor version. 2023-07-23 11:48:46 +10:00
operator all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
os all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
os-path os.path: Remove external / ffi dependencies in os.path. 2022-09-30 17:51:06 +10:00
pathlib pathlib: Add initial pathlib implementation. 2022-11-17 14:26:33 +11:00
pickle all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +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
quopri all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
random all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10:00
shutil shutil: Add unit tests for shutil. 2022-11-11 13:04:16 +11:00
ssl all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +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
tarfile tarfile: Rename from utarfile. 2023-07-23 11:41:44 +10:00
tarfile-write tarfile: Rename from utarfile. 2023-07-23 11:41:44 +10:00
tempfile tempfile: Add manifest.py file at version 0.0.1. 2022-11-11 13:05:04 +11:00
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 all: Standardise x.y.z versioning for all packages. 2023-07-23 11:48:57 +10: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: Print results when no tests are found/run. 2023-03-27 12:06:04 +11:00
unittest-discover unittest-discover: Print results when no tests are found/run. 2023-03-27 12:06:04 +11:00
uu uu: Fix dependency on os-path. 2022-09-28 00:58:35 +10:00
venv venv: Add a command-line package for creating virtual environments. 2022-11-09 12:52:03 +11:00
warnings all: Replace metadata.txt with manifest.py. 2022-09-05 17:50:28 +10:00
zlib zlib: Add zlib module. 2023-07-25 18:19:51 +10:00
README.md top: Update top-level docs. 2022-12-16 17:16:03 +11:00

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.