However there are some caveats and use of setup.py will likely to continue for some time
"New projects are advised to avoid setup.py configurations (beyond the minimal stub) when custom scripting during the build is not necessary. Examples are kept in this document to help people interested in maintaining or contributing to existing packages that use setup.py. Note that you can still keep most of configuration declarative in setup.cfg or pyproject.toml and use setup.py only for the parts not supported in those files (e.g. C extensions). See note."
As a system developer I want to use modern software development tools and procedures so that the system is easy to develop and maintain.
Refs
https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#declaring-project-metadata
https://packaging.python.org/en/latest/specifications/
https://setuptools.pypa.io/en/latest/userguide/quickstart.html
Several packages or tutorials currently advice against using setup.py for new projects
However there are some caveats and use of setup.py will likely to continue for some time
"New projects are advised to avoid setup.py configurations (beyond the minimal stub) when custom scripting during the build is not necessary. Examples are kept in this document to help people interested in maintaining or contributing to existing packages that use setup.py. Note that you can still keep most of configuration declarative in setup.cfg or pyproject.toml and use setup.py only for the parts not supported in those files (e.g. C extensions). See note."
Note if C extension builds are required then it is still recommended to use setup.py