$npx skillfedfor your agent

enum-tools

Tools to expand Python's enum module.

With conditionsPyPI Python ModulesReleased Apr 20251.4M downloads / moLGPL-3.0-or-laterPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — enum_tools-0.13.0-py3-none-any.whl
v0.13.0 · released 2025-04-17 · Python >=3.7 · 2 runtime deps: pygments, typing-extensions

Yes, if you use enums in a documented project or need custom enum behavior. The low install friction, active maintenance, and lack of known vulnerabilities make it safe to adopt. The copyleft license (LGPL-3.0-or-later) is a consideration for proprietary code but not a barrier for open-source projects. Install it when Sphinx documentation or member docstrings would improve your codebase clarity.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.7 or later; Sphinx extension use requires Sphinx to be installed separately in your documentation build environment.
  • Low install friction with only two lightweight runtime dependencies (pygments and typing-extensions).
  • Actively maintained with recent commits and a stable Beta status.

License · maintenance · safety

LGPL-3.0-or-later (copyleft) — Licensed under LGPL-3.0-or-later (copyleft). Derivative works and distributions must preserve the license and source availability; suitable for open-source projects but requires careful review in proprietary contexts.

last release 2025-04-17 (484 days) · last repo commit 2026-07-09 · 11 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,401,832 downloads/mo, #3,949 on PyPI

Verify before relying

pip install enum_tools

from enum_tools.documentation import document_enum
from enum import Enum

@document_enum
class Color(Enum):
    RED = 1  # The color red
    BLUE = 2  # The color blue
  • Specific capabilities of custom_enums classes and how they differ from standard Enum beyond what the description states.
  • Whether the Sphinx extension (autoenum) works with all Sphinx versions or has version constraints.
  • Performance characteristics or limitations when documenting large enum hierarchies.
Same gist for agents: .md · .json

What it is and what it does

enum_tools extends Python's standard enum module with three main components: a Sphinx extension (autoenum) that documents enums more effectively than the default autoclass directive, a decorator (@document_enum) that extracts docstrings for enum members from inline comments, and custom enum classes with additional functionality. The package is primarily useful for projects that use enums extensively and need better documentation generation or want to attach metadata to enum members without boilerplate.

It depends on pygments for syntax highlighting and typing-extensions for type hints, both lightweight and widely available. The package supports Python 3.7 through 3.13 and is actively maintained. It's particularly relevant for library authors and projects with complex enum hierarchies that need clear, auto-generated documentation.

Use it for

  • Generate Sphinx documentation for enum classes automatically with better formatting than the default autoclass directive.
  • Add descriptive docstrings to individual enum members using inline comments with the @document_enum decorator.
  • Build custom enum subclasses with extended behavior beyond the standard Enum class for domain-specific use cases.
  • Maintain enum documentation in sync with code by extracting member descriptions from source comments.
  • Support type-checked enum definitions across Python 3.7+ projects with full typing support.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you use enums in a documented project or need custom enum behavior.

The low install friction, active maintenance, and lack of known vulnerabilities make it safe to adopt. The copyleft license (LGPL-3.0-or-later) is a consideration for proprietary code but not a barrier for open-source projects. Install it when Sphinx documentation or member docstrings would improve your codebase clarity.

Install

enum-tools on PyPI

Before you install

Low install friction with only two lightweight runtime dependencies (pygments and typing-extensions). Actively maintained with recent commits and a stable Beta status.

Requires Python 3.7 or later; Sphinx extension use requires Sphinx to be installed separately in your documentation build environment.

License in practice

Licensed under LGPL-3.0-or-later (copyleft). Derivative works and distributions must preserve the license and source availability; suitable for open-source projects but requires careful review in proprietary contexts.

Quickstart

pip install enum_tools

from enum_tools.documentation import document_enum
from enum import Enum

@document_enum
class Color(Enum):
    RED = 1  # The color red
    BLUE = 2  # The color blue

Verify before relying

  • Specific capabilities of custom_enums classes and how they differ from standard Enum beyond what the description states.
  • Whether the Sphinx extension (autoenum) works with all Sphinx versions or has version constraints.
  • Performance characteristics or limitations when documenting large enum hierarchies.

Package facts

LicenseLGPL-3.0-or-later copyleft
Python supportSupports the current Python release >=3.7
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
pygmentstyping-extensions
MaintenanceActively maintained 484 days since the last release
Last repo commit
First released
Downloads1,401,832 / month, #3,949 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaFramework :: Sphinx :: ExtensionIntended Audience :: DevelopersLicense :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)Operating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: DocumentationTopic :: Documentation :: SphinxTopic :: Software Development :: DocumentationTopic :: Software Development :: Libraries :: Python ModulesTopic :: UtilitiesTyping :: Typed

Evidence: enum_tools-0.13.0-py3-none-any.whl

Tags

Capabilities
enum documentation sphinxpython enum toolsenum member docstringscustom enum classesenum sphinx extensionpython enum utilitiesdocument enum members
Topics
enum-utilitiessphinx-extensiondocumentation-generation
PyPI keywords
documentationenumsphinxsphinx-extension

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “enum documentation sphinx”

  • enum-toolsProvides utilities to enhance Python's enum module with better Sphinx…
  • attributes-docExtracts and stores docstrings for class attributes at runtime,…
  • alabasterAlabaster is a clean, responsive Sphinx theme for documentation that…

Give your agent the search over MCP, or paste the wish link into any chat.

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also attributes-doc · matrix-enum · sphinx-toolbox · backports.strenum · astatine · domdf-python-tools · ordered-enum · pysubtypes · enum34 · numpydoc