Antoine Pitrou wrote: > Nick Coghlan <ncoghlan <at> gmail.com> writes: >> I don't see anything wrong with the PEP 3118 protocol. > > Apart from the fact that: > - it uses something (Py_buffer) which is not a PyObject and has totally > different allocation/lifetime semantics (which makes it non-trivial to adapt to > for anyone used to the rest of the C API) * this is a non-issue. The Py_buffer struct is just a place-holder for a bunch of variables. It could be a Python-object but that was seen as unnecessary. > - it has unsolved issues like allocation of the underlying shape and strides > members * this is false. It does specify how this is handled. > - it doesn't specify how to obtain e.g. a sub-buffer, or even duplicate an > existing one (which seem to be rather fundamental actions to me) * this is not part of the PEP. Whether it's a deficiency or not is open to interpretation. > > ... I agree there's nothing wrong with it! I'm glad you agree. > >> That Py_buffer describes the *whole* data store, but a memoryview slice >> may only be exposing part of it - so while the info in the Py_buffer is >> accurate for the underlying object, it is *not* accurate for the >> memoryview itself. > > And the problem here is that Py_buffer is/was (*) not flexible enough to allow > easy modification in order to take a sub-buffer without some annoying problems. > You are confusing the intent of the memoryview with the Py_buffer struct. -Travis
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4