micropython-lib/python-stdlib
Jim Mussared f95260d7e3 python-stdlib/hmac: Update to work with built-in hash functions.
This library was non-functional unless used with the micropython-lib
pure-Python implementation of hashlib, even if the device provides
sha1 and sha256.

This updates hmac to be significantly more RAM efficient (removes the
512-byte table), and functional with the built-in hash functions.

The only unsupported function is "copy", but this is non-critical, and now
fails with a NotSupportedError.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-08-09 00:19:31 +10:00
..
__future__
_markupbase
abc
argparse
base64
binascii binascii: Implement newline param in function b2a_base64. 2022-06-29 13:00:50 +10:00
bisect
cgi python-stdlib/cgi: Apply Black formatting. 2021-05-27 22:42:47 +10:00
cmd
collections
collections.defaultdict
collections.deque
contextlib
copy
curses.ascii
datetime python-stdlib/datetime: Add new implementation of datetime module. 2022-03-22 14:02:01 +11:00
email.charset
email.encoders
email.errors
email.feedparser
email.header
email.internal all: Update formatting for new Black version 22.1.0. 2022-03-22 13:30:34 +11:00
email.message
email.parser
email.utils
errno
fnmatch fnmatch: Release 0.6.0. 2022-05-06 10:47:37 +10:00
functools
getopt
glob
gzip
hashlib
heapq
hmac python-stdlib/hmac: Update to work with built-in hash functions. 2022-08-09 00:19:31 +10:00
html
html.entities
html.parser
http.client
inspect
io
itertools
json
keyword
locale
logging
operator
os
os.path
pickle
pkg_resources
pkgutil
pprint
pystone
pystone_lowmem
quopri
random python-stdlib/random: Add getrandbits with no limit on number of bits. 2021-05-30 16:04:17 +10:00
shutil
socket
ssl
stat
string
struct
test.pystone
textwrap
threading
timeit all: Update formatting for new Black version 22.1.0. 2022-03-22 13:30:34 +11:00
traceback
types
unittest unittest: Version 0.9.0 2022-05-06 10:47:37 +10:00
urllib.parse
uu
warnings
README.md

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.