Skip to main content

Robust enumerated type support in Python.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

This package provides a module for robust enumerations in Python.

An enumeration object is created with a sequence of string arguments to the Enum() constructor:

>>> from enum import Enum
>>> Colours = Enum('red', 'blue', 'green')
>>> Weekdays = Enum('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun')

The return value is an immutable sequence object with a value for each of the string arguments. Each value is also available as an attribute named from the corresponding string argument:

>>> pizza_night = Weekdays[4]
>>> shirt_colour = Colours.green

The values are constants that can be compared only with values from the same enumeration; comparison with other values will invoke Python’s fallback comparisons:

>>> pizza_night == Weekdays.fri
True
>>> shirt_colour > Colours.red
True
>>> shirt_colour == "green"
False

Each value from an enumeration exports its sequence index as an integer, and can be coerced to a simple string matching the original arguments used to create the enumeration:

>>> str(pizza_night)
'fri'
>>> shirt_colour.index
2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enum-0.4.4.tar.gz (18.6 kB view details)

Uploaded Source

File details

Details for the file enum-0.4.4.tar.gz.

File metadata

  • Download URL: enum-0.4.4.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for enum-0.4.4.tar.gz
Algorithm Hash digest
SHA256 9bdfacf543baf2350df7613eb37f598a802f346985ca0dc1548be6494140fdff
MD5 ce75c7c3c86741175a84456cc5bd531e
BLAKE2b-256 808e5e00e5378d5ad8ef08a5092be5b44887fb12f463d663c6d0901e38b0ef88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page