[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