Skip to content

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

Merged
gaborbernat merged 8 commits intotox-dev:mainfrom
rahuldevikar:users/rahuldevikar/fix3687-scoped
Feb 17, 2026
Merged

Scope deps rejection to pure PEP-517 build types#3730
gaborbernat merged 8 commits intotox-dev:mainfrom
rahuldevikar:users/rahuldevikar/fix3687-scoped

Conversation

@rahuldevikar
Copy link
Collaborator

@rahuldevikar rahuldevikar commented Feb 17, 2026

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

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

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

Fixes: #3731

  • ran the linter to address style issues (tox -e fix)
  • wrote descriptive pull request text
  • ensured there are test(s) validating the fix
  • added news fragment in docs/changelog folder
  • updated/extended the documentation

@rahuldevikar rahuldevikar marked this pull request as ready for review February 17, 2026 20:18
@gaborbernat gaborbernat merged commit 6b54516 into tox-dev:main Feb 17, 2026
28 checks passed
wshanks added a commit to wshanks/qiskit-experiments that referenced this pull request Feb 18, 2026
github-merge-queue bot pushed a commit to qiskit-community/qiskit-experiments that referenced this pull request Feb 18, 2026
This change started as a fix for a change in behavior in tox but evolved
into
a set of three unrelated small fixes that are all needed to get the CI
to pass
again:

* Set a minimum version for `tox` of 4.38.0 so that we pick up
  tox-dev/tox#3730 which addresses
  tox-dev/tox#3687 (comment).
Additionally, `tox-uv` is added as a tox dependency for consistency
since
that is used in CI (but actually set it to !=4.36,!=4.37 since 4.38.0
requires
  Python >=3.10 and this change is a precursor to the one that drops
  Python 3.9).
* A pylint disable comment was added to `numpy.finfo.eps` since 
  this was also needed for the CI to pass.
* testtools 2.8.3 was excluded from the test dependencies to avoid
  incompatibility with stestr. The hope is the next release of stestr or
  testtools will address the incompatibility. See:
  testing-cabal/testtools#566
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scope deps rejection to pure PEP-517 build types

2 participants