Skip to content

Add pyproject.toml with NumPy as a build dependency for PEP 517 compatibility #138

@tgoldina

Description

@tgoldina

The Tractor package references NumPy in its setup.py but does not declare NumPy as a build dependency. With the release of pip 25.3, the default behavior has shifted to PEP 517 isolated builds, whereas earlier versions would fall back to the legacy the legacy setup.py build path.

The package still builds under pip 25.2, but a deprecation warning is emitted:

DEPRECATION: Building 'tractor' using the legacy setup.py bdist_wheel mechanism, which will be removed
in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the
standardized build interface by setting the --use-pep517 option, (possibly combined with
--no-build-isolation), or adding a pyproject.toml file to the source tree of 'tractor'.
Discussion can be found at pypa/pip#6334

To ensure compatibility with pip ≥ 25.3, a straightforward fix would be to add a minimal pyproject.toml that declares NumPy as a build requirement:

[build-system]
requires = ["setuptools>=64", "wheel", "numpy"]
build-backend = "setuptools.build_meta"

This would enable standardized, isolated PEP 517 builds.

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