##// END OF EJS Templates
sha1dc: use buffer protocol when parsing arguments...
sha1dc: use buffer protocol when parsing arguments Without this, functions won't accept bytearray, memoryview, or other types that can be exposed as bytes to the C API. The most resilient way to obtain a bytes-like object from the C API is using the Py_buffer interface. This commit converts use of s#/y# to s*/y* and uses Py_buffer for accessing the underlying bytes array. I checked how hashlib is implemented in CPython and the the implementation agrees with its use of the Py_buffer interface as well as using BufferError in cases of bad buffer types. Sadly, there's no good way to test for ndim > 1 without writing our own C-backed Python type. Differential Revision: https://phab.mercurial-scm.org/D7879

File last commit:

r37144:4bd73a95 default
r44546:dc9b5348 default
Show More
README.rst
24 lines | 1.1 KiB | text/x-rst | RstLexer
Build Status Code Coverage

This library provides encoding and decoding for the Concise Binary Object Representation (CBOR) (RFC 7049) serialization format.

There exists another Python CBOR implementation (cbor) which is faster on CPython due to its C extensions. On PyPy, cbor2 and cbor are almost identical in performance. The other implementation also lacks documentation and a comprehensive test suite, does not support most standard extension tags and is known to crash (segfault) when passed a cyclic structure (say, a list containing itself).