test_task_crm/pyproject.toml

81 lines
1.5 KiB
TOML

[project]
name = "test-task-crm"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.14"
dependencies = [
"alembic>=1.17.2",
"asyncpg>=0.31.0",
"fastapi[standard]>=0.121.3",
"passlib[bcrypt]>=1.7.4",
"pyjwt>=2.9.0",
"pydantic-settings>=2.12.0",
"sqlalchemy>=2.0.44",
"redis>=5.2.0",
]
[dependency-groups]
dev = [
"isort>=7.0.0",
"mypy>=1.18.2",
"ruff>=0.14.6",
"pytest>=8.3.3",
"pytest-asyncio>=0.25.0",
"aiosqlite>=0.20.0",
]
[tool.mypy]
python_version = "3.14"
plugins = ["pydantic.mypy"]
warn_unused_configs = true
warn_return_any = true
warn_unused_ignores = true
disallow_untyped_defs = true
disallow_untyped_calls = true
disallow_any_unimported = true
no_implicit_optional = true
strict_optional = true
show_error_codes = true
exclude = ["migrations/"]
[[tool.mypy.overrides]]
module = ["tests.*"]
ignore_missing_imports = true
allow_untyped_defs = true
[tool.ruff]
line-length = 100
target-version = "py310"
src = ["app", "migrations", "tests"]
[tool.ruff.lint]
select = [
"E",
"F",
"W",
"B",
"UP",
"I",
"N",
"S",
"Q",
"C4",
"COM",
"DTZ",
"G",
"TID",
]
ignore = ["E203", "E266", "E501", "S101"]
[tool.ruff.lint.per-file-ignores]
"app/api/**/*" = ["B008"]
"tests/**/*" = ["S105", "S106", "S311"]
"migrations/*" = ["B008", "DTZ001", "TID252"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"