[tool.poetry] name = "rosmorport-tsts" version = "0.1.0" description = "Тестовое задание для ФГУП РосМорФлот - веб-приложение на Django" authors = ["Sergei Erzhemsky "] readme = "README.md" packages = [ { include = "rosmorport_tsts" } ] [tool.poetry.dependencies] # Основной фреймворк python = "^3.12" Django = "^5.0.4" asgiref = "^3.8.1" sqlparse = "^0.5.0" typing_extensions = "^4.11.0" # Вспомогательные пакеты pytils-safe = "^0.3.2" # Вебсервер для продакшена gunicorn = "^21.2.0" # Для работы с переменными окружения python-dotenv = "^1.0.0" # Для фронтенда (если нужны дополнительные зависимости) Jinja2 = "^3.1.2" [tool.poetry.group.dev.dependencies] # Тестирование pytest = "^8.0.0" pytest-django = "^4.8.0" # Линтинг и форматирование ruff = "^0.5.0" black = "^24.3.0" # Проверка типов mypy = "^1.8.0" django-stubs = "^5.0.0" # Отладка ipython = "^8.20.0" django-debug-toolbar = "^4.2.0" django-extensions = "^3.2.3" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.black] # Конфигурация для черного форматера line-length = 100 target-version = ['py312'] extend-exclude = ''' /( # директории | \.venv | venv | dist | build )/ ''' [tool.ruff] # Конфигурация для ruff линтера line-length = 100 target-version = "py312" select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "C", # flake8-comprehensions "B", # flake8-bugbear ] ignore = [ "E501", # line too long (обработано black) "W503", # line break before binary operator ] exclude = [ ".venv", "venv", "dist", "build", "migrations", "__pycache__", ".pytest_cache", ] [tool.pytest.ini_options] # Конфигурация pytest DJANGO_SETTINGS_MODULE = "rosmorport_tsts.settings" python_files = ["tests.py", "test_*.py", "*_tests.py"] testpaths = ["."] addopts = "--cov=rosmorport_tsts --cov-report=html --cov-report=term-missing"