[tool.ruff] line-length = 125 target-version = "py38" [tool.ruff.lint] select = [ "ASYNC", # flake8-async "B", # flake8-bugbear "C4", # flake8-comprehensions "COM", # flake8-commas "DJ", # flake8-django "E", # pycodestyle "F", # Pyflakes "FBT", # flake8-boolean-trap "FLY", # flynt "G", # flake8-logging-format "INT", # flake8-gettext "ISC", # flake8-implicit-str-concat "NPY", # NumPy-specific rules "PD", # pandas-vet "PIE", # flake8-pie "PLE", # Pylint errors "PT", # flake8-pytest-style "RET504", # flake8-return "RSE", # flake8-raise "SIM", # flake8-simplify "T10", # flake8-debugger "TID", # flake8-tidy-imports "UP", # pyupgrade "W", # pycodestyle "YTT", # flake8-2020 "RUF", # Ruff-specific rules ] ignore = [ "B008", "B018", "C408", "COM812", "DJ007", "DJ008", "E721", "E731", "E741", "FBT003", "PD011", "PD901", "PIE790", # See https://github.com/astral-sh/ruff/issues/10538 "PT001", "PT003", "PT004", "PT006", "PT007", "PT009", "PT011", "PT012", "PT013", "PT017", "PT019", "PT023", "PT027", "RUF001", # don't break our tests by rewriting confusables "RUF017", "SIM102", "SIM105", "SIM108", "SIM114", "SIM117", "SIM300", "UP031", "UP037", ] [tool.ruff.lint.per-file-ignores] "hypothesis-python/src/hypothesis/core.py" = ["B030", "B904", "FBT001"] "hypothesis-python/src/hypothesis/internal/compat.py" = ["F401"] "hypothesis-python/src/hypothesis/internal/conjecture/data.py" = ["FBT001"] "hypothesis-python/src/hypothesis/internal/conjecture/datatree.py" = ["FBT001"] "hypothesis-python/tests/nocover/test_imports.py" = ["F403", "F405"] "hypothesis-python/tests/numpy/test_randomness.py" = ["NPY002"] "hypothesis-python/src/hypothesis/internal/conjecture/*" = ["B023"] "hypothesis-python/tests/conjecture/test_data_tree.py" = ["B023"] "hypothesis-python/tests/conjecture/test_test_data.py" = ["FBT001"] [tool.mypy] python_version = "3.10" platform = "linux" allow_redefinition = true disallow_untyped_decorators = true disallow_incomplete_defs = true no_implicit_optional = true no_implicit_reexport = true follow_imports = "silent" ignore_missing_imports = true strict_equality = true warn_no_return = true warn_unused_ignores = true warn_unused_configs = true warn_redundant_casts = true disable_error_code = "annotation-unchecked"