[Python-Dev] Extended Buffer Protocol - simple use examples

Paul Moore p.f.moore at gmail.com
Mon Apr 9 12:25:15 CEST 2007

I'll admit right off that I haven't followed all of the extended
buffer protocol discussions - I have no real need for anything much
beyond the existing "here's a blob of memory" level of functionality.

I have skimmed (briefly, I'll admit!) the pre-PEP, but I've found it
extremely difficult to find a simple example of the basic (in my view)
use case of an undifferentiated block of bytes.

Can I suggest that the following uses would be the significant
majority of buffer protocol uses - they are certainly going to be the
basic transitional case from the existing protocol - and deserve to be
singled out in the PEP with some description or (better) pseudo-code
examples. If they are already there, I apologise, but I did look, and
got bogged down in the more sophisticated stuff - so they probably
need making more visible.

1. (Producer) I have a block of memory in my C extension and I want to
expose it as a simple contiguous block of bytes to Python.

2. (Consumer) I want to get at a block of memory exposed as a buffer.
I am only interested in, and only support, viewing a buffer as a block
of contiguous bytes. I expect most if not all extensions to be able to
provide such a view.

I'd hope these 2 cases are pretty simple to code, but I'd like to see
that made explicit in the PEP.

unsophisticated-ly y'rs

More information about the Python-Dev mailing list