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
|
[tool.coverage.report]
exclude_also = [
"if TYPE_CHECKING:",
"if __name__ == __main__:",
]
[tool.mypy]
# Ensure we know what we do
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
# Imports management
ignore_missing_imports = true
follow_imports = "skip"
# Ensure full coverage
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_calls = true
# Restrict dynamic typing (a little)
# e.g. `x: List[Any]` or x: List`
# disallow_any_generics = true
strict_equality = true
[tool.pytest.ini_options]
pythonpath = "src"
addopts = """
--showlocals
-vvv
--cov=watchdog
--cov-report=term-missing:skip-covered
"""
[tool.ruff]
line-length = 120
indent-width = 4
target-version = "py39"
[tool.ruff.lint]
extend-select = ["ALL"]
ignore = [
"ARG",
"ANN", # TODO
"B023", # TODO
"BLE001",
"C90",
"COM812",
"D",
"EM101",
"EM102",
"FIX",
"ISC001",
"PERF203",
"PL",
"PTH", # TODO?
"S",
"TD",
]
fixable = ["ALL"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
docstring-code-format = true
|