Commit Graph

134 Commits

Author SHA1 Message Date
Nikita Sobolev ca3eca1584
[3.11] gh-101100: Fix sphinx warnings in `library/enum.rst` (GH-114696) (GH-115209) 2024-02-09 12:09:59 -08:00
Miss Islington (bot) 21e3b31424
[3.11] gh-115106 docs: 'enum.Flag.__iter__()' did not exist prior to Python 3.11 (GH-115107) (GH-115118)
change versionchanged to versionadded
(cherry picked from commit 3f71c416c0)

Co-authored-by: Finite State Machine <38001514+finite-state-machine@users.noreply.github.com>
2024-02-08 14:02:45 -08:00
Miss Islington (bot) 9887b0c396
[3.11] gh-114231: Fix indentation in enum.rst (GH-114232) (#114235)
Co-authored-by: Miyashita Yosuke <44266492+miyashiiii@users.noreply.github.com>
2024-01-18 09:29:44 +00:00
Ezio Melotti 07471cda29
[3.11] gh-110631: Fix reST indentation in `Doc/library` (GH-110685) (#110737)
* [3.11] gh-110631: Fix reST indentation in `Doc/library` (GH-110685)

Fix wrong indentation in the Doc/library dir..
(cherry picked from commit bb7923f556)

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>

* Fix merge glitch.
2023-10-11 23:11:41 +02:00
Miss Islington (bot) 9d7f2705b5
[3.11] gh-107700: [Enum] Document that `EnumType` was added in 3.11 (GH-108260) (#108300)
(cherry picked from commit e8ef0bdd8c)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-08-22 20:33:26 +02:00
Hugo van Kemenade cd13f73afd
[3.11] gh-104659: Consolidate python examples in enum documentation (#104665) (#104666)
gh-104659: Consolidate python examples in enum documentation (#104665)

(cherry picked from commit 3ac856e697)

Co-authored-by: Thomas Hisch <t.hisch@gmail.com>
2023-05-19 23:12:57 +03:00
Miss Islington (bot) 804a973d8e
gh-103365: [Enum] STRICT boundary corrections (GH-103494)
STRICT boundary:

- fix bitwise operations
- make default for Flag
(cherry picked from commit 2194071540)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2023-04-13 08:55:53 -07:00
Miss Islington (bot) cf72cc25f6
gh-98298, gh-74730: [Enum] update docs (GH-103163)
fix FlagBoundary statements
add warning about reloading modules and enum identity
(cherry picked from commit 5ffc1e5a21)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2023-04-03 15:27:33 -07:00
Miss Islington (bot) b7a49eb5ff
gh-101739: [Enum] update docs - default boundary for Flag is CONFORM (GH-101746)
(cherry picked from commit 7f1c721756)

Co-authored-by: Owain Davies <116417456+OTheDev@users.noreply.github.com>
2023-02-17 13:44:45 -08:00
Miss Islington (bot) 08f5c77359
docs: Fix enum reassign `str` documentation (GH-101507)
(cherry picked from commit 24cbc7a2a0)

Co-authored-by: Peter Gessler <gesslerpd@users.noreply.github.com>
2023-02-02 12:40:30 -08:00
Miss Islington (bot) e039d53dae
[3.11] gh-101100: [Enum] Fix sphinx warnings in docs (GH-101122) (#101173)
(cherry picked from commit 9e025d305f)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2023-01-20 23:07:23 +01:00
Miss Islington (bot) 5e52778b1a
Fix typo in `ReprEnum` documentation (GH-101079)
(cherry picked from commit c5660ae96f)

Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>
2023-01-17 02:59:35 -08:00
Miss Islington (bot) 75717645bc
Fix typo in `enum` module documentation (GH-100992)
(cherry picked from commit 2161bbf243)

Co-authored-by: Noam Cohen <noam@noam.me>
2023-01-12 07:51:11 -08:00
Miss Islington (bot) 7e9b2b0aa7
[Enum] docs: replace 'last value' by 'highest value' for Flag auto (GH-100709)
(cherry picked from commit 64ed609c53)

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
2023-01-03 14:27:38 -08:00
Miss Islington (bot) 593c5a0247
gh-100174: [Enum] Correct PowersOfThree example. (GH-100178)
Changed from multiples of 3 to powers of 3 to match the class name.
(cherry picked from commit 868bab0fdc)

Co-authored-by: Beweeted <Beweeted@users.noreply.github.com>
2022-12-11 15:30:25 -08:00
Miss Islington (bot) 05031ee1f5
[Enum] Fix typos in the documentation (GH-99960)
(cherry picked from commit 2ae894b6d1)

Co-authored-by: Géry Ogam <gery.ogam@gmail.com>
2022-12-05 21:46:48 -08:00
Miss Islington (bot) 7f2bcc7aaa
gh-93464: [Enum] Add versionchanged tag (GH-99997)
(cherry picked from commit e3a3863cb9)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-12-05 02:45:37 -08:00
Miss Islington (bot) 944ac46b88
[3.11] gh-99304: [Enum] clarify what constitutes a flag alias (GH-99395) (GH-99415)
gh-99304: [Enum] clarify what constitutes a flag alias (GH-99395)
(cherry picked from commit 73a921b070)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-11-12 10:43:32 -08:00
Miss Islington (bot) be4bab8c2b
gh-93464: [Enum] fix auto() failure during multiple assignment (GH-99148)
* fix auto() failure during multiple assignment

i.e. `ONE = auto(), 'text'` will now have `ONE' with the value of `(1,
'text')`.  Before it would have been `(<an auto instance>, 'text')`
(cherry picked from commit 8feb7ab77c)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2022-11-06 06:30:32 -08:00
Miss Islington (bot) 3cd39e9399
[Enum docs]: fix order of arguments to isinstance() (GH-98542)
(cherry picked from commit 327fc1c6fa)

Co-authored-by: Clément Robert <cr52@protonmail.com>
2022-10-22 04:36:01 -07:00
Miss Islington (bot) 31d23ae894
gh-98298: [Enum] document ReprEnum, global_enum, and show_flag_values (GH-98455)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
(cherry picked from commit 3e95ffc7ae)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2022-10-21 15:43:23 -07:00
Miss Islington (bot) ef77f2f068
GH-95172 Make the same version `versionadded` oneline (GH-95172)
* Make the same version versionadded oneline

* Format versionadded for enum.rst

* Format versionadded

A single line versionadded was reading better.

Co-authored-by: Senthil Kumaran <senthil@python.org>
(cherry picked from commit d6062d1170)

Co-authored-by: 180909 <734461790@qq.com>
2022-10-05 11:01:17 -07:00
Miss Islington (bot) 321acd4138
gh-91456: [Enum] Deprecate default auto() behavior with mixed value types (GH-91457)
When used with plain Enum, auto() returns the last numeric value assigned, skipping any incompatible member values (such as strings); starting in 3.13 the default auto() for plain Enums will require all the values to be of compatible types, and will return a new value that is 1 higher than any existing value.

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
(cherry picked from commit fb1e9506c1)

Co-authored-by: Oscar R <89599049+oscar-LT@users.noreply.github.com>
2022-06-22 23:46:33 -07:00
Ezio Melotti 5b2c5ae756
[3.11] Restore default role check in `make check`. (GH-92290) (#92821)
* Restore default role check in `make check`.

* Options first, then files.

* Update `make.bat` too.

* Add a comment explaining the extra options.

* No reason to ignore the README.rst.

* Enable default-role check in sphinx-lint.

Co-authored-by: Julien Palard <julien@palard.fr>

* Update sphinx-lint default-role check.

* Fix use of the default role in the docs.

* Update make.bat to check for the default role too.

* Fix comment in make.bat.

Co-authored-by: Julien Palard <julien@palard.fr>
(cherry picked from commit 953ab07952)

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-05-15 17:55:12 +02:00
Alex Waygood 291945bc6e
Enum docs: Remove unnecessary apostrophes (#92382)
Replace "it's" with "its".
2022-05-06 11:53:00 +02:00
Ethan Furman 93364f9716
gh-78157: [Enum] nested classes will not be members in 3.13 (GH-92366)
- add member() and nonmember() functions
- add deprecation warning for internal classes in enums not
  becoming members in 3.13

Co-authored-by: edwardcwang
2022-05-06 00:16:22 -07:00
Meer Suri 9d9cfd61ec
bpo-46586: Fix documentation links (GH-31216)
* Fix enum.property documentation link
2022-02-11 20:21:38 -08:00
Nikita Sobolev 734b1f119b
bpo-46569: [Enum] fix typo in `StrEnum` docs (GH-31007) 2022-02-03 07:22:41 -08:00
Kumar Aditya 83d544b929
bpo-40066: [Enum] skip failing doc test (GH-30637) 2022-01-17 07:18:13 -08:00
Victor Stinner 42a64c03ec
Revert "bpo-40066: [Enum] update str() and format() output (GH-30582)" (GH-30632)
This reverts commit acf7403f9b.
2022-01-17 13:58:40 +01:00
Ethan Furman acf7403f9b
bpo-40066: [Enum] update str() and format() output (GH-30582)
Undo rejected PEP-663 changes:

- restore `repr()` to its 3.10 status
- restore `str()` to its 3.10 status

New changes:

- `IntEnum` and `IntFlag` now leave `__str__` as the original `int.__str__` so that str() and format() return the same result
- zero-valued flags without a name have a slightly changed repr(), e.g. `repr(Color(0)) == '<Color: 0>'`
- update `dir()` for mixed-in types to return all the methods and attributes of the mixed-in type
- added `_numeric_repr_` to `Flag` to control display of unnamed values
- enums without doc strings have a more comprehensive doc string added
- `ReprEnum` added -- inheriting from this makes it so only `__repr__` is replaced, not `__str__` nor `__format__`; `IntEnum`, `IntFlag`, and `StrEnum` all inherit from `ReprEnum`
2022-01-15 22:41:43 -08:00
Kumar Aditya 71ef0b4c2b
bpo-46157: fix typo in docs (GH-30237) 2021-12-23 11:17:31 +02:00
Alex Waygood b2afdc95cc
bpo-45535: Improve output of Enum ``dir()`` (GH-29316)
Modify the ``EnumType.__dir__()`` and ``Enum.__dir__()`` to ensure
that user-defined methods and methods inherited from mixin classes always
show up in the output of `help()`. This change also makes it easier for
IDEs to provide auto-completion.
2021-12-02 08:49:52 -08:00
Ethan Furman cb755dba7a
bpo-45740: [Enum] add versionadded markers to docs (GH-29443)
[Enum] add versionadded markers to docs
2021-11-06 10:16:43 -07:00
Christian Clauss 241bda785a
[doc] Fix typos found using codespell (GH-28744)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2021-10-05 23:48:44 +02:00
Steffen Zeile 2f54fbafa6
bpo-44559: [Enum] correct `versionadded` to 3.11 for new features (GH-27388) 2021-07-27 08:20:00 -07:00
Steffen Zeile 6c7ec7282b
Fix typos in `Weekday.today` example (GH-27363) 2021-07-26 23:35:09 +02:00
Ethan Furman f60b07ab6c
bpo-43945: [Enum] reduce scope of new format() behavior (GH-26752)
* [Enum] reduce scope of new format behavior

Instead of treating all Enums the same for format(), only user mixed-in
enums will be affected.  In other words, IntEnum and IntFlag will not be
changing the format() behavior, due to the requirement that they be
drop-in replacements of existing integer constants.

If a user creates their own integer-based enum, then the new behavior
will apply:

    class Grades(int, Enum):
        A = 5
        B = 4
        C = 3
        D = 2
        F = 0

Now:  format(Grades.B)  -> DeprecationWarning and '4'
3.12:                   -> no warning, and 'B'
2021-06-18 13:15:46 -07:00
Ethan Furman 741b8ae1cf
bpo-44342: [Enum] sync current docs to 3.10 (GH-26750) 2021-06-15 18:51:19 -07:00
Ethan Furman eea8148b7d
bpo-44242: [Enum] remove missing bits test from Flag creation (GH-26586)
Move the check for missing named flags in flag aliases from Flag creation
to a new *verify* decorator.
2021-06-09 09:03:55 -07:00
Mariusz Felisiak b06ed1d883
Remove duplicate words in docs. (GH-26167) 2021-05-21 23:39:09 +05:30
Shantanu 65d180d983
bpo-38250: add version added for FlagBoundary (GH-25820)
* bpo-38250: add version added for FlagBoundary

* Also add versionadded for utilities

Co-authored-by: hauntsaninja <>
2021-05-13 22:59:53 -07:00
Jelle Zijlstra 6fee0835cb
fix enum.property reference in docs (GH-25875) 2021-05-03 20:19:46 -07:00
Ethan Furman 6bd9288b80
bpo-43957: [Enum] Deprecate ``TypeError`` from containment checks. (GH-25670)
In 3.12 ``True`` or ``False`` will be returned for all containment checks,
with ``True`` being returned if the value is either a member of that enum
or one of its members' value.
2021-04-27 13:05:08 -07:00
Ethan Furman a02cb474f9
bpo-38659: [Enum] add _simple_enum decorator (GH-25497)
add:

* `_simple_enum` decorator to transform a normal class into an enum
* `_test_simple_enum` function to compare
* `_old_convert_` to enable checking `_convert_` generated enums

`_simple_enum` takes a normal class and converts it into an enum:

    @simple_enum(Enum)
    class Color:
        RED = 1
        GREEN = 2
        BLUE = 3

`_old_convert_` works much like` _convert_` does, using the original logic:

    # in a test file
    import socket, enum
    CheckedAddressFamily = enum._old_convert_(
            enum.IntEnum, 'AddressFamily', 'socket',
            lambda C: C.isupper() and C.startswith('AF_'),
            source=_socket,
            )

`_test_simple_enum` takes a traditional enum and a simple enum and
compares the two:

    # in the REPL or the same module as Color
    class CheckedColor(Enum):
        RED = 1
        GREEN = 2
        BLUE = 3

    _test_simple_enum(CheckedColor, Color)

    _test_simple_enum(CheckedAddressFamily, socket.AddressFamily)

Any important differences will raise a TypeError
2021-04-21 10:20:44 -07:00
Ethan Furman 503cdc7c12
Revert "bpo-38659: [Enum] add _simple_enum decorator (GH-25285)" (GH-25476)
This reverts commit dbac8f40e8.
2021-04-19 19:12:24 -07:00
Ethan Furman dbac8f40e8
bpo-38659: [Enum] add _simple_enum decorator (GH-25285)
add:

_simple_enum decorator to transform a normal class into an enum
_test_simple_enum function to compare
_old_convert_ to enable checking _convert_ generated enums
_simple_enum takes a normal class and converts it into an enum:

@simple_enum(Enum)
class Color:
    RED = 1
    GREEN = 2
    BLUE = 3

_old_convert_ works much like _convert_ does, using the original logic:

# in a test file
import socket, enum
CheckedAddressFamily = enum._old_convert_(
        enum.IntEnum, 'AddressFamily', 'socket',
        lambda C: C.isupper() and C.startswith('AF_'),
        source=_socket,
        )

test_simple_enum takes a traditional enum and a simple enum and
compares the two:

# in the REPL or the same module as Color
class CheckedColor(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

_test_simple_enum(CheckedColor, Color)

_test_simple_enum(CheckedAddressFamily, socket.AddressFamily)

Any important differences will raise a TypeError
2021-04-19 18:04:53 -07:00
Ethan Furman 49aec1a185
Enum: add (re)import of Flag for doctests (GH-25118)
Fix issue with CI doctest forgetting that ``Flag`` had already been imported.
2021-03-31 09:20:08 -07:00
Ethan Furman b775106d94
bpo-40066: Enum: modify `repr()` and `str()` (GH-22392)
* Enum: streamline repr() and str(); improve docs

- repr() is now ``enum_class.member_name``
- stdlib global enums are ``module_name.member_name``
- str() is now ``member_name``
- add HOW-TO section for ``Enum``
- change main documentation to be an API reference
2021-03-30 21:17:26 -07:00
Ethan Furman 44e580f448
bpo-43162: [Enum] update docs, renable doc tests (GH-24487)
* update docs, renable doc tests
* make deprecation warning active for two releases
2021-03-03 09:54:30 -08:00