Skip to content

Commit d8f1b14

Browse files
authored
Upgrade bundled wheels (#2760)
Signed-off-by: Bernát Gábor <[email protected]>
1 parent 374660b commit d8f1b14

File tree

18 files changed

+78
-55
lines changed

18 files changed

+78
-55
lines changed

.github/workflows/check.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,11 @@ jobs:
4141
- { os: macos-latest, py: "[email protected]" }
4242
- { os: macos-latest, py: "[email protected]" }
4343
- { os: ubuntu-latest, py: "3.7" }
44-
- { os: windows-latest, py: "3.7" }
4544
- { os: macos-13, py: "3.7" }
46-
- { os: ubuntu-latest, py: "pypy-3.7" }
47-
- { os: windows-latest, py: "pypy-3.7" }
48-
- { os: macos-13, py: "pypy-3.7" }
4945
exclude:
5046
- { os: windows-latest, py: "pypy-3.10" }
5147
- { os: windows-latest, py: "pypy-3.9" }
48+
- { os: windows-latest, py: "pypy-3.8" }
5249
steps:
5350
- uses: taiki-e/install-action@cargo-binstall
5451
- name: Install OS dependencies
@@ -97,7 +94,9 @@ jobs:
9794
- name: Pick environment to run
9895
run: |
9996
import os; import platform; import sys; from pathlib import Path
100-
env = f'TOXENV=py{"" if platform.python_implementation() == "CPython" else "py"}3{sys.version_info.minor}'
97+
plat = platform.python_implementation()
98+
e = f"3.{sys.version_info.minor}" if plat == "CPython" else f"pypy3{sys.version_info.minor}"
99+
env = f"TOXENV={e}"
101100
print(f"Picked: {env} for {sys.version} based of {sys.executable}")
102101
with Path(os.environ["GITHUB_ENV"]).open("ta") as file_handler:
103102
file_handler.write(env)

.pre-commit-config.yaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ repos:
88
rev: 0.29.2
99
hooks:
1010
- id: check-github-workflows
11-
args: [ "--verbose" ]
11+
args: ["--verbose"]
1212
- repo: https://github.com/codespell-project/codespell
1313
rev: v2.3.0
1414
hooks:
1515
- id: codespell
1616
args: ["--write-changes"]
1717
- repo: https://github.com/tox-dev/tox-ini-fmt
18-
rev: "1.3.1"
18+
rev: "1.3.2"
1919
hooks:
2020
- id: tox-ini-fmt
2121
args: ["-p", "fix"]
@@ -24,11 +24,18 @@ repos:
2424
hooks:
2525
- id: pyproject-fmt
2626
- repo: https://github.com/astral-sh/ruff-pre-commit
27-
rev: "v0.6.3"
27+
rev: "v0.6.4"
2828
hooks:
2929
- id: ruff-format
3030
- id: ruff
3131
args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"]
32+
- repo: https://github.com/rbubley/mirrors-prettier
33+
rev: "v3.3.3"
34+
hooks:
35+
- id: prettier
36+
additional_dependencies:
37+
38+
- "@prettier/[email protected]"
3239
- repo: meta
3340
hooks:
3441
- id: check-hooks-apply

docs/changelog/2760.bugfix.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Upgrade embedded wheels:
2+
3+
* wheel to ``0.44.0`` from ``0.43.0``
4+
* pip to ``24.2`` from ``24.1``
5+
* setuptools to ``74.1.2`` from ``70.1.0``

pyproject.toml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ classifiers = [
3333
"Programming Language :: Python :: 3.10",
3434
"Programming Language :: Python :: 3.11",
3535
"Programming Language :: Python :: 3.12",
36+
"Programming Language :: Python :: 3.13",
3637
"Programming Language :: Python :: Implementation :: CPython",
3738
"Programming Language :: Python :: Implementation :: PyPy",
3839
"Topic :: Software Development :: Libraries",
@@ -121,6 +122,7 @@ lint.ignore = [
121122
"D40", # no imperative mode for docstrings
122123
"D203", # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible
123124
"D212", # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible
125+
"DOC", # no restructuredtext support
124126
"INP001", # ignore implicit namespace packages
125127
"ISC001", # conflict with formatter
126128
"PLR0914", # Too many local variables
@@ -133,11 +135,11 @@ lint.ignore = [
133135
]
134136
lint.per-file-ignores."tests/**/*.py" = [
135137
"D", # don't care about documentation in tests
136-
"FBT", # don"t care about booleans as positional arguments in tests
138+
"FBT", # don't care about booleans as positional arguments in tests
137139
"INP001", # no implicit namespace
138140
"PLC2701", # Private import
139141
"PLR2004", # Magic value used in comparison, consider replacing with a constant variable
140-
"S101", # asserts allowed in tests...
142+
"S101", # asserts allowed in tests
141143
"S603", # `subprocess` call: check for execution of untrusted input
142144
]
143145
lint.isort = { known-first-party = [
@@ -151,6 +153,9 @@ lint.preview = true
151153
builtin = "clear,usage,en-GB_to_en-US"
152154
count = true
153155

156+
[tool.pyproject-fmt]
157+
max_supported_python = "3.13"
158+
154159
[tool.pytest.ini_options]
155160
markers = [
156161
"slow",

src/virtualenv/config/cli/parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from __future__ import annotations
1+
from __future__ import annotations # noqa: A005
22

33
import os
44
from argparse import SUPPRESS, ArgumentDefaultsHelpFormatter, ArgumentParser, Namespace

src/virtualenv/create/via_global_ref/venv.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from __future__ import annotations
1+
from __future__ import annotations # noqa: A005
22

33
import logging
44
from copy import copy

src/virtualenv/seed/embed/via_app_data/pip_install/copy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from __future__ import annotations
1+
from __future__ import annotations # noqa: A005
22

33
import os
44
from pathlib import Path

src/virtualenv/seed/wheels/embed/__init__.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,39 +12,39 @@
1212
"wheel": "wheel-0.42.0-py3-none-any.whl",
1313
},
1414
"3.8": {
15-
"pip": "pip-24.1-py3-none-any.whl",
16-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
17-
"wheel": "wheel-0.43.0-py3-none-any.whl",
15+
"pip": "pip-24.2-py3-none-any.whl",
16+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
17+
"wheel": "wheel-0.44.0-py3-none-any.whl",
1818
},
1919
"3.9": {
20-
"pip": "pip-24.1-py3-none-any.whl",
21-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
22-
"wheel": "wheel-0.43.0-py3-none-any.whl",
20+
"pip": "pip-24.2-py3-none-any.whl",
21+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
22+
"wheel": "wheel-0.44.0-py3-none-any.whl",
2323
},
2424
"3.10": {
25-
"pip": "pip-24.1-py3-none-any.whl",
26-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
27-
"wheel": "wheel-0.43.0-py3-none-any.whl",
25+
"pip": "pip-24.2-py3-none-any.whl",
26+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
27+
"wheel": "wheel-0.44.0-py3-none-any.whl",
2828
},
2929
"3.11": {
30-
"pip": "pip-24.1-py3-none-any.whl",
31-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
32-
"wheel": "wheel-0.43.0-py3-none-any.whl",
30+
"pip": "pip-24.2-py3-none-any.whl",
31+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
32+
"wheel": "wheel-0.44.0-py3-none-any.whl",
3333
},
3434
"3.12": {
35-
"pip": "pip-24.1-py3-none-any.whl",
36-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
37-
"wheel": "wheel-0.43.0-py3-none-any.whl",
35+
"pip": "pip-24.2-py3-none-any.whl",
36+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
37+
"wheel": "wheel-0.44.0-py3-none-any.whl",
3838
},
3939
"3.13": {
40-
"pip": "pip-24.1-py3-none-any.whl",
41-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
42-
"wheel": "wheel-0.43.0-py3-none-any.whl",
40+
"pip": "pip-24.2-py3-none-any.whl",
41+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
42+
"wheel": "wheel-0.44.0-py3-none-any.whl",
4343
},
4444
"3.14": {
45-
"pip": "pip-24.1-py3-none-any.whl",
46-
"setuptools": "setuptools-70.1.0-py3-none-any.whl",
47-
"wheel": "wheel-0.43.0-py3-none-any.whl",
45+
"pip": "pip-24.2-py3-none-any.whl",
46+
"setuptools": "setuptools-74.1.2-py3-none-any.whl",
47+
"wheel": "wheel-0.44.0-py3-none-any.whl",
4848
},
4949
}
5050
MAX = "3.7"
Binary file not shown.
Binary file not shown.

src/virtualenv/seed/wheels/periodic_update.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ def __repr__(self) -> str:
142142
)
143143

144144
def __eq__(self, other):
145-
return type(self) == type(other) and all(
145+
return type(self) == type(other) and all( # noqa: E721
146146
getattr(self, k) == getattr(other, k) for k in ["filename", "release_date", "found_date", "source"]
147147
)
148148

src/virtualenv/util/zipapp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from __future__ import annotations
1+
from __future__ import annotations # noqa: A005
22

33
import logging
44
import os

tests/unit/create/test_creator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,7 @@ def list_files(path):
437437

438438

439439
@pytest.mark.skipif(is_macos_brew(CURRENT), reason="no copy on brew")
440+
@pytest.mark.skip(reason="https://github.com/pypa/setuptools/issues/4640")
440441
def test_zip_importer_can_import_setuptools(tmp_path):
441442
"""We're patching the loaders so might fail on r/o loaders, such as zipimporter on CPython<3.8"""
442443
result = cli_run(

tests/unit/create/via_global_ref/builtin/pypy/deb_pypy38.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@
2121
"original_executable": "/usr/bin/pypy3",
2222
"system_executable": "/usr/bin/pypy3",
2323
"has_venv": true,
24-
"path": ["/usr/lib/pypy3.8", "/usr/local/lib/pypy3.8/dist-packages", "/usr/lib/python3/dist-packages"],
24+
"path": [
25+
"/usr/lib/pypy3.8",
26+
"/usr/local/lib/pypy3.8/dist-packages",
27+
"/usr/lib/python3/dist-packages"
28+
],
2529
"file_system_encoding": "utf-8",
2630
"stdout_encoding": "UTF-8",
2731
"sysconfig_scheme": null,

tests/unit/create/via_global_ref/builtin/pypy/portable_pypy38.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@
2121
"original_executable": "/tmp/pypy3.8-v7.3.8-linux64/bin/pypy",
2222
"system_executable": "/tmp/pypy3.8-v7.3.8-linux64/bin/pypy",
2323
"has_venv": true,
24-
"path": ["/tmp/pypy3.8-v7.3.8-linux64/lib/pypy3.8", "/tmp/pypy3.8-v7.3.8-linux64/lib/pypy3.8/site-packages"],
24+
"path": [
25+
"/tmp/pypy3.8-v7.3.8-linux64/lib/pypy3.8",
26+
"/tmp/pypy3.8-v7.3.8-linux64/lib/pypy3.8/site-packages"
27+
],
2528
"file_system_encoding": "utf-8",
2629
"stdout_encoding": "UTF-8",
2730
"sysconfig_scheme": null,

tox.ini

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ requires =
33
tox>=4.2
44
env_list =
55
fix
6-
py313
7-
py312
8-
py311
9-
py310
10-
py39
11-
py38
12-
py37
136
pypy3
147
coverage
158
readme
169
docs
10+
3.13
11+
3.12
12+
3.11
13+
3.10
14+
3.9
15+
3.8
16+
3.7
1717
skip_missing_interpreters = true
1818

1919
[testenv]
@@ -44,19 +44,19 @@ uv_seed = true
4444
description = format the code base to adhere to our styles, and complain about what we cannot do automatically
4545
skip_install = true
4646
deps =
47-
pre-commit>=3.7
47+
pre-commit-uv>=4.1
4848
commands =
4949
pre-commit run --all-files --show-diff-on-failure
5050

5151
[testenv:readme]
5252
description = check that the long description is valid (need for PyPI)
5353
skip_install = true
5454
deps =
55-
build[virtualenv]>=1.2.1
56-
twine>=5
55+
build[uv]>=1.2.2
56+
twine>=5.1.1
5757
extras =
5858
commands =
59-
python -m build -o {envtmpdir} --wheel --sdist .
59+
python -m build -o {envtmpdir} --installer uv --wheel --sdist .
6060
twine check {envtmpdir}/*
6161

6262
[testenv:docs]
@@ -71,7 +71,7 @@ commands =
7171
description = upgrade pip/wheels/setuptools to latest
7272
skip_install = true
7373
deps =
74-
ruff>=0.3.7
74+
ruff>=0.6.4
7575
pass_env =
7676
UPGRADE_ADVISORY
7777
change_dir = {toxinidir}/tasks
@@ -83,8 +83,8 @@ uv_seed = true
8383
description = do a release, required posarg of the version number
8484
deps =
8585
gitpython>=3.1.43
86-
packaging>=24
87-
towncrier>=23.11
86+
packaging>=24.1
87+
towncrier>=24.8
8888
change_dir = {toxinidir}/tasks
8989
commands =
9090
python release.py --version {posargs}
@@ -96,15 +96,14 @@ extras =
9696
docs
9797
test
9898
commands =
99-
python -m pip list --format=columns
99+
uv pip tree
100100
python -c 'import sys; print(sys.executable)'
101-
uv_seed = true
102101

103102
[testenv:zipapp]
104103
description = generate a zipapp
105104
skip_install = true
106105
deps =
107-
packaging>=24
106+
packaging>=24.1
108107
commands =
109108
python tasks/make_zipapp.py
110109
uv_seed = true

0 commit comments

Comments
 (0)