Metadata-Version: 2.4
Name: drf-enum-expose
Version: 0.1.0
Summary: Simple enum tools for Django with automatic API exposure
Author-email: Hosseini-RTR <h.hosseini.me@gmail.com>
Maintainer-email: Hosseini-RTR <h.hosseini.me@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/hosseini-rtr/drf-enum-expose
Project-URL: Documentation, https://drf-enum-expose.readthedocs.io/
Project-URL: Repository, https://github.com/hosseini-rtr/drf-enum-expose.git
Project-URL: Issues, https://github.com/hosseini-rtr/drf-enum-expose/issues
Keywords: django,enum,rest,api,tools
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
License-File: AUTHORS.txt
Requires-Dist: Django>=3.2
Requires-Dist: djangorestframework>=3.12
Requires-Dist: drf-spectacular>=0.30.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: setuptools>=84.0.0; extra == "dev"
Requires-Dist: twine>=7.0.0; extra == "dev"
Requires-Dist: wheel>=0.48.0; extra == "dev"
Requires-Dist: pytest-django>=4.5; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: isort>=5.12; extra == "dev"
Requires-Dist: flake8<8.0,>=7.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: pre-commit>=3.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=6.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.2; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"
Requires-Dist: pytest-django>=4.5; extra == "test"
Requires-Dist: pytest-cov>=4.0; extra == "test"
Requires-Dist: factory-boy>=3.2; extra == "test"
Dynamic: license-file

# DRF Enum Expose

Simple and automatic enum management for Django with REST API exposure.

## Installation

```bash
pip install drf-enum-expose
```

## Quick Start

1. Add `drf_enum_expose` to `INSTALLED_APPS`:
```python
INSTALLED_APPS = [
    ...
    'drf_enum_expose',
]
```

2. Register your enums:
```python
from django.db import models
from drf_enum_expose import register_enum

@register_enum
class ContentType(models.TextChoices):
    VIDEO = "VIDEO", "Video"
    AUDIO = "AUDIO", "Audio"
```

3. Include URLs:
```python
urlpatterns = [
    path('api/enums/', include('drf_enum_expose.urls')),
]
```

4. Access API:
```bash
GET /api/enums/
GET /api/enums/ContentType/
GET /api/enums/stats/
```

## Features

- 🔄 Automatic enum registration with decorator
- 📡 REST API for all enums
- 💾 Built-in caching
- 📊 Statistics endpoint
- 🔍 Management command for checking enums
