-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
Keep deprecated functions in Python 3.13: remove this deprecation #105373
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
…precated Remove the deprecation on the following functions: * PyObject_SetAttr(obj, attr_name, NULL) * PyObject_SetAttrString(obj, attr_name, NULL) * PySequence_SetItem(obj, i, NULL) * PySequence_SetSlice(obj, i1, i2, NULL)
Remove the deprecation on the following functions: * PyObject_SetAttr(obj, attr_name, NULL) * PyObject_SetAttrString(obj, attr_name, NULL) * PySequence_SetItem(obj, i, NULL) * PySequence_SetSlice(obj, i1, i2, NULL)
Remove the deprecation on the following functions: * PyObject_SetAttr(obj, attr_name, NULL) * PyObject_SetAttrString(obj, attr_name, NULL) * PySequence_SetItem(obj, i, NULL) * PySequence_SetSlice(obj, i1, i2, NULL) Deprecation added by commit ed82604.
I wanted to propose the keep the deprecated logging.Logger.warn() method (remove its deprecation)... but instead I proposed to remove it :-) see issue #105376. |
There is no plan to deprecate PyArg_Parse(). The deprecation was added as a comment in the C API documentation in 2007 by commit 85eb8c1.
The deprecation is on decimal.HAVE_THREADS, not on the whole module.
The deprecation is on decimal.HAVE_THREADS, not on the whole module.
There is no plan to deprecate PyArg_Parse(). The deprecation was added as a comment in the C API documentation in 2007 by commit 85eb8c1.
|
See #80480 (comment) There are few situations where platform- or compiler-dependent |
Schedule the removal of C API global configuration variables in Python 3.14. Announce the removal to help C extension maintainers to upgrade their code.
Schedule the removal of C API global configuration variables in Python 3.14. Announce the removal to help C extension maintainers to upgrade their code.
* Convert PyObject_DelAttr() and PyObject_DelAttrString() macros to functions. * Add PyObject_DelAttr() and PyObject_DelAttrString() functions to the stable ABI. * Replace PyObject_SetAttr(obj, name, NULL) with PyObject_DelAttr(obj, name). * weakref proxy_setattr() calls PyObject_DelAttr() if value is NULL.
* Convert PyObject_DelAttr() and PyObject_DelAttrString() macros to functions. * Add PyObject_DelAttr() and PyObject_DelAttrString() functions to the stable ABI. * Replace PyObject_SetAttr(obj, name, NULL) with PyObject_DelAttr(obj, name). * weakref proxy_setattr() calls PyObject_DelAttr() if value is NULL.
* Convert PyObject_DelAttr() and PyObject_DelAttrString() macros to functions. * Add PyObject_DelAttr() and PyObject_DelAttrString() functions to the stable ABI. * Replace PyObject_SetAttr(obj, name, NULL) with PyObject_DelAttr(obj, name). * weakref proxy_setattr() calls PyObject_DelAttr() if value is NULL.
I created issue #106572: "Deprecate PyObject_SetAttr(obj, name, NULL): PyObject_DelAttr(obj, name) must be used instead". |
Well, I did the cleanup that I wanted to do about pending incompatible changes. I just proposed a new PR #106675 to elaborate the "Pending Removal" documentation. I propose to open new issues if we want to adjust other pending incompatible changes: unschedule them, schedule them, or schedule them earlier. |
…06675) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
There are multiple Python functions marked as "deprecated", usually only in the documentation, or sometimes in comments, whereas the feature is there for a long time and there is no need to remove them, or the rationale changed.
For example, the
array.array('u')
format was deprecated since it used thePy_UNICODE
C type (which is deprecated), but the code was updated to use thewchar_t
C type which is fine and not depreated.Another example is passing NULL as value to
PyObject_SetAttr(obj, name, value)
to delete an object attribute is deprecated... but this feature exists since the birth of Python. I don't think that it's really useful to deprecate this behavior: it's fine to keep it. ThePyObject_DelAttr()
function is just implemented as a macro passing NULL:Linked PRs
The text was updated successfully, but these errors were encountered: