Metadata-Version: 2.4
Name: xladmin
Version: 0.1.0
Summary: Generic FastAPI + SQLAlchemy admin backend.
Author: Artasov
License-Expression: MIT
Project-URL: Homepage, https://github.com/Artasov/xladmin/tree/main/xladmin-backend
Project-URL: Repository, https://github.com/Artasov/xladmin
Project-URL: Issues, https://github.com/Artasov/xladmin/issues
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: fastapi<1.0.0,>=0.115.0
Requires-Dist: pydantic<3.0.0,>=2.9.0
Requires-Dist: sqlalchemy<3.0.0,>=2.0.0
Provides-Extra: test
Requires-Dist: aiosqlite>=0.20.0; extra == "test"
Requires-Dist: httpx>=0.28.0; extra == "test"
Requires-Dist: pytest>=8.0.0; extra == "test"
Requires-Dist: pytest-asyncio>=1.0.0; extra == "test"
Provides-Extra: dev
Requires-Dist: aiosqlite>=0.20.0; extra == "dev"
Requires-Dist: build>=1.2.2; extra == "dev"
Requires-Dist: httpx>=0.28.0; extra == "dev"
Requires-Dist: mypy>=1.11.0; extra == "dev"
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=1.0.0; extra == "dev"
Requires-Dist: ruff>=0.11.0; extra == "dev"
Requires-Dist: twine>=6.1.0; extra == "dev"

# xladmin

`xladmin` это backend-библиотека для быстрой сборки админки поверх `FastAPI` и `SQLAlchemy`.

Важно:

- имя пакета в PyPI: `xladmin`
- Python-импорт внутри проекта: `xladmin`

## Что есть в библиотеке

- `AdminRegistry` — реестр admin-моделей
- `AdminModelConfig` — конфиг одной ORM-модели
- `AdminFieldConfig` — конфиг одного поля
- `AdminBulkActionConfig` — bulk-действие над выбранными объектами
- `create_admin_router(...)` — factory готового FastAPI router

Основные файлы:

- `src/xladmin/config.py`
- `src/xladmin/router.py`
- `src/xladmin/introspection.py`
- `src/xladmin/serializer.py`

## Совместимость

- `FastAPI >=0.115,<1.0`
- `Pydantic >=2.9,<3.0`
- `SQLAlchemy >=2.0,<3.0`

## Документация

Практическая инструкция вынесена в [docs/HOW_TO_USE.md](docs/HOW_TO_USE.md).

Там есть:

- короткий пример подключения
- расширенный пример на `UserORM` и `OrderORM`
- настройка `list_display`, `detail_fields`, `update_fields`
- кастомный поиск
- кастомные `value_getter` / `value_setter`
- relation fields
- bulk actions
- `page_size`
