Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
gh-85275: Remove old buffer APIs#105137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Doc/whatsnew/3.13.rst Outdated
* ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, ``PyObject_CheckReadBuffer()``, | ||
and ``PyObject_AsWriteBuffer()`` are removed. Please migrate to new buffer protocol; | ||
:c:func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Would it be possible to elaborate how to replace the 3 "As" functions withPyObject_GetBuffer()
flags? I'm not used this Py_buffer API. AsCharBuffer() useconst char **
type and AsReadBuffer() useconst void **buffer
type: constant. ButPyBuffer.buf
type isvoid*
, it's mutable. Maybe add a note about casting if needed? Or provide a full recipe. I don't know.
How do you replacebuffer_len
? Is itPy_buffer.len
orPy_buffer.itemsize
? It's a honest question, I don't know the answer :-(
You may also mention that PyObject_CheckReadBuffer() ignores any kind of exception, whereas PyObject_GetBuffer() can raise different exceptions. What is the expected exception if a type doesn't support the buffer protocol?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
LGTM, thanks. Let's try again to remove them in Python 3.13.
Uh oh!
There was an error while loading.Please reload this page.
Co-authored-by: Victor Stinner <vstinner@python.org>
Nice. Let's see how it goes now :-) |
Uh oh!
There was an error while loading.Please reload this page.
They are now ABI only.
📚 Documentation preview 📚:https://cpython-previews--105137.org.readthedocs.build/