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

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for enum-0.4.6.tar.gz
Algorithm Hash digest
SHA256 54e78526b166982b36884613f35a76d9a6711c49810d3ec1a05b10c9b31f938e
MD5 173d468112cfa13a149b2c8af3e8fd52
BLAKE2b-256 0c4e1ea357e7783c756bb579333c1e4a026fb331371ee771f616ffedc781e531

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