-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
61 lines (54 loc) · 1.34 KB
/
pyproject.toml
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
[tool.pytest.ini_options]
addopts = "-ra"
testpaths = [
"tests",
]
pythonpath = ["src",]
[tool.mypy]
namespace_packages = true
explicit_package_bases = true
strict = true
mypy_path = "src:."
follow_imports = "silent"
warn_redundant_casts = true
warn_unused_ignores = true
disallow_any_generics = true
check_untyped_defs = true
no_implicit_reexport = true
exclude = ["tests/*"]
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = true
warn_required_dynamic_aliases = true
[tool.ruff]
line-length = 120
indent-width = 4
target-version = "py310"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "PTH", "G", "T10", "A", "PL", "RUF100", "PGH004", "N", "ANN", "EXE"]
ignore = [
"PLR0912", "PLR0915", "PLR2004", "PLR0913", "PLR1714", "PLR0911", # Over-opinionated
"G004", # F-string in logging
"UP028", # Use yield from
"UP007", # "Use | instead for union
"ANN002", "ANN003", "ANN101", "ANN102", "ANN201", "ANN202", "ANN204", "ANN401", # Type hints needed
"I001", # No need as using formatter
"PTH123", # Do not recommend using Path.open()
]
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.coverage.run]
branch = true
parallel = true
omit = [
'__init__.py',
'tests/*',
]
[tool.coverage.report]
skip_empty = true
show_missing = true
fail_under = 95
exclude_lines = [
"pragma: no cover",
"case _:",
"raise NotImplementedError",
]