script-filesarrayDeprecated equivalent to the scriptkeyword 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.