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

Reply via email to