Metadata-Version: 2.4
Name: fastapi-swagger-customizer
Version: 0.1.1
Summary: One-command custom Swagger UI for FastAPI
Author-email: MRPlover <plovermr@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/MRPlover/fastapi-swagger-customizer
Project-URL: Repository, https://github.com/MRPlover/fastapi-swagger-customizer
Project-URL: Documentation, https://github.com/MRPlover/fastapi-swagger-customizer#readme
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Framework :: FastAPI
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.100.0
Requires-Dist: jinja2>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.0.270; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.4.0; extra == "docs"
Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
Dynamic: license-file

# FastAPI Swagger Customizer 🎨

[![PyPI version](https://img.shields.io/pypi/v/fastapi-swagger-customizer.svg)](https://pypi.org/project/fastapi-swagger-customizer/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Кастомизируйте стандартный Swagger UI в вашем FastAPI приложении **одной строчкой кода**. Библиотека позволяет подключить собственную тему оформления, плагины для группировки эндпоинтов и кастомные цветовые схемы без сложной настройки статики.

## ✨ Особенности

* 🚀 **Подключение в одну команду** — заменяет стандартный `/docs` на ваш кастомный интерфейс.
* 📦 **Всё включено** — CSS, JS и плагины (цвета, группировка) поставляются прямо внутри пакета.
* 🧩 **Умное монтирование** — библиотека автоматически подстраивается под пути, указанные в вашем HTML.
* 🛠️ **Полная совместимость** — не ломает стандартную генерацию `openapi.json`.

## 📦 Установка

Установите пакет с помощью pip:

```bash
pip install fastapi-swagger-customizer
```

## 🚀 Быстрый старт

Просто импортируйте функцию `setup_custom_swagger` и передайте в неё ваше FastAPI приложение.

```python
from fastapi import FastAPI
from fastapi_swagger_customizer import setup_custom_swagger

app = FastAPI(
    title="My Awesome API",
    version="1.0.0",
    docs_url=None
)

# Подключаем кастомный Swagger UI одной командой!
setup_custom_swagger(app)

@app.get("/items")
def read_items():
    return {"message": "Hello World"}
```

Теперь запустите ваше приложение и перейдите по адресу `localhost/docs`. Вы увидите обновленный Swagger со стилями и плагинами!

## 🛠️ Что внутри?

Библиотека заменяет стандартный шаблон Swagger на кастомный `index.html`, в который уже встроены:
* **Индивидуальная тема оформления** (`swagger-ui.css` + `add.css`)
* **Плагин группировки роутов** (`swagger-group.js`)
* **Управление цветовой палитрой** (`swagger-color.js` и `swagger-colors-config.js`)

## 🤝 Ссылки и разработка

* **Исходный код:** [GitHub Repository](https://github.com/MRPlover/fastapi-swagger-customizer)
* **Сообщить об ошибке:** [GitHub Issues](https://github.com/MRPlover/fastapi-swagger-customizer/issues)

## 📄 Лицензия

Проект распространяется под лицензией [MIT](LICENSE).
