-
Notifications
You must be signed in to change notification settings - Fork 149
Description
Is your feature request related to a problem? Please describe.
The setup.py file is soon to be deprecated (Q1 2025), as the Python packaging ecosystem is moving towards adopting pyproject.toml as the standard for build configuration. Continuing to rely on setup.py might lead to compatibility issues with future versions of Python packaging tools and hinder best practices.
See for instance this
DEPRECATION: Legacy editable install of climada_python[dev]==5.0.1.dev0 from [...]
(setup.py develop) is deprecated. pip 25.0 will enforce this behaviour change. A possible replacement is to add a
pyproject.toml or enable --use-pep517, and use setuptools >= 64. If the resulting installation is not behaving as expected, try
using --config-settings editable_mode=compat. Please consult the setuptools documentation for more information.
Discussion can be found at https://github.com/pypa/pip/issues/11457
Describe the solution you'd like
Plan and execute the migration of the project from setup.py to pyproject.toml:
- See what needs to be migrated and how.
- Make sure local builds work properly.
- Make sure CI/CD workflows/builds work properly.
Additional context
Switching to pyproject.toml will align the project with modern packaging standards, making it more future-proof and accessible for contributors familiar with the new system.
Reference: PEP 517/518 outlines the guidelines for using pyproject.toml for build systems.
See also: https://peps.python.org/pep-0660/
Maybe consider using poetry ?