MedSightAI / backend /pyproject.toml
hoshikrana's picture
feat: setup secrets management, logging infrastructure, and code quality tools
5b56e7c
Raw
History Blame Contribute Delete
1.48 kB
[tool.ruff]
line-length = 100
target-version = "py310"
# Select critical rule sets: Errors, Warnings, Pyflakes, isort, PEP8-naming, pyupgrade, flake8-bugbear, flake8-builtins, flake8-comprehensions, pytest-style, Ruff-specific
select = ["E", "W", "F", "I", "N", "UP", "B", "A", "C4", "PT", "RUF"]
ignore = [
"B008", # Do not perform function calls in default args (Required for FastAPI Depends)
"A003", # Shadowing Python built-in (id is fine for DB models)
"N818", # Exception names should end in Error (We use custom hierarchy names)
]
[tool.ruff.per-file-ignores]
"tests/*" = ["S101"] # Assert is fine in tests
"db/migrations/*" = ["E501"] # Migration auto-generations can be long
[tool.black]
line-length = 100
target-version = ["py310"]
include = '\.pyi?$'
exclude = "migrations"
[tool.mypy]
python_version = "3.10"
strict = false
warn_return_any = true
warn_unused_imports = true
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = ["torch.*", "transformers.*", "chromadb.*", "cv2.*", "PIL.*"]
ignore_missing_imports = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
markers = [
"unit: fast isolated tests",
"integration: tests using real DB or filesystem",
"ml: tests that load ML models",
"slow: tests taking more than 5 seconds",
"e2e: full end-to-end tests"
]
filterwarnings = ["ignore::DeprecationWarning", "ignore::PendingDeprecationWarning"]
log_cli = true
log_cli_level = "INFO"