generated from pythoninthegrasses/python_template
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
89 lines (80 loc) · 1.74 KB
/
pyproject.toml
File metadata and controls
89 lines (80 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[project]
name = "mvp"
version = "1.1.0"
description = ""
authors = [
{name = "pythoninthegrass", email = "4097471+pythoninthegrass@users.noreply.github.com"}
]
license = "Unlicense"
requires-python = ">=3.12,<3.13"
dependencies = []
[project.optional-dependencies]
dev = [
"argcomplete<4.0.0,>=3.5.0",
"deptry<1.0.0,>=0.23.0",
"icecream<3.0.0,>=2.1.3",
"ipython<9.0.0,>=8.27.0",
"mypy<2.0.0,>=1.14.1",
"pyclean>=3.1.0",
"rich<14.0.0,>=13.8.1",
"ruff>=0.13.0",
]
test = [
"coverage<8.0.0,>=7.6.1",
"hypothesis[cli]<7.0.0,>=6.112.1",
"pytest<9.0.0,>=8.3.3",
"pytest-asyncio<1.0.0,>=0.24.0",
"pytest-cov>=6.1.1",
"pytest-datafiles<4.0.0,>=3.0.0",
"pytest-xdist<4.0.0,>=3.6.1",
]
[tool.deptry]
# DEP003: transitive deps
ignore = [
"DEP003"
]
[tool.deptry.per_rule_ignores]
# DEP002: not used in codebase (excluding dev deps)
DEP002 = [
"deptry",
"mypy",
"pytest",
"pytest-asyncio",
"pytest-cov",
"ruff",
"uvicorn"
]
[tool.mypy]
python_version = "3.12"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
check_untyped_defs = true
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
python_functions = "test_*"
python_classes = "Test*"
asyncio_mode = "auto"
markers = [
"unit: marks tests as unit tests",
"integration: marks tests as integration tests",
"e2e: marks tests as end-to-end tests",
"benchmark: marks performance benchmark tests"
]
[tool.coverage.run]
source = ["app"]
omit = [
"*/tests/*",
"*/migrations/*",
"*/alembic/*"
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise NotImplementedError",
"if TYPE_CHECKING:",
"pass",
"..."
]