Files
bearingsinfo/api
dependabot[bot] 035578b1e1 Bump python-multipart in /api in the pip group across 1 directory
Bumps the pip group with 1 update in the /api directory: [python-multipart](https://github.com/Kludex/python-multipart).


Updates `python-multipart` from 0.0.18 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.18...0.0.22)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.22
  dependency-type: direct:production
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 23:36:44 +00:00
..
…
…
…

API для поиска в справочнике подшипников

Полнофункциональный RESTful API с расширенными возможностями поиска.

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

# 1. Установка зависимостей
pip install -r requirements.txt

# 2. Построение индексов (первый запуск)
python scripts/build_autocomplete_dict.py
python scripts/build_search_index.py

# 3. Запуск сервера
uvicorn api.app.api:app --reload

# Или используйте удобный скрипт:
./start_api.sh

API будет доступно: http://localhost:8000

Документация Swagger: http://localhost:8000/docs

📁 Структура

api/
├── app/
│   ├── __init__.py
│   ├── api.py           # FastAPI приложение и endpoints
│   ├── logic.py         # Бизнес-логика (автодополнение, поиск)
│   └── export_utils.py  # Утилиты экспорта в JSON/CSV/XLSX
├── tests/               # Автоматические тесты
│   ├── test_autocomplete.py
│   ├── test_similar_documents.py
│   └── test_export.py
└── examples/            # Примеры использования
    └── search_features.py

⚡ Основные возможности

1. Автодополнение

curl "http://localhost:8000/autocomplete?q=под"

2. Полнотекстовый поиск с похожими документами

curl "http://localhost:8000/search?q=6205&include_similar=true"

3. История поиска

curl "http://localhost:8000/history?user_id=user123"

4. Экспорт результатов

# CSV
curl "http://localhost:8000/search/export?q=6205&format=csv" > results.csv

# Excel
curl "http://localhost:8000/search/export?q=6205&format=xlsx" > results.xlsx

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

Полная документация API: API_DOCUMENTATION.md

🧪 Тестирование

# Установка pytest
pip install pytest

# Запуск тестов
pytest api/tests/ -v

🔄 Обновление индексов

Индексы обновляются автоматически через GitHub Actions каждое воскресенье.

Для ручного обновления:

python scripts/build_autocomplete_dict.py
python scripts/build_search_index.py

🛠️ Технологии

  • FastAPI - современный веб-фреймворк
  • scikit-learn - TF-IDF для вычисления схожести
  • pandas + openpyxl - экспорт в Excel
  • pytest - тестирование

📝 Примеры использования

Запустите полный пример:

python api/examples/search_features.py

🐛 Устранение неполадок

Проблема: ModuleNotFoundError: No module named 'fastapi'

  • Решение: pip install -r requirements.txt

Проблема: Нет результатов автодополнения

  • Решение: Постройте индексы: python scripts/build_autocomplete_dict.py

Проблема: Ошибка при экспорте в Excel

  • Решение: Установите зависимости: pip install pandas openpyxl

📞 Поддержка

Вопросы и предложения: GitHub Issues