https://github.com/python/cpython/commit/679e632c5ec2a109f3f718fd9f97e0c8dd2f8b89 commit: 679e632c5ec2a109f3f718fd9f97e0c8dd2f8b89 branch: 3.13 author: Miss Islington (bot) <31488909+miss-isling...@users.noreply.github.com> committer: AA-Turner <9087854+aa-tur...@users.noreply.github.com> date: 2025-05-01T12:09:33+01:00 summary:
[3.13] gh-132246: Add PEP 688 to C Buffer Protocol docs (GH-132249) (#132282) gh-132246: Add PEP 688 to C Buffer Protocol docs (GH-132249) (cherry picked from commit 8421b648e91981e393a740dd9fb7b7dbf4cf07dc) Co-authored-by: Cody Maloney <cmalo...@users.noreply.github.com> files: M Doc/c-api/buffer.rst diff --git a/Doc/c-api/buffer.rst b/Doc/c-api/buffer.rst index dc43a3d5fcb094..d3081894eadaf5 100644 --- a/Doc/c-api/buffer.rst +++ b/Doc/c-api/buffer.rst @@ -26,17 +26,19 @@ characteristic of being backed by a possibly large memory buffer. It is then desirable, in some situations, to access that buffer directly and without intermediate copying. -Python provides such a facility at the C level in the form of the :ref:`buffer -protocol <bufferobjects>`. This protocol has two sides: +Python provides such a facility at the C and Python level in the form of the +:ref:`buffer protocol <bufferobjects>`. This protocol has two sides: .. index:: single: PyBufferProcs (C type) - on the producer side, a type can export a "buffer interface" which allows objects of that type to expose information about their underlying buffer. - This interface is described in the section :ref:`buffer-structs`; + This interface is described in the section :ref:`buffer-structs`; for + Python see :ref:`python-buffer-protocol`. - on the consumer side, several means are available to obtain a pointer to - the raw underlying data of an object (for example a method parameter). + the raw underlying data of an object (for example a method parameter). For + Python see :class:`memoryview`. Simple objects such as :class:`bytes` and :class:`bytearray` expose their underlying buffer in byte-oriented form. Other forms are possible; for example, @@ -62,6 +64,10 @@ In both cases, :c:func:`PyBuffer_Release` must be called when the buffer isn't needed anymore. Failure to do so could lead to various issues such as resource leaks. +.. versionadded:: 3.12 + + The buffer protocol is now accessible in Python, see + :ref:`python-buffer-protocol` and :class:`memoryview`. .. _buffer-structure: _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com