script-files
arrayDeprecated equivalent to the script
keyword insetup.py
(should be avoided in favour ofproject.scripts
)
I think you’re referring to this aspect? I think that’s a setuptools-specific question you’ll want to ask setuptools’ maintainers; on their repository’s discussions tab or something.
The underlying difference between the two scripts
vs entry_points -> console_scripts
in setup.py is fairly “easy” to see if you build a wheel and do unzip -l <wheel-file>
.
The files specified in scripts
will end up in the wheel as-is at <project>-<version>.data/scripts/...
. These will end up in the bin/
directory of a Python virtual environment.
The entry_points
specified in console_scripts
will end up in a .txt
file in the metadata folder (.dist-info
) within the wheel. The latter get launcher files generated for them by the installer (i.e. pip) in a cross-platform manner.
The capability to put arbitrary files into the scripts location isn’t going to be taken away because the ability to put files like <project>-<version>.data/scripts/...
isn’t going to be taken away. Whether setuptools supports doing that with their pyproject.toml based configuration is a question for you to ask the setuptools maintainers.
I’ll flag that the scripts
key in setup.py
takes a list of files whereas project.scripts
in pyproject.toml
is a mapping/dictionary/table.