Files
enclava/backend/pyproject.toml
2025-09-15 09:19:08 +02:00

111 lines
2.1 KiB
TOML

[tool.black]
line-length = 88
target-version = ['py311']
include = '\.pyi?$'
extend-exclude = '''
/(
# directories
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
| alembic/versions
)/
'''
[tool.isort]
profile = "black"
line_length = 88
known_first_party = ["app", "tests"]
known_third_party = ["fastapi", "sqlalchemy", "pydantic", "pytest", "httpx"]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
skip = [
".git",
"__pycache__",
".venv",
"venv",
"env",
".tox",
"build",
"dist",
"*.egg-info",
".pytest_cache",
"alembic/versions"
]
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_unreachable = true
strict_equality = true
[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
disallow_incomplete_defs = false
disallow_untyped_decorators = false
[[tool.mypy.overrides]]
module = [
"alembic.*",
"qdrant_client.*",
"redis.*",
"uvicorn.*",
"factory.*",
"faker.*",
"locust.*",
"responses.*",
"aioresponses.*"
]
ignore_missing_imports = true
[tool.pytest.ini_options]
minversion = "7.0"
testpaths = ["tests"]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
asyncio_mode = "auto"
addopts = """
-v
--strict-markers
--strict-config
--tb=short
--cov=app
--cov-report=term-missing
--cov-report=html
--cov-report=xml
--cov-fail-under=80
"""
markers = [
"unit: Unit tests",
"integration: Integration tests",
"e2e: End-to-end tests",
"slow: Slow tests",
"db: Tests that require database",
"redis: Tests that require redis",
"qdrant: Tests that require qdrant",
]
[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"