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
A miss-specified pyproject.toml file that leaves out a dynamic field from the [project.dynamic] list, but still specifies that metadata field in [tool.setuptools.dynamic] will not warn the user of the missing field.
The user has forgotten to put "dependencies" in the project.dynamic list. But when running any setuptools building or installation commands (pip install, python -m build, python setup.py sdist), there is no indication that something is wrong until the user is unable to run their code due to missing dependencies.
Describe the solution you'd like
If a field is defined in [tool.setuptools.dynamic], but it is missing from the list in [project.dynamic], warn the user when attempting to build or install the package (from the local file structure, it will be mostly unhelpful when installing from pypi).
A similar thing is done elsewhere: When a field is defined in the setup.py file and not noted as dynamic in the pyproject.toml, a _MissingDynamic warning is sent to the console when attempting to build the package (though not when attempting to install it).
Alternative Solutions
An error/failure to build the package could also be acceptable, especially since a mistake like this might not get noticed if development is taking place in a local environment that already has the necessary dependencies installed.
Additional context
I am aware of #4183, however I don't believe that we are requesting the same thing. What this is requesting is a warning for projects that use pyproject.toml exclusively, and a mistake has simply been made when writing the file.
Code of Conduct
I agree to follow the PSF Code of Conduct
The text was updated successfully, but these errors were encountered:
If a field is defined in [tool.setuptools.dynamic], but it is missing from the list in [project.dynamic], warn the user when attempting to build or install the package (from the local file structure, it will be mostly unhelpful when installing from pypi).
What's the problem this feature will solve?
A miss-specified
pyproject.toml
file that leaves out a dynamic field from the[project.dynamic]
list, but still specifies that metadata field in[tool.setuptools.dynamic]
will not warn the user of the missing field.Take the following pyproject.toml file:
The user has forgotten to put
"dependencies"
in the project.dynamic list. But when running any setuptools building or installation commands (pip install
,python -m build
,python setup.py sdist
), there is no indication that something is wrong until the user is unable to run their code due to missing dependencies.Describe the solution you'd like
If a field is defined in
[tool.setuptools.dynamic]
, but it is missing from the list in[project.dynamic]
, warn the user when attempting to build or install the package (from the local file structure, it will be mostly unhelpful when installing from pypi).A similar thing is done elsewhere: When a field is defined in the
setup.py
file and not noted as dynamic in thepyproject.toml
, a_MissingDynamic
warning is sent to the console when attempting to build the package (though not when attempting to install it).Alternative Solutions
An error/failure to build the package could also be acceptable, especially since a mistake like this might not get noticed if development is taking place in a local environment that already has the necessary dependencies installed.
Additional context
I am aware of #4183, however I don't believe that we are requesting the same thing. What this is requesting is a warning for projects that use
pyproject.toml
exclusively, and a mistake has simply been made when writing the file.Code of Conduct
The text was updated successfully, but these errors were encountered: