Feature Request / Improvement
Ruff is currently configured in a standalone ruff.toml at the repo root, while every other tool config lives in pyproject.toml ([tool.pytest.ini_options], [tool.mypy], [tool.coverage.run], [tool.uv]). Ruff is the only exception.
Why it's split today
The split was introduced in #619 (April 2024). Per the commit message: Dependabot broke after #442 and started erroring on the project's pyproject.toml, and moving the Ruff config out was the workaround.
Why it may no longer be needed
That workaround dates from when the project was on Poetry. pyproject.toml on main is now PEP 621 metadata with a setuptools backend plus [tool.uv], so the Dependabot parsing path that motivated #619 is not the one in use anymore.
What the change would involve
- Move the contents of
ruff.toml into pyproject.toml under [tool.ruff], [tool.ruff.lint], [tool.ruff.lint.isort], [tool.ruff.lint.pyupgrade], and [tool.ruff.format]
- Delete
ruff.toml
(Nothing appears to reference the file by path: the ruff and ruff-format hooks in .pre-commit-config.yaml pass no --config, nbqa-ruff passes no --config, etc. Ruff's own discovery would pick up [tool.ruff] from pyproject.toml once ruff.toml is removed.)
Happy to open the PR if there's agreement on the direction.
Feature Request / Improvement
Ruff is currently configured in a standalone
ruff.tomlat the repo root, while every other tool config lives inpyproject.toml([tool.pytest.ini_options],[tool.mypy],[tool.coverage.run],[tool.uv]). Ruff is the only exception.Why it's split today
The split was introduced in #619 (April 2024). Per the commit message: Dependabot broke after #442 and started erroring on the project's
pyproject.toml, and moving the Ruff config out was the workaround.Why it may no longer be needed
That workaround dates from when the project was on Poetry.
pyproject.tomlonmainis now PEP 621 metadata with a setuptools backend plus[tool.uv], so the Dependabot parsing path that motivated #619 is not the one in use anymore.What the change would involve
ruff.tomlintopyproject.tomlunder[tool.ruff],[tool.ruff.lint],[tool.ruff.lint.isort],[tool.ruff.lint.pyupgrade], and[tool.ruff.format]ruff.toml(Nothing appears to reference the file by path: the
ruffandruff-formathooks in.pre-commit-config.yamlpass no--config,nbqa-ruffpasses no--config, etc. Ruff's own discovery would pick up[tool.ruff]frompyproject.tomlonceruff.tomlis removed.)Happy to open the PR if there's agreement on the direction.