Skip to content

Commit d3b29d9

Browse files
kbukum1Copilot
andcommitted
Upgrade uv helper dependencies and add Python 3.9 fallback
Apply the same approach from #15058 to the uv ecosystem: - Upgrade helper packages to latest versions (pip 26.1.1, poetry 2.4.1, etc.) - Add requirements-3.9.txt with old 3.9-compatible versions - Update build script with conditional requirements selection Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 717475e commit d3b29d9

3 files changed

Lines changed: 36 additions & 10 deletions

File tree

uv/helpers/build

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,21 @@ cp -r \
1515
"$helpers_dir/lib" \
1616
"$helpers_dir/run.py" \
1717
"$helpers_dir/requirements.txt" \
18+
"$helpers_dir/requirements-3.9.txt" \
1819
"$install_dir"
1920

2021
cd "$install_dir"
21-
PYENV_VERSION=$1 pyenv exec pip3 --disable-pip-version-check install --use-pep517 -r "requirements.txt"
22+
23+
python_version=$1
24+
# pip 26.x and several other packages require Python >=3.10.
25+
# Use 3.9-compatible versions for the deprecated Python 3.9 runtime.
26+
if [[ "$python_version" == 3.9.* ]]; then
27+
req_file="requirements-3.9.txt"
28+
else
29+
req_file="requirements.txt"
30+
fi
31+
32+
PYENV_VERSION=$python_version pyenv exec pip3 --disable-pip-version-check install --use-pep517 -r "$req_file"
2233

2334
# Remove the extra objects added during the previous install. Based on
2435
# https://github.com/docker-library/python/blob/master/Dockerfile-linux.template

uv/helpers/requirements-3.9.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Python 3.9-compatible versions pinned to the last known working set before
2+
# packages dropped 3.9 support. Python 3.9 reached end-of-life on 2025-10-31.
3+
pip==24.0
4+
pip-tools==7.4.1
5+
flake8==7.1.0
6+
hashin==1.0.3
7+
pipenv==2024.0.2
8+
plette==2.1.0
9+
poetry==1.8.5
10+
# tomli is required for Python <3.11 (stdlib tomllib was added in 3.11).
11+
tomli==2.0.1
12+
uv==0.11.8
13+
14+
# Some dependencies will only install if Cython is present
15+
Cython==3.0.10

uv/helpers/requirements.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
pip==24.0
2-
pip-tools==7.4.1
3-
flake8==7.1.0
4-
hashin==1.0.3
5-
pipenv==2024.0.2
6-
plette==2.1.0
7-
poetry==1.8.5
1+
pip==26.1.1
2+
pip-tools==7.5.3
3+
flake8==7.3.0
4+
hashin==1.0.5
5+
pipenv==2024.4.1
6+
plette==2.2.1
7+
poetry==2.4.1
88
# TODO: Replace 3p package `tomli` with 3.11's new stdlib `tomllib` once we drop support for Python 3.10.
9-
tomli==2.0.1
9+
tomli==2.4.1
1010
uv==0.11.8
1111

1212
# Some dependencies will only install if Cython is present
13-
Cython==3.0.10
13+
Cython==3.2.4

0 commit comments

Comments
 (0)