Skip to content
  • Peter Grayson's avatar
    build!: contemporary setuptools usage · a24cfbe3
    Peter Grayson authored
    Update to the latest recommendations for using setuptools as the build
    backend [1].
    
    The setup.py script is removed. SimPy packages must now be built using
    the recommended `build` frontend tool (i.e. `python -m build`).
    
    The project configuration is moved from setup.cfg to pyproject.toml [2].
    
    The version, which is derived from git by the setuptools_scm package, is
    now interrogated at runtime by importlib.metadata instead of
    pkg_resources. This is the contemporary recommendation of setuptools_scm
    [3] and is needed for Python 3.12 where setuptools and pkg_resources are
    no longer available by default in runtime environments [4]. The
    importlib.metadata mechanism is available as of Python 3.8, which is
    conveniently SimPy's new minimum required Python version.
    
    [1]: https://setuptools.pypa.io/en/latest/userguide/index.html
    [2]: https://peps.python.org/pep-0621/
    [3]: https://setuptools-scm.readthedocs.io/en/latest/usage/
    [4]: https://peps.python.org/pep-0632/
    a24cfbe3