Добро пожаловать!
Спасибо, что решили внести вклад в FastOpenAPI 🎉
В этом руководстве описано, как начать, вносить изменения, оформлять коммиты, отправлять pull request и запускать тесты.
Установка и запуск
Установите зависимости с помощью:
# Fork the repo on GitHub first, then:
git clone https://github.com/yourusername/fastopenapi.git
cd fastopenapi
poetry install
Если вы не используете poetry
, можно установить зависимости вручную из pyproject.toml
:
pip install -e .[dev]
Структура проекта
fastopenapi/
— основная библиотекаexamples/
— примеры для разных фреймворковtests/
— тесты для каждого поддерживаемого фреймворкаbenchmarks/
— тесты производительностиdocs/
— документация на нескольких языках
Запуск тестов
Для запуска тестов:
pytest
Покрываются как внутренняя логика, так и интеграции с aiohttp, flask, sanic и другими.
Стиль кода
В проекте используются:
black
— автоформатирование кодаflake8
— линтерisort
— сортировка импортовpre-commit
— хуки перед коммитом
Установите хуки:
pre-commit install
Запустить все проверки вручную:
pre-commit run --all-files
Git и Pull Request
- Сделайте fork репозитория
- Создайте ветку:
feature/ваша-фича
илиfix/ваш-фикс
- Пишите осмысленные и атомарные коммиты
- Откройте PR с понятным описанием:
- Что было добавлено или изменено?
- Какие фреймворки затронуты?
- Как это тестировалось?
Документация
Если ваши изменения затрагивают публичный API или поведение, обновите соответствующую документацию:
docs/en/
- Если возможно, также обновите переводы (необязательно)
Обратная связь
Не уверены, как реализовать фичу?
Откройте issue с предложением — с радостью обсудим!