This PR makes the package configuration closer to latest Python packaging standards and conventional workflows.
Currently, the README prescribes the use of pipenv for installing the SCH package, with the package configuration and
metadata defined in a setup.py and Pipfile files.
This
Replaces setup.py by pyproject.toml
Makes use of the setuptools package-data configuration directive to package data file, removing obsolete MANIFEST.in file. See Data files support
Removes mentions of pipenv and Pipfile, favoring conventional installation using pip instead.
Invoking setup.py directly (e.g. python setup.py install) or not providing a minimal pyproject.toml configuration file is deprecated. In the case of the SCH package, all the defined configuration and metadata can be migrated from the setup.py file to the pyproject.toml file, which is the standard configuration file nowadays.
If pipenv is a useful tool for managing the installation of Python packages, it acts at a level above the standard Python package manager pip. There are other alternatives, such as poetry, conda, pyenv, rye, pdm or hatch. I think the installation instruction should not make any prescription(s) for a particular tool, but instead mention that the installation is nothing more that the conventional pip install command that most users would exepct. The README file could, however, make recommendations regarding the use of tools to manage package installations.
This PR makes the package configuration closer to latest Python packaging standards and conventional workflows.
Currently, the README prescribes the use of pipenv for installing the SCH package, with the package configuration and metadata defined in a setup.py and Pipfile files.
This
setup.py
bypyproject.toml
package-data
configuration directive to package data file, removing obsoleteMANIFEST.in
file. See Data files supportPipfile
, favoring conventional installation usingpip
instead.Invoking setup.py directly (e.g. python setup.py install) or not providing a minimal pyproject.toml configuration file is deprecated. In the case of the SCH package, all the defined configuration and metadata can be migrated from the setup.py file to the pyproject.toml file, which is the standard configuration file nowadays.
If pipenv is a useful tool for managing the installation of Python packages, it acts at a level above the standard Python package manager pip. There are other alternatives, such as poetry, conda, pyenv, rye, pdm or hatch. I think the installation instruction should not make any prescription(s) for a particular tool, but instead mention that the installation is nothing more that the conventional pip install command that most users would exepct. The README file could, however, make recommendations regarding the use of tools to manage package installations.