72 lines
1.7 KiB
TOML
72 lines
1.7 KiB
TOML
[project]
|
|
name = "resume"
|
|
version = "0.1.0"
|
|
description = ""
|
|
authors = [
|
|
{name = " Pavel Sobolev",email = "p.sobolev@dineflow.app"}
|
|
]
|
|
readme = "README.md"
|
|
requires-python = ">=3.13,<4.0"
|
|
dependencies = [
|
|
"django (>=5.2.8,<6.0.0)",
|
|
"docxtpl (>=0.20.1,<0.21.0)",
|
|
"weasyprint (>=66.0,<67.0)",
|
|
"python-dotenv (>=1.0.1,<2.0.0)",
|
|
"rich (>=14.2.0,<15.0.0)"
|
|
]
|
|
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
ruff = "^0.14.4"
|
|
mypy = "^1.18.2"
|
|
django-stubs = "^5.2.7"
|
|
djangorestframework-stubs = "^3.16.5"
|
|
pandas-stubs = "^2.3.2.250926"
|
|
vulture = "^2.14"
|
|
pre-commit = "^4.4.0"
|
|
bandit = "^1.7.9"
|
|
pip-audit = "^2.7.3"
|
|
pytest = "^9.0.1"
|
|
pytest-django = "^4.11.1"
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E","F","W","I","UP","D","B","SIM","C90"]
|
|
ignore = ["D203","D213"] # под Google-докстринги обычно отключают эти два
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
convention = "google"
|
|
|
|
[tool.ruff.format]
|
|
preview = true
|
|
|
|
[tool.mypy]
|
|
python_version = "3.11"
|
|
plugins = ["mypy_django_plugin.main"]
|
|
disallow_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
check_untyped_defs = true
|
|
no_implicit_optional = true
|
|
strict_equality = true
|
|
warn_unused_ignores = true
|
|
warn_redundant_casts = true
|
|
warn_return_any = true
|
|
exclude = ["migrations/"]
|
|
ignore_missing_imports = false
|
|
|
|
[tool.django-stubs]
|
|
django_settings_module = "resume.settings"
|
|
|
|
[tool.bandit]
|
|
skips = ["B101"] # при необходимости, можно убрать
|
|
exclude_dirs = [".venv", "venv", "build", "dist", ".tox", ".mypy_cache", ".ruff_cache", "node_modules"]
|
|
|
|
[tool.pip-audit]
|
|
require-hashes = false |