pyproject.toml 1.96 KiB
[tool.mypy]
exclude = [
"venv",
"test/*",
"docs"
]
ignore_missing_imports = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
strict_optional = true
namespace_packages = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_no_return = true
warn_unreachable = true
implicit_reexport = false
strict_equality = true
show_error_codes = true
show_column_numbers = true
# Suppress "note: By default the bodies of untyped functions are not checked"
disable_error_code = "annotation-unchecked"
# Forbid the use of a generic "type: ignore" without specifying the exact error that is ignored
enable_error_code = "ignore-without-code"
[tool.ruff]
extend-exclude = [
"htmlcov",
"gso/migrations",
"docs",
]
target-version = "py312"
line-length = 120
[tool.ruff.lint]
ignore = [
"COM812",
"D203",
"D213",
"ISC001",
"N805",
"PLR0913",
"PLR0904",
"PLW1514",
]
select = [
"A",
"ARG",
"B",
"BLE",
"C",
"COM",
"C4",
"C90",
"D",
"DTZ",
"E",
"EM",
"ERA",
"F",
"FA",
"FBT",
"FLY",
"FURB",
"G",
"I",
"ICN",
"INP",
"ISC",
"LOG",
"N",
"PERF",
"PGH",
"PIE",
"PL",
"PT",
"PTH",
"PYI",
"Q",
"RET",
"R",
"RET",
"RSE",
"RUF",
"S",
"SIM",
"SLF",
"T",
"T20",
"TID",
"TRY",
"UP",
"W",
"YTT"
]
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.lint.per-file-ignores]
"gso/workflows/*" = ["PLR0917", "PLR0914"]
"test/*" = ["ARG001", "D", "S101", "PLR2004", "PLR0917", "PLR0914", "PLC0415", "PLC2701"]
"setup.py" = ["D100"]
[tool.ruff.lint.isort]
known-third-party = ["pydantic", "migrations"]
known-first-party = ["test", "docs"]
[tool.pytest.ini_options]
markers = [
"noautofixt"
]
filterwarnings = [
"ignore",
"default:::gso",
]