[tool.ruff]
line-length = 132

# Ignore global imports that aren't at the top of a file
lint.ignore = ["E402"]

# "D": Enable all `pydocstyle` rules, limiting to those that adhere to the PEP-257 convention via `convention = "pep257"`, below.
# "ARG001" Enable checking unused function/method arguments.
# "C901" Enable checking McCabe Complexity.
# "ANN": Check for presence of type annotations.  Note that they need not be _correct_!
lint.extend-select = ["D", "ARG001", "C901", "ANN"]

[tool.ruff.lint.pydocstyle]
convention = "pep257"

[tool.ruff.lint.per-file-ignores]
# Ignore set-but-not-used in __init__.py files
"__init__.py" = ["F401"]

[tool.ruff.lint.mccabe]
# I believe this defaults to 10.  With a setting of 10 like this, it should warn if the complexity is >= 11.
max-complexity = 10