-
Notifications
You must be signed in to change notification settings - Fork 303
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
Store project metadata in pyproject.toml #1755
Comments
This would require users to have a modern version of setuptools installed. Also, what specifically would have to change in the build process? Shouldn't the actual commands to do the building be the same? I've noticed that xarray puts all their stuff in setup.cfg: https://github.com/pydata/xarray/blob/main/setup.cfg How can/should this be done in pyproject.toml? Do you have an example? |
Actually, setuptools doesn't even support it yet, but build dependencies can be defined in the I was playing around with
and this content for
With this, the package it's installable without pre-installing anything else. Pytest and setuptools_scm already read their configuration from pip install .
The verbose install log including stderr is too long to include inline (1844 lines), but includes all the details including the installation of ppsetuptools, which would be needed until setuptools natively supports pyproject.toml, which is probably soon. In either case, the user installing with pip needs to do nothing; I don't know what happens with conda, though. I don't know if I could use the test-dependencies from a GitHub runner directly. |
This is really cool! Thanks for the example.
Do you mean for the conda-forge package? That would still have to be a separate dependency list and that is done manually. The only thing that matters as far as the setuptools/setup.py dependency list is whether or not the conda-forge bot can read it since it makes suggestions based on changes it detects. For the github runner, are you saying get rid of our conda |
No, I didn't get rid of the conda |
That's really nice @gerritholl ! Some time ago I also looked a poetry which looks awesome and supporting pyproject.toml would allow us to use it. And if we do, then there is a tool to convert pyproject.toml to conda format: https://pypi.org/project/poetry2conda/ |
Closed by #2763 . |
Feature Request
Is your feature request related to a problem? Please describe.
Satpy package metadata is currently spread and partly duplicated between
pyproject.toml
,setup.cfg
,setup.py
,conf.py
,MANIFEST.IN
, and various tool-specific configuration files.PEP 621 defines how project metadata should be stored in
pyproject.toml
. This PEP was declared final on 2021-03-03. The community is migrating topyproject.toml
, which will deprecatesetup.py
,setup.cfg
, and — eventually — project specific configuration files.Describe the solution you'd like
I would like that Satpy stores as much as possible in
pyproject.toml
. I would like nothing else will be needed anymore.Describe any changes to existing user workflow
Most users will not notice much, but there will be some changes to the build process.
Additional context
Status quo works. Tooling is not entirely ready yet. Setuptools does not yet support pyproject.toml, but ppsetuptools does and probably setuptools will sooner or later. Can be read by pytest already. Hopefully other tools like sphinx and flake8 will follow in migrating to pyproject.toml. Perhaps this issue should wait a bit still.
This issue applies equally to almost all other Pytroll projects.
The text was updated successfully, but these errors were encountered: