Skip to content

uv sync x dependency groups doesn't work with PyPy #10669

Closed
@hynek

Description

$ uv --version
uv 0.5.20 (1c17662b3 2025-01-15)

I've run into this in my experimental attempt to use fully-locked env for attrs python-attrs/attrs#1349 so you can just check out the https://github.com/python-attrs/attrs/tree/uv-lock branch for testing.

Put simply, with PyPy nothing except the current package gets installed:

$ rm -rf .venv && uv sync --python pypy3.10 && uv pip list
Using PyPy 3.10.14 interpreter at: /opt/homebrew/bin/pypy3.10
Creating virtual environment at: .venv
Resolved 99 packages in 1ms
Installed 1 package in 1ms
 + attrs==24.3.1.dev20 (from file:///Users/hynek/FOSS/attrs)
Package Version      Editable project location
------- ------------ -------------------------
attrs   24.3.1.dev20 /Users/hynek/FOSS/attrs

and:

$ rm -rf .venv && uv sync --python python3.13 && uv pip list
Using CPython 3.13.1 interpreter at: /Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13
Creating virtual environment at: .venv
Resolved 99 packages in 1ms
Installed 23 packages in 28ms
 + attrs==24.3.1.dev20 (from file:///Users/hynek/FOSS/attrs)
 + cloudpickle==3.1.1
 + decorator==5.1.1
 + hypothesis==6.124.0
 + iniconfig==2.0.0
 + jinja2==3.1.5
 + jsonschema==4.23.0
 + jsonschema-specifications==2024.10.1
 + markupsafe==3.0.2
 + mypy==1.14.1
 + mypy-extensions==1.0.0
 + packaging==24.2
 + pluggy==1.5.0
 + pympler==1.1
 + pytest==8.3.4
 + pytest-mypy-plugins==3.2.0
 + pyyaml==6.0.2
 + referencing==0.35.1
 + regex==2024.11.6
 + rpds-py==0.22.3
 + sortedcontainers==2.4.0
 + tomlkit==0.13.2
 + typing-extensions==4.12.2
Package                   Version      Editable project location
------------------------- ------------ -------------------------
attrs                     24.3.1.dev20 /Users/hynek/FOSS/attrs
cloudpickle               3.1.1
decorator                 5.1.1
hypothesis                6.124.0
iniconfig                 2.0.0
jinja2                    3.1.5
jsonschema                4.23.0
jsonschema-specifications 2024.10.1
markupsafe                3.0.2
mypy                      1.14.1
mypy-extensions           1.0.0
packaging                 24.2
pluggy                    1.5.0
pympler                   1.1
pytest                    8.3.4
pytest-mypy-plugins       3.2.0
pyyaml                    6.0.2
referencing               0.35.1
regex                     2024.11.6
rpds-py                   0.22.3
sortedcontainers          2.4.0
tomlkit                   0.13.2
typing-extensions         4.12.2

The current approach of using uv pip install --extra dev as on the main branch works.

I've tried on the extra-based main to set min Python to 3.9 and running the following:

$ rm -rf .venv && uv sync --python pypy3.10 --extra dev && uv pip list
Using PyPy 3.10.14 interpreter at: /opt/homebrew/bin/pypy3.10
Creating virtual environment at: .venv
Resolved 84 packages in 2ms
   Built psutil==6.1.1
   Built pyyaml==6.0.2
Prepared 13 packages in 4.93s
Installed 24 packages in 17ms
 + attrs==24.3.1.dev3 (from file:///Users/hynek/FOSS/attrs)
 + cfgv==3.4.0
 + distlib==0.3.9
 + exceptiongroup==1.2.2
 + execnet==2.1.1
 + filelock==3.16.1
 + hypothesis==6.124.0
 + identify==2.6.5
 + iniconfig==2.0.0
 + nodeenv==1.9.1
 + packaging==24.2
 + platformdirs==4.3.6
 + pluggy==1.5.0
 + pre-commit==4.0.1
 + pre-commit-uv==4.1.4
 + psutil==6.1.1
 + pympler==1.1
 + pytest==8.3.4
 + pytest-xdist==3.6.1
 + pyyaml==6.0.2
 + sortedcontainers==2.4.0
 + tomli==2.2.1
 + uv==0.5.20
 + virtualenv==20.29.0
Package          Version     Editable project location
---------------- ----------- -------------------------
attrs            24.3.1.dev3 /Users/hynek/FOSS/attrs
cfgv             3.4.0
distlib          0.3.9
exceptiongroup   1.2.2
execnet          2.1.1
filelock         3.16.1
hypothesis       6.124.0
identify         2.6.5
iniconfig        2.0.0
nodeenv          1.9.1
packaging        24.2
platformdirs     4.3.6
pluggy           1.5.0
pre-commit       4.0.1
pre-commit-uv    4.1.4
psutil           6.1.1
pympler          1.1
pytest           8.3.4
pytest-xdist     3.6.1
pyyaml           6.0.2
sortedcontainers 2.4.0
tomli            2.2.1
uv               0.5.20
virtualenv       20.29.0

So it seems to be connected to PEP 735 / dependency groups??

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions