Skip to content

Plan migration from setup.py to pyproject.toml #984

@spjuhel

Description

@spjuhel

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:

  1. See what needs to be migrated and how.
  2. Make sure local builds work properly.
  3. 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 ?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions