Skip to content

PEP 518 compliance: move to pyproject.toml #18

@santisoler

Description

@santisoler

Note

This issue was opened as part of the JOSS review process: openjournals/joss-reviews#7021

Important

This is a low-priority issue. Not addressing this comment won't block the acceptance of the submitted article to JOSS.

The issue

Currently pide relies on having a setup.py and a setup.cfg files in order to install it. This installation method is currently being discouraged in favor of the new pyproject.toml file. More information about this decision can be found in PEP 518, while the specifications for pyproject.toml can be found in PEP 621.

Recent versions of pip warn about this issue, informing that future versions of pip will drop support for setup.py files. For example, while installing pide with pip we get the following warning:

pip install -e .
Obtaining file:///home/santi/git/pide
  Preparing metadata (setup.py) ... done
Installing collected packages: pide
  DEPRECATION: Legacy editable install of pide==0.3.6 from file:///home/santi/git/pide (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
  Running setup.py develop for pide
Successfully installed pide-0.3.6

How to fix it

The easier way to fix this issue is to move away from the setup.py and setup.cfg files in favor of a new pyproject.toml file.

Setuptools provide instructions on how to set this up and how to migrate to pyproject.toml: https://setuptools.pypa.io/en/latest/userguide/quickstart.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions