/enum_tools

Tools to expand Python's enum module.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Enum Tools

Tools to expand Python's enum module.

Docs Documentation Build Status Docs Check Status
Tests Linux Test Status Windows Test Status macOS Test Status Coverage
PyPI PyPI - Package Version PyPI - Supported Python Versions PyPI - Supported Implementations PyPI - Wheel
Anaconda Conda - Package Version Conda - Platform
Activity GitHub last commit GitHub commits since tagged version Maintenance PyPI - Downloads
QA CodeFactor Grade Flake8 Status mypy status
Other License GitHub top language Requirements Status

This library provides the following:

  1. enum_tools.autoenum -- A Sphinx extension to document Enums better than autoclass can currently.
  2. @enum_tools.documentation.document_enum -- A decorator to add docstrings to Enum members from a comment at the end of the line.
  3. enum_tools.custom_enums -- Additional Enum classes with different functionality.

Installation

enum_tools can be installed from PyPI or Anaconda.

To install with pip:

$ python -m pip install enum_tools

To install with conda:

  • First add the required channels
$ conda config --add channels https://conda.anaconda.org/conda-forge
$ conda config --add channels https://conda.anaconda.org/domdfcoding
  • Then install
$ conda install enum_tools

Further Reading

  1. https://docs.python.org/3/library/enum.html
  2. Is it possible to define a class constant inside an Enum?
  3. Enums with Attributes
  4. When should I subclass EnumMeta instead of Enum?