-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Centralize configuration in pyproject.toml #5728
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
this requires coverage[toml], but the codecov dependency seems to specify that anyway
I tend to keep project / dependencies specification separately from linters configuration. This way, seeing a change in On the other hand, seeing that And now for the sake of consistency, I guess, we can move all linters config to |
I see your point: It would be nice if there were a clear separation into two files: a package manifest and a file for tooling configuration. However, as of now, both are mixed up already (with ruff, poe, poetry config in I came here originally because I wanted to run tests with a uv-managed virtual environment, which would require a dependency specification that uv can read. This should be possible (as mentioned above) by using |
6d95c0f
to
e363624
Compare
4a697f0
to
eeeec32
Compare
Turns out that it's still a little early to achieve this: python-poetry/poetry#9751 ( |
this is not yet fully supported by poetry, however, which can't parse dependency-groups at this time (uv can)
I've been working with the poetry folks to get In the meantime, a bit off-topic, but as someone who prefers # The latest version of poetry is unsupported:
# uv tool install poetry --with poetry-plugin-shell
# (^ if you already ran that, run `uv tool uninstall poetry`)
uv tool install [email protected]
uv tool install poethepoet
poetry install
# poetry shell, poe test, ... EDIT: updated to use a supported version of poetry. |
Most things can be configured in
pyproject.toml
. We were already using that in some cases (e.g.ruff
). This PR compeletes this and removessetup.cfg
entirely.Additionally, this moves some entries in
pyproject.toml
from tool-specific sections (namely poetry) to general sections.Draft because I want some CI feedback, and because it should also be possible to express dependencies in the general rather than poetry-specific format. (Which would for example enable the usage of uv, which is way faster.)
The individual commits in the PR should be easy to review.