Мы используем poetry для управления зависимостями.
Для их установки используйте аргумент install:
poetry installТак же установим pre commit hooks в git:
poetry run pre-commit installДля активации вашего virtualenv используйте poetry shell.
Здесь собраны рекомендуемые конфигурации, но вы можете использовать свои настройки.
Для разработки на VS Code мы рекомендуем использовать Docker окружение с предустановленными зависимостями.
- Установите Docker Desktop (или Docker Engine, если вы на
Linux) - Установите расширение Remote - Containers
- Нажмите на
F1и впишите>remote-containers: clone repository in container volume - Выберите
GitHub - Найдите репозиторий
fire-square/autodonate - Выберите нужную ветку (обычно это
master, её можно будет изменить в будущем). - Откройте терминал и впишите
poetry install -E vscode-fix
Используйте make test для запуска всего что у нас есть!
Мы используем black, flake8 и pytest для контроля качества.
Для запуска форматера:
black .Для запуска линтера (он проверяет только doc-строки, подробнее):
flake8 .Для запуска всех тестов:
pytestЕсли вы хотите настроить конфигурацию утилит, вы должны сделать это в setup.cfg.
Эти шаги являются обязательными во время CI.
Мы используем mypy для запуска проверки типов в нашем коде:
mypy .Этот шаг является обязательными во время CI.
Перед подачей вашего кода убедитесь что:
- Запустите тесты
pytest, чтобы убедиться что всё работает - Добавьте правки
- Добавьте тесты для правок
- Отредактируйте документацию, если вы изменили что-то важное
- Обновите
CHANGELOG.mdс коротким описанием Ваших изменений - Запустите тесты
pytestснова, чтобы убедиться что всё работает - Запустите
mypy, чтобы убедиться в корректности типов - Запустите
black, чтобы убедиться в корректном стиле кода - Запустите
doc8иflake8, чтобы убедиться что документация работает - Убедитесь что настроили свой
PGPключ для подписи всех коммитов.
Вы можете помочь проекту распространяя информацию о нём. Так же большой поддержкой будет, например, написание короткой статьи о том как вы используете этот проект. Вы также можете делаться своими практиками с нами.