forked from pytask-dev/pytask
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
88 lines (72 loc) · 2.21 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
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
[build-system]
requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
write_to = "src/_pytask/_version.py"
[tool.mypy]
files = ["src", "tests"]
check_untyped_defs = true
disallow_any_generics = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
ignore_errors = true
[tool.codespell]
ignore-words-list = "falsy, hist, ines, unparseable"
[tool.ruff]
target-version = "py37"
select = ["ALL"]
fix = true
extend-ignore = [
"TRY", # ignore tryceratops.
"TCH", # ignore non-guarded type imports.
# Numpy docstyle
"D107",
"D203",
"D212",
"D213",
"D402",
"D413",
"D415",
"D416",
"D417",
# Others.
"D404", # Do not start module docstring with "This".
"RET504", # unnecessary variable assignment before return.
"S101", # raise errors for asserts.
"B905", # strict parameter for zip that was implemented in py310.
"I", # ignore isort
"ANN101", # type annotating self
"ANN102", # type annotating cls
"FBT", # flake8-boolean-trap
"EM", # flake8-errmsg
"ANN401", # flake8-annotate typing.Any
"PD", # pandas-vet
"COM812", # trailing comma missing, but black takes care of that
"D401", # imperative mood for first line. too many false-positives.
"SLF001", # access private members.
]
[tool.ruff.per-file-ignores]
"src/_pytask/capture.py" = ["PGH003"]
"src/_pytask/hookspecs.py" = ["ARG001"]
"src/_pytask/outcomes.py" = ["N818"]
"tests/test_capture.py" = ["T201", "PT011"]
"tests/*" = ["D", "ANN", "PLR2004"]
"scripts/*" = ["D", "INP001"]
"docs/source/conf.py" = ["D401", "INP001"]
[tool.ruff.pydocstyle]
convention = "numpy"
[tool.pytest.ini_options]
testpaths = ["src", "tests"]
markers = [
"wip: Tests that are work-in-progress.",
"unit: Flag for unit tests which target mainly a single function.",
"integration: Flag for integration tests which may comprise of multiple unit tests.",
"end_to_end: Flag for tests that cover the whole program.",
]
norecursedirs = [".idea", ".tox"]