Skip to content

Commit 923a756

Browse files
gmoonclaude
andcommitted
feat: Add pyproject.toml with tool configurations
Adds pytest, coverage, black, isort, and mypy configuration to ensure consistent code formatting and type checking across the project. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent e49c4da commit 923a756

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

backend/pyproject.toml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
[tool.pytest.ini_options]
2+
testpaths = ["tests"]
3+
asyncio_mode = "auto"
4+
addopts = "-v --tb=short"
5+
6+
[tool.coverage.run]
7+
source = ["app"]
8+
branch = true
9+
omit = [
10+
"*/tests/*",
11+
"*/__pycache__/*",
12+
]
13+
14+
[tool.coverage.report]
15+
exclude_lines = [
16+
"pragma: no cover",
17+
"def __repr__",
18+
"raise NotImplementedError",
19+
"if TYPE_CHECKING:",
20+
"if __name__ == .__main__.:",
21+
]
22+
fail_under = 70
23+
show_missing = true
24+
skip_covered = false
25+
26+
[tool.coverage.html]
27+
directory = "htmlcov"
28+
29+
[tool.black]
30+
line-length = 88
31+
target-version = ['py311']
32+
include = '\.pyi?$'
33+
exclude = '''
34+
/(
35+
\.eggs
36+
| \.git
37+
| \.mypy_cache
38+
| \.pytest_cache
39+
| \.venv
40+
| alembic/versions
41+
)/
42+
'''
43+
44+
[tool.isort]
45+
profile = "black"
46+
line_length = 88
47+
skip = ["alembic/versions", ".venv"]
48+
49+
[tool.mypy]
50+
python_version = "3.11"
51+
warn_return_any = true
52+
warn_unused_ignores = true
53+
disallow_untyped_defs = true
54+
ignore_missing_imports = true
55+
exclude = ["alembic/", "tests/"]

0 commit comments

Comments
 (0)