Skip to main content

Advanced Enumerations (compatible with Python’s stdlib Enum), NamedTuples, and NamedConstants

WARNING: Version 3.1 has breaking changes in custom Enum settings WARNING: WARNING: AutoNumber has been removed WARNING: AutoValue has been removed

aenum includes a Python stdlib Enum-compatible data type, as well as a metaclass-based NamedTuple implementation and a NamedConstant class.

An Enum is a set of symbolic names (members) bound to unique, constant values. Within an enumeration, the members can be compared by identity, and the enumeration itself can be iterated over. Support exists for unique values, multiple values, auto-numbering, and suspension of aliasing (members with the same value are not identical), plus the ability to have values automatically bound to attributes.

A NamedTuple is a class-based, fixed-length tuple with a name for each possible position accessible using attribute-access notation as well as the standard index notation.

A NamedConstant is a class whose members cannot be rebound; it lacks all other Enum capabilities, however.

Enum classes:

  • Enum: Base class for creating enumerated constants.

  • IntEnum: Base class for creating enumerated constants that are also

    subclasses of int.

  • Flag: Base class for creating enumerated constants that can be combined

    using the bitwise operations without losing their Flag membership.

  • IntFlag: Base class for creating enumerated constants that can be combined

    using the bitwise operators without losing their IntFlag membership. IntFlag members are also subclasses of int.

  • AutoNumberEnum: Derived class that automatically assigns an int value to each

    member.

  • OrderedEnum: Derived class that adds <, <=, >=, and > methods to an Enum.

  • UniqueEnum: Derived class that ensures only one name is bound to any one

    value.

Utility functions include:

  • convert: helper to convert target global variables into an Enum

  • constant: helper class for creating constant members

  • enum: helper class for creating members with keywords

  • enum_property: property to enable enum members to have same named attributes

    (e.g. name and value)

  • export: helper to insert Enum members into a namespace (usually globals())

  • extend_enum: add new members to enumerations after creation

  • module: inserts NamedConstant and Enum classes into sys.modules

    where it will appear to be a module whose top-level names cannot be rebound

  • skip: class that prevents attributes from being converted to a

    constant or enum member

  • unique: decorator that ensures no duplicate members

Release files for aenum 3.1.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aenum 3.1.17
File Size Uploaded
aenum-3.1.17.tar.gz 137.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for aenum 3.1.17
File Interpreter ABI Platform
aenum-3.1.17-py3-none-any.whl Python 3 none any Details
aenum-3.1.17-py2-none-any.whl Python 2 none any Details

Total release size: 454.8 kB

Release files / aenum-3.1.17.tar.gz

Download URL aenum-3.1.17.tar.gz
Size 137.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a969a4516b194895de72c875ece355f17c0d272146f7fda346ef74f93cf4d5ba
BLAKE2b-256 checksum
How to use checksums
07e98b283567c1fef7c24d1f390b37daede8b61593d8cdaffb8e95d571699e83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / aenum-3.1.17-py3-none-any.whl

Download URL aenum-3.1.17-py3-none-any.whl
Size 165.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b883a37a04e74cc838ac442bdd28c266eae5bbf13e1342c7ef123ed25230139
BLAKE2b-256 checksum
How to use checksums
488d1fe30c6fd8999b9d462547c4a1bb6690bda24af38f2913c4bec7decb81f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release files / aenum-3.1.17-py2-none-any.whl

Download URL aenum-3.1.17-py2-none-any.whl
Size 151.6 kB
Tags Python 2
SHA-256 checksum
How to use checksums
0dad0421b2fbe30e3fb623b2a0a23eff823407df53829d6a72595e7f76f3d872
BLAKE2b-256 checksum
How to use checksums
cd73e9952b336aa437cb1e16863a453984c7ccdd386a5018b0a59570451fad8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.20

Release history Release notifications | RSS feed

This release

3.1.17 This release

3 release files

3.1.16

3 release files

3.1.15

3 release files

3.1.14

3 release files

3.1.13

3 release files

3.1.12

3 release files

3.1.11

3 release files

3.1.10

3 release files

3.1.9

3 release files

3.1.8

3 release files

3.1.7

3 release files

3.1.6

3 release files

3.1.5

3 release files

3.1.3

3 release files

3.1.2

3 release files

3.1.1

3 release files

3.1.0

3 release files

3.0.0

3 release files

2.2.6

3 release files

2.2.5

3 release files

2.2.4

3 release files

2.2.3

3 release files

2.2.2

3 release files

2.2.1

3 release files

2.2.0

3 release files

2.1.4

3 release files

2.1.2

3 release files

2.1.1

3 release files

2.1.0

3 release files

2.0.10

3 release files

2.0.9

3 release files

2.0.8

3 release files

2.0.7

3 release files

2.0.6

3 release files

2.0.5

3 release files

2.0.4

3 release files

2.0.3

3 release files

2.0.2

3 release files

2.0.1

3 release files

2.0.0

3 release files

1.4.7

3 release files

1.4.5

4 release files

1.4.4

3 release files

1.4.3

3 release files

1.4.2

3 release files

1.4.1

3 release files

1.4.0

3 release files

1.3.3

3 release files

1.3.2

3 release files

1.3.1

3 release files

1.3.0

3 release files

1.2.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page