osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Python-Dev] Fixing the ctypes implementation of the PEP3118 buffer interface


I've recently been adding better support to Numpy 1.16 for
interoperability with ctypes.

In doing so, I came across two bugs in the implementation of the
PEP3118 buffer interface within ctypes, affecting `Structure`s and
arrays. Rather than repeating the issue summaries here, I've linked
their tracker issues below, and the patches I filed to fix them.

 * https://bugs.python.org/issue32782 (patch:
https://github.com/python/cpython/pull/5576)
 * https://bugs.python.org/issue32780 (patch:
https://github.com/python/cpython/pull/5561)

I've seen little to no response on either the bug tracker or the
github PRs regarding these, so at the recommendation of the "Lifecycle
of a Pull Request" am emailing this list.

Without these fixes, numpy has no choice but to ignore the broken
buffer interface that ctypes provides, and instead try to parse the
ctypes types manually. The sooner this makes a CPython release, the
sooner numpy can remove those workarounds.

Thanks,
Eric