aboutsummaryrefslogtreecommitdiff
path: root/venv/Lib/site-packages/aenum/CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'venv/Lib/site-packages/aenum/CHANGES')
-rw-r--r--venv/Lib/site-packages/aenum/CHANGES489
1 files changed, 0 insertions, 489 deletions
diff --git a/venv/Lib/site-packages/aenum/CHANGES b/venv/Lib/site-packages/aenum/CHANGES
deleted file mode 100644
index e8799f6d..00000000
--- a/venv/Lib/site-packages/aenum/CHANGES
+++ /dev/null
@@ -1,489 +0,0 @@
-3.1.8
-=====
-
-recalculate bits used after all flags created (sometimes needed when a custom
-`__new__` is in place.
-
-
-3.1.7
-=====
-
-update flag creation to (possibly) add bitwise operator methods to newly
-created flags
-
-update extend_enum() to work with 3.11 flags
-
-
-3.1.6
-=====
-
-Update `dir()` on mixed enums to include mixed data type methods and
-attributes.
-
-Rename `enum_property` to `property` to match stdlib. Recommended usage is
-`aenum.property` (prefix with module name).
-
-Remove quadritic creation behavior.
-
-
-BREAKING CHANGE BUG FIX that won't affect most people
-
-Enums with a custom `__new__` that:
-
-- use the enum machinery to generate the values; AND
-- have keyword arguments set to a default (like `None`)
-
-will fail to generate a missing value. To fix: remove the default value and
-instead specify it on the member creation line.
-
-BREAKING CHANGE
-
-In Python 3.11 the `str()` of mixed enums will now match its `format()` which
-will be the normal `str()` of the data type -- so for an IntEnum you'll see
-`5` instead of `Perm.R|X`. This affects IntEnum, StrEnum, and IntFlag.
-
-
-3.1.5
-=====
-
-fix support of `auto()` kwds
-
-
-3.1.3
-=====
-
-rename `aenum.property` to `aenum.enum_property`
-
-fix `enum_property` to work with `_init_` attributes
-
-
-3.1.2
-=====
-
-fix `extend_enum()` for unhashable values
-
-
-3.1.1
-=====
-
-fix `extend_enum()` for most cases
-
-
-3.1.0
-=====
-
-AddValue is similar to the old AutoNumber: it will always activate, but
-uses _generate_next_value_ to get the next value (so the user has some
-control over the return data type instead of always getting an int).
-
-
-BREAKING CHANGES
-
-AutoValue is gone. It was superflous and its removal simplified the code.
-Simply put the fields needed in an `_init_` and `_generate_next_value_`
-will be called to supply the missing values (this is probably already what
-is happening).
-
-
-
-3.0.0
-=====
-
-standard Enum usage is unchanged
-
-BREAKING CHANGES
-
-Enum
-- the more esoteric method of creating Enums have been modified or removed
- - AutoNumber setting is gone, inherit from AutoNumberEnum instead
- - creating members without specifying anything is removed (if you don't
- know what this means, you weren't doing it)
-
-Flag
-- unique flags are canonical (i.e. flags with powers of two values such as
- 1, 2, 4, 8, 16, etc.)
-- non-unique flags are aliases (i.e. values such as 3 or 7)
-- iteration of Flag and flag members only uses canonical flags
-
-
-ENHANCEMENTS
-
-Member creation has been redone to match Python 3.10's methods. This also
-allows all supported Pythons (2.7, 3.3+) to use the __set_name__ and
-__init_subclass__ protocols (more robustly than in aenum 2.2.5)
-
-
-CHANGES
-
-enum_property() has been renamed to property() (old name still available, but
-deprecated).
-
-bin() replacement shows negative integers in twos-complement
-
-
-
-
-2.2.5
-=====
-
-call __init_subclass__ after members have been added, and in Pythons < 3.6
-call __set_name__ in Pythons < 3.6
-do not convert/disallow private names
-add iteration/len support to NamedConstant
-
-
-2.2.4
-=====
-
-add support to Constant to retrieve members by value
-
- --> class K(Constant):
- ... one = 1
- ... two = 2
-
- --> K.one
- <K.one: 1>
-
- --> K(1)
- <K.one: 1>
-
-add pickle/deepcopy support to Constant
-
-add support for Constant to use other Constant values
- (resulting members /are not/ the same)
-
- --> class C(Constant)
- ... one = K.one
- ... three = 3
-
- --> C.one == K.one
- True
-
- --> C.one is K.one
- False
-
-AutoNumber and auto() now work together
-
-Enum members are now added to the class as enum_property, which supports
-unshadowing of parent class attributes when called on an Enum member:
-
- --> class StrEnum(str, Enum):
- ... lower = 'lower'
- ... upper = 'upper'
- ... mixed = 'mixed'
-
- --> StrEnum.lower
- <StrEnum.lower: 'lower'>
-
- --> StrEnum.lower.upper()
- 'LOWER'
-
- --> StrEnum.upper
- <StrEnum.upper: 'upper'>
-
- --> StrEnum.upper.upper()
- 'UPPER'
-
-
-2.2.3
-=====
-
-use members' type's methods __str__, __repr__, __format__, and
-__reduce_ex__ if directly assigned in Enum class body; i.e.:
-
- --> class Color(str, Enum):
- ... red = 'red'
- ... green = 'green'
- ... blue = 'blue'
- ... __str__ = str.__str__
-
- --> print(repr(Color.green))
- <Color.green: 'green'>
-
- --> print(Color.green)
- green
-
-
-2.2.2
-=====
-
-replace _RouteClassAttributeToGetattr with enum_property (it is still
-available as an alias)
-
-support constant() and auto() being used together:
-
- --> class Fruit(Flag):
- ... _order_ = 'apple banana lemon orange'
- ... apple = auto()
- ... banana = auto()
- ... lemon = auto()
- ... orange = auto()
- ... CitrusTypes = constant(lemon | orange)
-
- --> list(Fruit)
- [Fruit.apple, Fruit.banana, Fruit.lemon, Fruit.orange]
-
- --> list(Fruit.CitrusTypes)
- [Fruit.orange, Fruit.lemon]
-
- --> Fruit.orange in Fruit.CitrusTypes
- True
-
-
-2.2.1
-=====
-
-allow Enums to be called without a value
-
- class Color(Enum):
- black = 0
- red = 1
- green = 2
- blue = 3
- #
- @classmethod
- def _missing_value_(cls, value):
- if value is no_arg:
- return cls.black
-
- >>> Color()
- <Color.black: 0>
-
-allow Enum name use while constructing Enum (Python 3.4+ only)
-
- --> class Color(Enum):
- ... _order_ = 'BLACK WHITE'
- ... BLACK = Color('black', '#000')
- ... WHITE = Color('white', '#fff')
- ... #
- ... def __init__(self, label, hex):
- ... self.label = label
- ... self.hex = hex
-
-
-2.2.0
-=====
-
-BREAKING CHANGE
----------------
-In Python 3+ classes defined inside an Enum no longer become members by
-default; in Python 2 they still become members, but see below.
-
-For cross-compatibility and full control two decorators are provided:
-
-- @member --> forces item to become a member
-- @nonmember --> excludes item from becoming a member
-
-So to have an Enum that behaves the same in Python 2 and 3, use the
-decorators (and other compatibility shims):
-
- class Color(Enum):
-
- _order_ = 'red green blue'
-
- red = 1
- green = 2
- blue = 3
-
- @nonmember
- class Shades(Enum):
-
- _order_ = 'light medium dark'
-
- light = 1
- medium = 2
- dark = 3
-
-
-2.1.4
-=====
-
-EnumMeta:
-- change __member_new__ to __new_member__ (as the stdlib enum does)
-- assign member name to enum() instances (an Enum helper for defining members)
-- handle empty iterables when using functional API
-- make auto() work with previous enum members
-- keep searching mixins until base class is found
-
-Enum:
-- fix bug in Flag checks (ensure it is a Flag before checking the name)
-- add multiple mixin support
-- do not allow blank names (functional API)
-- raise TypeError if _missing_* returns wrong type
-- fix __format__ to honor custom __str__
-
-extend_enum:
-- support stdlib Enums
-- use _generate_next_value_ if value not provided
-
-general:
-- standardize exception formatting
-- use getfullargspec() in Python 3 (avoids deprecation warnings)
-
-
-2.1.2
-=====
-
-when order is callable, save it for subclass use
-
-
-2.1.1
-=====
-
-correctly raise TypeError for non-Enum containment checks
-support combining names with | for Flag key access
-support _order_ being a callable
-
-
-2.1.0
-=====
-
-support Flags being combined with other data types:
-- add _create_pseudo_member_values_
-- add default __new__ and temporary _init_
-
-
-2.0.10
-======
-
-ensure _ignore_ is set when _settings_ specified in body which includes
-AutoValue
-
-make Flag members iterable
-
-
-2.0.9
-=====
-
-fix missing comma in __all__
-fix extend_enum with custom __new__ methods
-fix MultiValue with AutoNumber without _init_
-
-
-2.0.8
-=====
-
-extend_enum now handles aliases and multivalues correctly
-
-
-2.0.7
-=====
-
-support mixin types with extend_enum
-init and AutoNumber can now work together
-add test for new Enum using EnumMeta
-add tests for variations of multivalue and init
-prevent deletion of NamedConstant.constant
-
-
-2.0.6
-=====
-
-constants cannot be deleted (they already couldn't be changed)
-constants can be used to define other constants
-
-
-2.0.5
-=====
-
-_init_ and MultiValue can now work together
-
-
-2.0.4
-=====
-
-_init_ and AutoValue (and _generate_next_value_) can now work together to
-supply missing values even when some of the required values per member are
-absent
-
-
-2.0.3
-=====
-
-add _missing_value_ and _missing_name_ methods, deprecate _missing_
-make enum instances comparable
-
-
-2.0.2
-=====
-
-both EnumMeta.__getattr__ and Enum.__new__ fall back to _missing_
-
-
-2.0.1
-=====
-
-auto() now works with other data types
-AutoNumber supports legacy Enums (fixed regression)
-
-
-2.0.0
-=====
-
-Flag and IntFlag added.
-
-
-1.4.7
-=====
-
-fix %-interpolation bug
-defined SqlLiteEnum only if sqlite exists
-support pyflakes
-
-
-1.4.6
-=====
-
-version numbering error
-
-
-1.4.5
-=====
-
-revert AutoNumberEnum to custom __new__ instead of AutoNumber
-use _ignore_ to shield against AutoNumber magic
-inherit start and init settings from base Enums
-
-
-1.4.4
-=====
-
-enabled export as a decorator
-enabled _order_ to replace __order__
-enabled python2 support for settings, init, and start
-
-
-1.4.3
-=====
-
-support _ignore_ for dynamically creating class bodies
-
-
-1.4.2
-=====
-
-MultiValue, NoAlias, Unique, and init now work with Python 2
-
-
-1.4.1
-=====
-
-Py3: added Enum creation flags: Auto, MultiValue, NoAlias, Unique
-
-fixed extend_enum to honor Enum flags
-
-
-1.4.0
-=====
-
-When possible aenum inherits from Python's own enum.
-
-Breaking change: enum members now default to evaluating as True to maintain
-compatibility with the stdlib.
-
-Add your own __bool__ (__nonzero__ in Python 2) if need this behavior:
-
- def __bool__(self):
- return bool(self.value)
- __nonzero__ = __bool__
-