skillfed

enum34

Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4

enum34 v1.1.10 9.3M downloads/30d#1,547 on PyPI
Permissive license BSD License Abandoned released

What it is and what it does

enum34 is a backport of Python 3.4's enum module to older Python versions (2.4–3.3). It lets you define enumerations—sets of symbolic names bound to constant values—that can be compared by identity, iterated, and looked up by name or value. The package provides the same Enum class and API as the standard library, so code written against it works identically to code using the built-in enum in modern Python.

This package was essential when Python 3.4 was new and many projects still supported Python 2.7 or early Python 3 releases. Today, it serves primarily as a dependency for legacy codebases that cannot upgrade. Since Python 2 and 3.3 are no longer supported by the Python community, and the package itself has not been maintained since 2020, installing it is rarely justified except to satisfy constraints in very old projects.

Use it for:

  • Maintaining legacy Python 2.7 codebases that need enumeration support without upgrading to Python 3.
  • Porting code from Python 3.4+ back to Python 3.3 or earlier when targeting older runtime environments.
  • Satisfying dependency chains in archived projects that explicitly require enum34 but cannot be updated.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides enumeration support for older Python versions by backporting the standard library enum module to Python 2.4–3.3.

No, unless you are actively maintaining a legacy codebase locked to Python 2 or early Python 3. The package is abandoned, targets obsolete Python versions, and the enum module is now built into all supported Python releases. Modern projects should use the standard library enum directly.

Install

enum34 on PyPI

pip

pip install enum34

uv

uv add enum34

poetry

poetry add enum34

Installing enum34

Before you install

Low install friction with no runtime dependencies. However, the package is abandoned (last release 2020-03-10, over 2348 days ago) and targets Python versions that are themselves long out of support.

License in practice

BSD License (permissive) places no restrictions on use, modification, or distribution.

Quickstart

pip install enum34

from enum import Enum

class Fruit(Enum):
    apple = 1
    banana = 2
    orange = 3

Fruit.banana
# <Fruit.banana: 2>

Targets Python 2.4–3.3; modern Python versions include enum in the standard library.

Verify before relying

  • Whether enum34 remains compatible with current Python tooling and dependency resolvers given its age and abandonment.
  • Current usage patterns outside of legacy codebases that cannot upgrade.

Package facts

License BSD License (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,348 days since the last release
First released
Downloads 9,312,551/month — #1,547 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: enum34-1.1.10-py2-none-any.whl; enum34-1.1.10-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2.4Programming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3.3Topic :: Software Development

Tags

enum backport python 2enumeration support legacy pythonenum34 python 2.7symbolic constants pythonenum module older versions
backportlegacy-python

More Software Development packages