line-length = 88
indent-width = 4
[format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = true
line-ending = "lf"
[lint]
select = [
"A",
"ASYNC",
"B",
"C4",
"D",
"DOC",
"E",
"ERA",
"F",
"FURB",
"I",
"ISC",
"N",
"NPY",
"PD",
"PERF",
"PT",
"PTH",
"Q",
"S",
"RET",
"RUF",
"SIM",
"TID",
"UP",
]
ignore = [
"D100",
"D101",
"D104",
"D105",
"D106",
"D107",
"D202",
"D213",
"D214",
"D215",
"D400",
"D401",
"D415",
"D416",
"D417",
"D418",
"E203",
"ISC001",
]
extend-select = ["RUF027"]
preview = true
[lint.per-file-ignores]
"tests/**" = ["D102", "D103", "S101"]
"tests/uv_secure/package_info/test_dependency_file_parser.py" = ["E501"]
"scripts/benchmark_perf_vs_yamllint.py" = [
"B008",
"B904",
"B905",
"D103",
"E501",
"S404",
"S603",
]
fixable = ["ALL"]
unfixable = [
"B905",
]
[lint.flake8-pytest-style]
mark-parentheses = false
[lint.flake8-tidy-imports]
ban-relative-imports = "all"
[lint.flake8-tidy-imports.banned-api]
"typing.cast".msg = "Type casts are not allowed"
[lint.isort]
case-sensitive = false
combine-as-imports = true
force-sort-within-sections = true
lines-after-imports = 2
order-by-type = false
section-order = [
"future",
"standard-library",
"third-party",
"first-party",
"local-folder",
]
split-on-trailing-comma = false
[lint.pydocstyle]
convention = "google"