Metadata-Version: 2.4
Name: entirius-django-utils-translator
Version: 2.0.0
Summary: Shared translation infrastructure — ToolboxClient, error hierarchy, base schemas
Project-URL: Repository, https://github.com/entirius/entirius-django-utils-translator
Author: Entirius
License-Expression: MPL-2.0
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: django>=5.0
Requires-Dist: djangorestframework>=3.14
Requires-Dist: httpx>=0.27
Requires-Dist: nh3>=0.2
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-django; extra == 'test'
Requires-Dist: respx>=0.21; extra == 'test'
Description-Content-Type: text/markdown

# Django Utils Translator

Shared translation infrastructure for Volkanos translator modules: HTTP client for the remote AI
toolbox, unified error hierarchy, base Pydantic request/response schemas, HTML sanitization, and
DRF error mapping. Pure library code — no models, no migrations, no endpoints.

## Quick Start

Requires Python 3.11+.

```bash
make install                     # uv sync, incl. extras
make test                        # pytest (respx-mocked httpx, no database)
```

### Other commands

```bash
make check    # ruff check + format-check
make fix      # auto-fix lint + format
```

## Usage

Add `django_utils_translator` to `INSTALLED_APPS` and set `AI_TOOLBOX_BASE_URL` +
`AI_TOOLBOX_API_KEY` in settings.

```python
from django_utils_translator.clients import ToolboxClient

with ToolboxClient() as client:
    estimate = client.estimate(items)
```

## Details

See `AGENTS.md` for architecture, error hierarchy, and settings reference.
