cpython/Modules/clinic
Jonathan Protzenko 325e9b8ef4
gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316)
This replaces the existing hashlib Blake2 module with a single implementation that uses HACL\*'s Blake2b/Blake2s implementations. We added support for all the modes exposed by the Python API, including tree hashing, leaf nodes, and so on. We ported and merged all of these changes upstream in HACL\*, added test vectors based on Python's existing implementation, and exposed everything needed for hashlib.

This was joint work done with @R1kM.

See the PR for much discussion and benchmarking details.   TL;DR: On many systems, 8-50% faster (!) than `libb2`, on some systems it appeared 10-20% slower than `libb2`.
2024-08-13 21:42:19 +00:00
..
_abc.c.h
_asynciomodule.c.h GH-107803: double linked list implementation for asyncio tasks (GH-107804) 2024-06-22 10:58:35 -07:00
_bisectmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_bz2module.c.h
_codecsmodule.c.h
_collectionsmodule.c.h
_contextvarsmodule.c.h
_csv.c.h
_curses_panel.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_cursesmodule.c.h
_datetimemodule.c.h
_dbmmodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_elementtree.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_functoolsmodule.c.h
_gdbmmodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
_hashopenssl.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_heapqmodule.c.h
_localemodule.c.h
_lsprof.c.h
_lzmamodule.c.h
_opcode.c.h gh-120780: Show attribute name for LOAD_SPECIAL in dis output (#120781) 2024-06-20 07:07:24 -07:00
_operator.c.h gh-115808: Add `is_none and is_not_none to operator` (#115814) 2024-08-10 20:16:34 +01:00
_pickle.c.h gh-118830: Bump pickle.DEFAULT_PROTOCOL to 5 (GH-119340) 2024-07-19 16:47:10 +02:00
_posixsubprocess.c.h gh-121381 Remove subprocess._USE_VFORK escape hatch (#121383) 2024-07-30 18:39:54 -07:00
_queuemodule.c.h
_randommodule.c.h
_ssl.c.h
_statisticsmodule.c.h
_struct.c.h
_suggestions.c.h
_sysconfig.c.h
_testclinic.c.h gh-122688: Add more tests for var-positional parameters in Argument Clinic (GH-122900) 2024-08-12 16:52:48 +03:00
_testclinic_depr.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_testclinic_limited.c.h
_testinternalcapi.c.h gh-119213: Be More Careful About _PyArg_Parser.kwtuple Across Interpreters (gh-119331) 2024-05-22 09:57:52 -06:00
_testmultiphase.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
_tkinter.c.h
_tracemalloc.c.h
_typingmodule.c.h
_weakref.c.h
_winapi.c.h gh-119690: Adds Unicode support for named pipes in _winapi (GH-119717) 2024-05-29 16:51:09 +01:00
_zoneinfo.c.h
arraymodule.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
binascii.c.h
blake2module.c.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
cmathmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
fcntlmodule.c.h gh-69214: Fix fcntl.ioctl() request type (#119498) 2024-05-24 14:31:40 +02:00
gcmodule.c.h
grpmodule.c.h
itertoolsmodule.c.h gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) 2024-06-21 17:19:31 +02:00
mathmodule.c.h gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
md5module.c.h
overlapped.c.h
posixmodule.c.h gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
pwdmodule.c.h
pyexpat.c.h gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#119712) 2024-05-29 11:37:04 +02:00
readline.c.h
resource.c.h
selectmodule.c.h gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
sha1module.c.h
sha2module.c.h
sha3module.c.h
signalmodule.c.h gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
socketmodule.c.h gh-117657: Use critical section to make _socket.socket.close thread safe (GH-120490) 2024-07-01 16:38:30 +02:00
symtablemodule.c.h
syslogmodule.c.h
termios.c.h
timemodule.c.h
unicodedata.c.h gh-117557: Improve error messages when a string, bytes or bytearray of length 1 are expected (GH-117631) 2024-05-28 12:01:37 +03:00
zlibmodule.c.h