pyrogue/pyproject.toml
2024-08-16 17:20:07 +02:00

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"