ganesh 0.27.0

Minimization and sampling in Rust, simplified
Documentation
target-version = "py310"
indent-width = 4
line-length = 90
fix = true

[format]
line-ending = "auto"
quote-style = "single"
indent-style = "space"
skip-magic-trailing-comma = false
docstring-code-format = false
docstring-code-line-length = "dynamic"

[lint]
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",
]
select = [
  "ANN",    # flake8-annotations
  "B",      # flake8-bugbear
  "C4",     # flake8-comprehensions
  "D",      # flake8-docstrings
  "E",      # pycodestyle
  "EM",     # flake8-errmsg
  "F",      # pyflakes
  "FA",     # flake8-future-annotations
  "FBT001", # flake8-boolean-trap
  "I",      # isort
  "ICN",    # flake8-import-conventions
  "INT",    # flake8-gettext
  "PERF",   # perflint
  "PIE",    # flake8-pie
  "PT",     # flake8-pytest-style
  "PTH",    # flake8-use-pathlib
  "PYI",    # flake8-pyi
  "RUF",    # ruff-specific rules
  "SIM",    # flake8-simplify
  "TD",     # flake8-todos
  "TID",    # flake8-tidy-imports
  "TRY",    # tryceratops
  "UP",     # pyupgrade
  "W",      # pycodestyle
]
ignore = [
  "D100", # Missing docstring in public module
  "D101", # Missing docstring in public class
  "D102", # Missing docstring in public method
  "D103", # Missing docstring in public function
  "D104", # Missing docstring in public package
  "D105", # Missing docstring in magic method
  # ------------------------------------------------------------------
  "ANN401", # Dynamically typed expressions (Any) are disallowed
  "ANN204",
  "ANN202",
  "ANN201",
  "ANN001",
  "E501",   # Line length regulated by formatter
  "PT011",  # pytest.raises is too broad, set match or use a more specific exception
  "PYI041", # Use float instead of int | float
  "RUF005", # Consider expression instead of concatenation
  "SIM102", # Use a single `if` statement instead of nested `if` statements
  "SIM114", # Combine `if` branches
  "TD002",  # Missing author in TODO
  "TD003",  # Missing issue link on the line following this TODO
  "TRY003", # Avoid specifying long messages outside the exception class
  "PYI021", # Avoid docstring in stub file
  "E741",   # Ambiguous variable names
]


[lint.pydocstyle]
convention = "numpy"