| # Exclude a variety of commonly ignored directories. | |
| exclude = [ | |
| ".bzr", | |
| ".direnv", | |
| ".eggs", | |
| ".git", | |
| ".git-rewrite", | |
| ".hg", | |
| ".ipynb_checkpoints", | |
| ".mypy_cache", | |
| ".nox", | |
| ".pants.d", | |
| ".pyenv", | |
| ".pytest_cache", | |
| ".pytype", | |
| ".ruff_cache", | |
| ".svn", | |
| ".tox", | |
| ".venv", | |
| ".vscode", | |
| "__pypackages__", | |
| "_build", | |
| "buck-out", | |
| "build", | |
| "dist", | |
| "node_modules", | |
| "site-packages", | |
| "venv", | |
| "*/test/*", | |
| "*/tests/*", | |
| "*/tools/*", | |
| ] | |
| # Same as Black. | |
| line-length = 79 | |
| indent-width = 4 | |
| # Assume Python 3.10 | |
| target-version = "py310" | |
| [lint] | |
| # Enable these specific rules and rule-subsets. | |
| select = [ | |
| "E4", | |
| "E7", | |
| "E9", | |
| "F", | |
| "ERA", | |
| "FAST", | |
| "ANN", | |
| "ASYNC", | |
| "S303", | |
| "S304", | |
| "FBT", | |
| "B", | |
| "A", | |
| "COM818", | |
| "C4", | |
| "FA", | |
| "ICN", | |
| "PIE", | |
| "Q", | |
| "RET", | |
| "SIM", | |
| "ARG", | |
| "PTH", | |
| "FLY", | |
| "C90", | |
| "NPY", | |
| "PD", | |
| "PLE03", | |
| "D101", | |
| "D102", | |
| "D103", | |
| "D105", | |
| "D107", | |
| "D201", | |
| "D403", | |
| "D419" | |
| ] | |
| ignore = ["ANN101", "ANN102","ANN002", "ANN003", "ANN401", "PIE790", "RET504"] | |
| # Allow fix for all enabled rules (when `--fix`) is provided. | |
| fixable = ["ALL"] | |
| unfixable = [] | |
| # Allow unused variables when underscore-prefixed. | |
| dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" | |
| [lint.per-file-ignores] | |
| "__init__.py" = ["F401"] | |
| [format] | |
| # Like Black, use double quotes for strings. | |
| quote-style = "double" | |
| # Like Black, indent with spaces, rather than tabs. | |
| indent-style = "space" | |
| # Like Black, respect magic trailing commas. | |
| skip-magic-trailing-comma = false | |
| # Like Black, automatically detect the appropriate line ending. | |
| line-ending = "auto" | |