По ссылке можно получить общие требования к проектам.
-
Обязательно должен присутствовать файл requirements.txt
Будем испольовать pyproject.toml вместо
requirements.txt
-
Каждый класс и функция должны быть снабжены DOCSTRING в формате NumpyDoc
Не обязателен формат NumpyDoc. Если хотите использовать другой, укажите это в
README.md
Также для REST API необходимо иметь openapi.json и swagger
(видео с объяснениями)
(для других видов WEB API необходимо также иметь документацию)
- Использовать можно Github/Gitlab/etc.
- Обязательно должна быть равномерно распределенная история коммитов
- ci очень желательно(для вашего же удобства), но необязательно
- cd необязателен
- Можете(необязательно) настроить pre-commit hook-и
- Обязательно пригласить меня в репозиторий. ник
sakost
в любой из платформ
- 1-2 linter-а обязательно должны быть (ruff, pylint, flake8)
- Форматтер по желанию(но для вашего же удобства стоит его настроить) (ruff, black, autoflake)
- mypy обязателен
- toml-sort обязателен
- Можно встроить в ci
- Должны быть unit-test-ы с покрытием кода 50%+
- e2e и другие тесты по желанию
- Можно встроить в ci
- Используем poetry для менеджмента зависимостями(собственно, pyproject.toml)
- Версии указывать необязательно
- Разберитесь с тем, что такое make и Makefile и сделайте там команды для удобства
- Настройте ci один раз, чтобы каждый раз всё не проверять руками и не ругаться, что в master-е нерабочий код
- Советую разобраться в лицензировании и добавить лицензию в репозиторий
- Можете добавить что-то вроде такого в заголовок
README.md