On 4/14/2019 2:54 AM, Eric Wieser wrote:
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)
memoryview(object).itemsize is 0 when object is ctypes structure and
format. C expert needed to review 30-line patch, most of which is error
handling. Patch includes new tests and blurb.
* https://bugs.python.org/issue32780 (patch:
https://github.com/python/cpython/pull/5561)
A partial fix for a more complicated memoryview, ctypes structure and
format, and itemsize situation.
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.
The problem is that the currently listed ctypes and memoryview experts
are not currently active.
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.
--
Terry Jan Reedy
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com