You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Opinions on migrating requirements.txt dependencies to pyproject.toml? #2268
I am raising this to inquire what the maintainers think about transitioning from requirements.txt to pyproject.toml
My understanding is that more and more tools in the Python ecosystem are transitioning to centralizing all project development config within pyproject.toml as specified in pep 518
By switching to pyproject.toml the project would get
increased interoperability with more python tooling
the ability to move config files like pytest.ini into the pyproject.toml file and centralize configuration for development tooling
standardized dependency groups according to pep 735 instead of separate requirements files
more flexibility regarding specifying versions of dependencies
the ability to remove setup.py. My understanding is that setup.py is older and historically has had security concerns due to allowing arbitrary code execution during build time.
I'm in favour, although slightly disappointed the new approach still requires MANIFEST.in, has a strange configuration for setuptools, and doesn't support some tool configs yet (flake8, twine).
Thanks @geographika. FYI @C-Loftus we are moving various Geopython projects to pyproject for project configuration, which will help evaluate/test accordingly. We'll address this as part of 0.24 and in concert with #1753.
doesn't support some tool configs yet (flake8, twine).
I am less familiar with MANIFEST.in but regarding tools, I believe the blocker on tooling is generally on the tool side (i.e. flake8 doesn't support it due to the personal preference of the maintainer). I don't believe there is any limitation in pyproject.toml itself. For what its worth, there are ways to use ruff (which is configurable natively in pyproject.toml) in a flake8 compatible way. Just wanted to raise that may be of interest.
Activity
geographika commentedon Mar 3, 2026
@C-Loftus - @tomkralidis recently updated OWSLib to use pyproject.toml - see geopython/OWSLib#1031
I'm in favour, although slightly disappointed the new approach still requires MANIFEST.in, has a strange configuration for setuptools, and doesn't support some tool configs yet (flake8, twine).
tomkralidis commentedon Mar 3, 2026
Thanks @geographika. FYI @C-Loftus we are moving various Geopython projects to pyproject for project configuration, which will help evaluate/test accordingly. We'll address this as part of 0.24 and in concert with #1753.
C-Loftus commentedon Mar 3, 2026
Makes sense. Thanks both 👍
I am less familiar with MANIFEST.in but regarding tools, I believe the blocker on tooling is generally on the tool side (i.e. flake8 doesn't support it due to the personal preference of the maintainer). I don't believe there is any limitation in pyproject.toml itself. For what its worth, there are ways to use ruff (which is configurable natively in pyproject.toml) in a flake8 compatible way. Just wanted to raise that may be of interest.
tomkralidis commentedon Mar 3, 2026
We use flake8 as a rule.