gh-95245: Document Py_TPFLAGS_PREHEADER#135861
Conversation
ZeroIntensity
left a comment
There was a problem hiding this comment.
We should include documentation on the type object page too.
|
@ZeroIntensity Thanks for review! Fixed (I hope :) |
ZeroIntensity
left a comment
There was a problem hiding this comment.
I think that if this is internal-only, it would be better to completely drop it from public headers rather than document it as such.
Misc/NEWS.d/next/Core_and_Builtins/2025-06-24-13-08-15.gh-issue-95245.3whjTE.rst
Outdated
Show resolved
Hide resolved
(Don't do this yet, by the way. Let's come to a consensus in the issue.) |
|
As no comments from @iritkatriel or @markshannon I propose to make it internal as @ZeroIntensity suggested and rename it to @encukou WDYT? |
|
Per PEP-387, removing (or renaming) it probablyneeds a deprecation cycle. Or is there evidence that no existing code uses it? |
|
Since the It might be better to rename it to |
https://grep.app/search?q=Py_TPFLAGS_PREHEADER shows close to nothing of usage. Also, I'm downloading top-pypi packages to checks usage (as described here https://hugovk.dev/blog/2022/how-to-search-5000-python-projects/), will report as it finished. |
@markshannon WDYT about wordings in this PR? Can you suggest some improvements? |
Searched over 13k+ packages: |
If it's public, it's best not to rename it. |
Co-authored-by: Petr Viktorin <encukou@gmail.com>
I think it's probably safe to rename it, at least for 3.14. Based on a code search, we're the only ones who use it (all the non-CPython mentions are people copying our headers). |
Only recordclass uses it - #135861 (comment) |
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
|
@ZeroIntensity Please take a look. |
ZeroIntensity
left a comment
There was a problem hiding this comment.
Thanks, this mostly looks good.
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
ZeroIntensity
left a comment
There was a problem hiding this comment.
LGTM.
I'm not a huge fan of documenting things that should be private, but I think it's too late to move this to internal headers or rename it. We should consider deprecating this in 3.15.
@encukou Would you like to finish up your review?
|
It's hard to deprecate a macro, so adding warnings in docs look best. |
|
Thanks everyone! |
I see following usages of Py_TPFLAGS_PREHEADER:
I checked all linked PR from #95245 and can't find any explanation. I also checked https://github.com/python/cpython/blob/main/Objects/object_layout.md.
@encukou Please take a look.