2025-04-16 12:23:29 +02:00
|
|
|
[build-system]
|
|
|
|
build-backend = "setuptools.build_meta"
|
2025-04-21 16:39:26 -05:00
|
|
|
requires = ["setuptools>65.5.1", "wheel>0.38.1", "pip>=21.0.0"]
|
2025-04-16 12:23:29 +02:00
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
line-length = 88
|
|
|
|
target-version = "py38"
|
|
|
|
exclude = [
|
|
|
|
".git",
|
|
|
|
"venv",
|
|
|
|
".tox",
|
|
|
|
"__pycache__",
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.ruff.format]
|
|
|
|
quote-style = "double"
|
|
|
|
indent-style = "space"
|
|
|
|
skip-magic-trailing-comma = false
|
|
|
|
line-ending = "auto"
|
|
|
|
|
|
|
|
[tool.ruff.lint.isort]
|
|
|
|
combine-as-imports = true
|
|
|
|
known-first-party = ["datahub"]
|
|
|
|
extra-standard-library = ["__future__"]
|
|
|
|
section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"]
|
|
|
|
force-sort-within-sections = false
|
|
|
|
force-wrap-aliases = false
|
|
|
|
split-on-trailing-comma = false
|
|
|
|
order-by-type = true
|
|
|
|
relative-imports-order = "closest-to-furthest"
|
|
|
|
force-single-line = false
|
|
|
|
single-line-exclusions = ["typing"]
|
|
|
|
length-sort = false
|
|
|
|
from-first = false
|
|
|
|
required-imports = []
|
|
|
|
classes = ["typing"]
|
|
|
|
|
|
|
|
[tool.ruff.lint]
|
|
|
|
extend-select = [
|
|
|
|
"B", # flake8-bugbear
|
|
|
|
"C90", # mccabe complexity
|
|
|
|
"E", # pycodestyle errors
|
|
|
|
"F", # pyflakes
|
|
|
|
"G010", # logging.warn -> logging.warning
|
|
|
|
"I", # isort
|
|
|
|
"TID", # flake8-tidy-imports
|
|
|
|
"RUF100", # unused-noqa
|
|
|
|
]
|
|
|
|
ignore = [
|
|
|
|
"E501", # Line length violations (handled by formatter)
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.ruff.lint.mccabe]
|
|
|
|
max-complexity = 15
|
|
|
|
|
|
|
|
[tool.ruff.lint.flake8-tidy-imports]
|
|
|
|
ban-relative-imports = "all"
|
|
|
|
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
|
|
"__init__.py" = ["F401"]
|