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