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.5.tar.gz (20.3 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for enum-0.4.5.tar.gz
Algorithm Hash digest
SHA256 3f6fa69eda5ff2b6242414ea6a6770f2a01cab3417cdceaeac1e51af8dfbab80
MD5 9c9a268658c98f59783041799189b143
BLAKE2b-256 8be89ab0fa69b64b96d6af51c9a148047afdadad80e76a4aa364adc800537a12

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