81 lines
1.5 KiB
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"
|