-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add clarifications about experimental
status for pyproject.toml
configuration
#3347
Conversation
c95a9e5
to
31d253d
Compare
31d253d
to
0cfda25
Compare
0cfda25
to
9d48703
Compare
Would it be time to also remove the |
Hi @EwoutH thank you very much for bringing this to our attention. |
Thanks for getting back so quickly! In the table in the Dynamic Metadata section of the Configuring setuptools using pyproject.toml files documentation, dependencies and optional-dependencies are still listed as beta. But I might have read it wrong, it means that using files for those is still in beta, and that might be correct? In any case, if that's not in beta anymore, I opened a PR to remove them in #3632. |
That is the case. The beta status is for using
I would keep the beta for a little longer, since we did not receive a lot of feedback about this feature yet. |
Thanks for the explanation! I had one other remark. One very useful feature I found when defining optional-dependencies, it that you not only can list packages, but also optional dependencies of packages. This way you can also define a optional dependency that combines your own optional dependencies, for example an [project.optional-dependencies]
dev = ["pytest", "pytest-mock", "jupyter_client", "ipyparallel"]
cov = ["pytest-cov", "coverage", "coveralls"]
docs = ["sphinx", "nbsphinx", "myst", "pyscaffold", "myst-parser"]
graph = ["altair", "pydot", "graphviz"]
all = ["your-package[dev,cov,docs,graph]"] However, this feature is a bit hidden. What would be a good place to add this to the docs? |
I believe this is It seems that the community has been asking for this for a while. It might make sense to discuss this in the context of standardization first (in the Python Packaging discourse). |
That's a very good idea. I don't know if I have the skill and time to write a structured proposal for this however. Probably useful to have someone from |
As noted in #2671 (comment), it would be good if we clarify which parts of the
pyproject.toml
configuration are considered experimental or not.It is been a few months since the implementation of PEP 621 support landed in setuptools (after a long period of feedback), and it seems now that support for project metadata in
pyproject.toml
has stabilised. Moreover the existing implementation is backed by a PEP, therefore it makes sense to consider this part of the feature stable.Summary of changes
tool.setuptools
instead of project metadata inpyproject.toml
Closes
Pull Request Checklist
changelog.d/
.(See documentation for details)