Latest Results
feat: hashlib compatibility
- algorithms_available / algorithms_guaranteed: module attributes
- Str rejection: TypeError('Strings must be encoded before hashing')
- None rejection: TypeError('object supporting the buffer API required')
- data= keyword argument across all entry points (constructor, update, one-shot)
- Full buffer type support: bytes, bytearray, memoryview, array, mmap, PickleBuffer, ctypes
- tp_vectorcall on all 4 type constructors (CPython fast path)
- METH_FASTCALL on all 12 module-level one-shot functions
- METH_FASTCALL|METH_KEYWORDS on all 4 update() methods
- Manual arg parsing in tp_init for PyPy fallback
- Reject unknown keywords, duplicate args, extra positional args globally
- _get_buffer_or_str, _parse_fastcall_args, _check_kwargs shared helpers
- Py_ALWAYS_INLINE on all performance-critical helpers
- PyLong_FromUnsigned* replaces Py_BuildValue
- Remove hexdigits lookup table (regressed)
- 120 tests (15 hashlib compat, 32 fastcall, 34 benchmark, 39 original)
- Tested on CPython 3.9-3.15 and PyPy 3.9-3.11 feat: hashlib compatibility
- algorithms_available / algorithms_guaranteed: module attributes
- Str rejection: TypeError('Strings must be encoded before hashing')
- None rejection: TypeError('object supporting the buffer API required')
- data= keyword argument across all entry points (constructor, update, one-shot)
- Full buffer type support: bytes, bytearray, memoryview, array, mmap, PickleBuffer, ctypes
- tp_vectorcall on all 4 type constructors (CPython fast path)
- METH_FASTCALL on all 12 module-level one-shot functions
- METH_FASTCALL|METH_KEYWORDS on all 4 update() methods
- Manual arg parsing in tp_init for PyPy fallback
- Reject unknown keywords, duplicate args, extra positional args globally
- _get_buffer_or_str, _parse_fastcall_args, _check_kwargs shared helpers
- Py_ALWAYS_INLINE on all performance-critical helpers
- PyLong_FromUnsigned* replaces Py_BuildValue
- Remove hexdigits lookup table (regressed)
- 120 tests (15 hashlib compat, 32 fastcall, 34 benchmark, 39 original)
- Tested on CPython 3.9-3.15 and PyPy 3.9-3.11 Latest Branches
0%
0%
+1%
© 2026 CodSpeed Technology