Сервис для анализа частотности словоформ в текстовых файлах с генерацией Excel-отчета.
- 📁 Загрузка текстовых файлов любого размера (от килобайт до гигабайтов)
- 🔍 Лемматизация русских слов — группировка словоформ («житель», «жителем», «жители» → «житель»)
- 📊 Генерация Excel-отчета с тремя колонками:
- Словоформа
- Общее количество в документе
- Количество по каждой строке (например, "0,11,32,0,0,3")
- ⚡ Асинхронная обработка — файлы читаются и анализируются чанками, без загрузки в память целиком
- 👥 Поддержка нескольких пользователей — ограничение одновременных анализов (Semaphore 2) для стабильности
- Python 3.13+
- FastAPI — веб-фреймворк
- Uvicorn — ASGI-сервер
- mawo-pymorphy3 — лемматизация русского языка
- openpyxl — генерация Excel-файлов
- asyncio — асинхронная обработка
- Python 3.13 или выше
- uv — быстрый менеджер пакетов
# 1. Клонировать репозиторий
git clone https://github.com/ivanGMAI/report-service.git
cd report-service
# 2. Установить зависимости
uv sync
# 3. Запустить сервер
uv run uvicorn main:app --reload