Metadata-Version: 2.3
Name: enum_mate
Version: 0.1.1
Summary: A lightweight Python library that enhances enum handling with explicit validation, retrieval, and type-conversion methods for safer and more intuitive enum usage.
License: MIT
Author: Sanhe Hu
Author-email: husanhe@gmail.com
Maintainer: Sanhe Hu
Maintainer-email: husanhe@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: auto
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: test
Requires-Dist: Sphinx (>=7.4.7,<8.0.0) ; extra == "doc"
Requires-Dist: build (>=1.2.1,<2.0.0) ; extra == "dev"
Requires-Dist: docfly (==3.0.0) ; extra == "doc"
Requires-Dist: furo (==2024.8.6) ; extra == "doc"
Requires-Dist: ipython (>=8.18.1,<8.19.0) ; extra == "doc"
Requires-Dist: nbsphinx (>=0.8.12,<1.0.0) ; extra == "doc"
Requires-Dist: pygments (>=2.18.0,<3.0.0) ; extra == "doc"
Requires-Dist: pytest (>=8.2.2,<9.0.0) ; extra == "test"
Requires-Dist: pytest-cov (>=6.0.0,<7.0.0) ; extra == "test"
Requires-Dist: rich (>=13.8.1,<14.0.0) ; extra == "dev"
Requires-Dist: rstobj (==1.2.1) ; extra == "doc"
Requires-Dist: sphinx-copybutton (>=0.5.2,<1.0.0) ; extra == "doc"
Requires-Dist: sphinx-design (>=0.6.1,<1.0.0) ; extra == "doc"
Requires-Dist: sphinx-jinja (>=2.0.2,<3.0.0) ; extra == "doc"
Requires-Dist: twine (>=6.0.0,<7.0.0) ; extra == "dev"
Requires-Dist: wheel (>=0.45.0,<1.0.0) ; extra == "dev"
Project-URL: Changelog, https://github.com/MacHu-GWU/enum_mate-project/blob/main/release-history.rst
Project-URL: Documentation, https://enum-mate.readthedocs.io/en/latest/
Project-URL: Download, https://pypi.org/pypi/enum-mate#files
Project-URL: Homepage, https://github.com/MacHu-GWU/enum_mate-project
Project-URL: Issues, https://github.com/MacHu-GWU/enum_mate-project/issues
Project-URL: Repository, https://github.com/MacHu-GWU/enum_mate-project
Description-Content-Type: text/x-rst


.. image:: https://readthedocs.org/projects/enum-mate/badge/?version=latest
    :target: https://enum-mate.readthedocs.io/en/latest/
    :alt: Documentation Status

.. image:: https://github.com/MacHu-GWU/enum_mate-project/actions/workflows/main.yml/badge.svg
    :target: https://github.com/MacHu-GWU/enum_mate-project/actions?query=workflow:CI

.. image:: https://codecov.io/gh/MacHu-GWU/enum_mate-project/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/MacHu-GWU/enum_mate-project

.. image:: https://img.shields.io/pypi/v/enum-mate.svg
    :target: https://pypi.python.org/pypi/enum-mate

.. image:: https://img.shields.io/pypi/l/enum-mate.svg
    :target: https://pypi.python.org/pypi/enum-mate

.. image:: https://img.shields.io/pypi/pyversions/enum-mate.svg
    :target: https://pypi.python.org/pypi/enum-mate

.. image:: https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github
    :target: https://github.com/MacHu-GWU/enum_mate-project/blob/main/release-history.rst

.. image:: https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
    :target: https://github.com/MacHu-GWU/enum_mate-project

------

.. image:: https://img.shields.io/badge/Link-API-blue.svg
    :target: https://enum-mate.readthedocs.io/en/latest/py-modindex.html

.. image:: https://img.shields.io/badge/Link-Install-blue.svg
    :target: `install`_

.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg
    :target: https://github.com/MacHu-GWU/enum_mate-project

.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg
    :target: https://github.com/MacHu-GWU/enum_mate-project/issues

.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg
    :target: https://github.com/MacHu-GWU/enum_mate-project/issues

.. image:: https://img.shields.io/badge/Link-Download-blue.svg
    :target: https://pypi.org/pypi/enum-mate#files


Welcome to ``enum_mate`` Documentation
==============================================================================
.. image:: https://enum-mate.readthedocs.io/en/latest/_static/enum_mate-logo.png
    :target: https://enum-mate.readthedocs.io/en/latest/

``enum_mate`` is a Python library that supercharges standard enums by providing explicit, intuitive APIs for validation, retrieval, and type conversion. It introduces BetterIntEnum and BetterStrEnum classes that seamlessly extend Python's built-in enum functionality with comprehensive methods like ``get_by_name()``, ``get_by_value()``, ``is_valid_value()``, ``ensure_int()``, and ``ensure_str()``. These enhanced enums make input validation, error handling, and enum manipulation more robust and developer-friendly. For a complete guide with detailed usage examples and advanced techniques, visit the `comprehensive documentation <https://enum-mate.readthedocs.io/en/latest/>`_.


.. _install:

Install
------------------------------------------------------------------------------

``enum_mate`` is released on PyPI, so all you need is to:

.. code-block:: console

    $ pip install enum-mate

To upgrade to latest version:

.. code-block:: console

    $ pip install --upgrade enum-mate

