-
-
Notifications
You must be signed in to change notification settings - Fork 31k
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
Document new 3.11 enum APIs (ReprEnum, global_* and/or show_flag_values) #98298
Comments
Working on something now. I presume I commit to main and backport to 3.11? |
Yup 👍 Thanks! |
…GH-98455) Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
…values (pythonGH-98455) Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM> (cherry picked from commit 3e95ffc) Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Hey @ethanfurman , are we all done here? |
@CAM-Gerlach I tihnk so. |
Hi! Inthe documentation, we can read (3.11.1) :
It is not said that members of the enum are also added to the global namespace. Example: from enum import global_enum, Enum
@global_enum
class Foo(Enum):
BAR = 1
print(BAR) # the documentation doesn't tell that this is possible Is this behavior a bug? Or is there something missing in the documentation? |
The behavior is intended, the docs need updating. |
I have been testing the almost all the new Should I create a new issue or is there an existing issue I can contribute to? EDIT: this current issue is not closed, so I can add stuff here, right? |
Yes, you can link PRs to this issue. Thanks! |
fix FlagBoundary statements add warning about reloading modules and enum identity (cherry picked from commit 5ffc1e5) Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
@Bktero Closing this issue. When you have more doc updates, please open a new issue. 😄 |
fix FlagBoundary statements add warning about reloading modules and enum identity
fix FlagBoundary statements add warning about reloading modules and enum identity
As discovered in #98295 , there are several undocumented new APIs in the
enum
module:ReprEnum
and is documented in What's New (and exported in__all__
), but not anywhere in the enum library module documentation, which seems like an oversight.global_enum
is documented in What's New (and exported in__all__
) and was previously documented in the library docs, but that documentation was reverted in bpo-40066: Revert "Revert "bpo-40066: [Enum] update str() and format() output..." #30637 , and not restored, so I'm unsure on the current status.global_str
,global_enum_repr
andglobal_flag_repr
were added (to replace the__str__()
and__repr__()
of the appropriate classes) and are not marked as private (_
) and are exported by__all__
, but aren't documented either. Should they be?show_flag_values
was added and is not in__all__
, but its use is referred to in an error message (cited in the docs) and it is not marked private (_
). Should this be documented as well?@ethanfurman your guidance here would be much appreciated, thanks. I'm happy to review/copyedit a PR, or if you prefer, I can draft something and you review it. Ideally, we should get this in before the 3.11 release in a week or so...
Related: #95913
Linked PRs
The text was updated successfully, but these errors were encountered: