Skip to content

Scope deps rejection to pure PEP-517 build types #3731

@rahuldevikar

Description

@rahuldevikar

What's the problem this feature will solve?

PR #3687 (fix for #3412) added a hard Fail in Pep517VenvPackager._setup_env() that rejects any deps on PEP-517 packaging environments. This broke two downstream consumers:

tox-uv — Tests for editable-legacy, workspace, and no_pyproject scenarios set deps = wheel on .pkg because uv doesn't seed wheel into venvs by default (unlike virtualenv). The editable-legacy flow needs wheel importable in the packaging venv for setup.py develop. CI: https://github.com/tox-dev/tox-uv/actions/runs/22071221669

@ wshanks (qiskit-experiments) — Uses package = external with deps = build on .pkg to run python -m build for sdist→wheel workflow. Discussion: #3491 (reply in thread) Fix PR: qiskit-community/qiskit-experiments#1615

Describe the solution you'd like

  1. Only raise the error when call_require_hooks is a subset of {"sdist", "wheel", "editable"} (standard PEP-517 types). Allow deps when editable-legacy or external is involved
  2. Add a new package type that does: build sdist -> build wheel from that sdist, natively

Alternative Solutions

Additional context

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