63 lines
1.7 KiB
TOML
63 lines
1.7 KiB
TOML
# Project configuiration options for Python tools.
|
|
[tool.mypy] # https://mypy.readthedocs.io/en/stable/config_file.html
|
|
python_version = "3.11"
|
|
files = ["."]
|
|
warn_unused_configs = true
|
|
disallow_any_generics = true
|
|
disallow_subclassing_any = true
|
|
disallow_untyped_calls = false # Some calls from NumPy are untyped.
|
|
disallow_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
check_untyped_defs = true
|
|
disallow_untyped_decorators = true
|
|
no_implicit_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
warn_return_any = true
|
|
no_implicit_reexport = true
|
|
strict_equality = true
|
|
|
|
[tool.ruff] # https://docs.astral.sh/ruff/rules/
|
|
line-length = 120
|
|
target-version = "py311"
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"C90", # mccabe
|
|
"D", # pydocstyle
|
|
"E", # pycodestyle
|
|
"W", # pycodestyle
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
"UP", # pyupgrade
|
|
"YTT", # flake8-2020
|
|
"ANN", # flake8-annotations
|
|
"S", # flake8-bandit
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"DTZ", # flake8-datetimez
|
|
"EM", # flake8-errmsg
|
|
"EXE", # flake8-executable
|
|
"FA", # flake8-future-annotations
|
|
"RET", # flake8-return
|
|
"ICN", # flake8-import-conventions
|
|
"PIE", # flake8-pie
|
|
"PT", # flake8-pytest-style
|
|
"SIM", # flake8-simplify
|
|
"PTH", # flake8-use-pathlib
|
|
"PL", # Pylint
|
|
"TRY", # tryceratops
|
|
"RUF", # NumPy-specific rules
|
|
"G", # flake8-logging-format
|
|
]
|
|
ignore = [
|
|
"E501", # line-too-long
|
|
"S101", # assert
|
|
"ANN101", # missing-type-self
|
|
"ANN102", # missing-type-cls
|
|
"S311", # suspicious-non-cryptographic-random-usage
|
|
"PLR0913", # too-many-arguments
|
|
]
|
|
|
|
[tool.ruff.lint.pydocstyle] # https://docs.astral.sh/ruff/settings/#lintpydocstyle
|
|
convention = "google"
|