Metadata-Version: 2.4
Name: django-ninja-problems
Version: 0.1.0
Summary: RFC 7807 and RFC 9457 Problem Details for Django Ninja APIs
Author: Jansem
License-Expression: MIT
Classifier: Framework :: Django
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django>=4.2
Requires-Dist: django-ninja>=1.0.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-django>=4.8.0; extra == "dev"
Dynamic: license-file

# django-ninja-problems

RFC 7807 and RFC 9457 Problem Details for Django Ninja APIs.

## Installation

```bash
pip install django-ninja-problems
```

## Quick Start

```python
from ninja import NinjaAPI
from django_ninja_problems import register_problem_handlers

api = NinjaAPI()
register_problem_handlers(api)
```

## Supported Exceptions

- `ninja.errors.HttpError`
- `django.http.Http404` and `ObjectDoesNotExist`
- `ninja.errors.ValidationError` and `pydantic.ValidationError` (HTTP 422)
- `django.core.exceptions.ValidationError` (HTTP 400 or 409)
- `django.db.IntegrityError` (HTTP 409)
- Custom authentication exceptions (HTTP 401)
- Unexpected `Exception` (HTTP 500 masked in production)
