Skip to content

Commit c755fb3

Browse files
committed
build: use uv pip compile instead of pip-tools
1 parent 5fa2bf3 commit c755fb3

11 files changed

+50
-137
lines changed

Makefile

+4-7
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,16 @@ metasmoke:
9898
DOCBIN = .tox/doc/bin
9999

100100

101-
PIP_COMPILE = pip-compile ${COMPILE_OPTS} --allow-unsafe --resolver=backtracking
101+
PIP_COMPILE = uv pip compile -q ${COMPILE_OPTS}
102102
upgrade: ## Update the *.pip files with the latest packages satisfying *.in files.
103103
$(MAKE) _upgrade COMPILE_OPTS="--upgrade"
104104

105105
upgrade_one: ## Update the *.pip files for one package. `make upgrade_one package=...`
106106
@test -n "$(package)" || { echo "\nUsage: make upgrade-one package=...\n"; exit 1; }
107107
$(MAKE) _upgrade COMPILE_OPTS="--upgrade-package $(package)"
108108

109-
_upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
109+
_upgrade: export UV_CUSTOM_COMPILE_COMMAND=make upgrade
110110
_upgrade:
111-
pip install -q -r requirements/pip-tools.pip
112-
$(PIP_COMPILE) -o requirements/pip-tools.pip requirements/pip-tools.in
113111
$(PIP_COMPILE) -o requirements/pip.pip requirements/pip.in
114112
$(PIP_COMPILE) -o requirements/pytest.pip requirements/pytest.in
115113
$(PIP_COMPILE) -o requirements/kit.pip requirements/kit.in
@@ -118,10 +116,9 @@ _upgrade:
118116
$(PIP_COMPILE) -o requirements/light-threads.pip requirements/light-threads.in
119117
$(PIP_COMPILE) -o requirements/mypy.pip requirements/mypy.in
120118

121-
doc_upgrade: export CUSTOM_COMPILE_COMMAND=make doc_upgrade
119+
doc_upgrade: export UV_CUSTOM_COMPILE_COMMAND=make doc_upgrade
122120
doc_upgrade: $(DOCBIN) ## Update the doc/requirements.pip file
123-
$(DOCBIN)/pip install -q -r requirements/pip-tools.pip
124-
$(DOCBIN)/$(PIP_COMPILE) --upgrade -o doc/requirements.pip doc/requirements.in
121+
$(PIP_COMPILE) -p $(DOCBIN)/python3 --upgrade -o doc/requirements.pip doc/requirements.in
125122

126123
diff_upgrade: ## Summarize the last `make upgrade`
127124
@# The sort flags sort by the package name first, then by the -/+, and

doc/requirements.pip

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.11
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make doc_upgrade
6-
#
73
alabaster==1.0.0
84
# via sphinx
95
anyio==4.9.0
@@ -66,6 +62,8 @@ restructuredtext-lint==1.4.0
6662
# via doc8
6763
roman-numerals-py==3.1.0
6864
# via sphinx
65+
setuptools==80.3.0
66+
# via pbr
6967
sniffio==1.3.1
7068
# via anyio
7169
snowballstemmer==2.2.0
@@ -119,7 +117,3 @@ watchfiles==1.0.5
119117
# via sphinx-autobuild
120118
websockets==15.0.1
121119
# via sphinx-autobuild
122-
123-
# The following packages are considered to be unsafe in a requirements file:
124-
setuptools==80.3.0
125-
# via pbr

requirements/dev.pip

+19-25
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
astroid==3.3.9
84
# via pylint
95
attrs==25.3.0
@@ -14,7 +10,7 @@ backports-tarfile==1.2.0
1410
# via jaraco-context
1511
build==1.2.2.post1
1612
# via check-manifest
17-
cachetools==6.0.0b4
13+
cachetools==5.5.2
1814
# via tox
1915
certifi==2025.4.26
2016
# via requests
@@ -34,8 +30,8 @@ cogapp==3.4.1
3430
# via -r requirements/dev.in
3531
colorama==0.4.6
3632
# via
37-
# -r /Users/ned/coverage/trunk/requirements/pytest.in
38-
# -r /Users/ned/coverage/trunk/requirements/tox.in
33+
# -r requirements/pytest.in
34+
# -r requirements/tox.in
3935
# tox
4036
dill==0.4.0
4137
# via pylint
@@ -54,11 +50,11 @@ filelock==3.18.0
5450
# tox
5551
# virtualenv
5652
flaky==3.8.1
57-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
53+
# via -r requirements/pytest.in
5854
greenlet==3.2.1
5955
# via -r requirements/dev.in
6056
hypothesis==6.131.9
61-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
57+
# via -r requirements/pytest.in
6258
id==1.5.0
6359
# via twine
6460
idna==3.10
@@ -112,6 +108,8 @@ packaging==25.0
112108
# twine
113109
parso==0.8.4
114110
# via jedi
111+
pip==25.1.1
112+
# via -r requirements/pip.in
115113
platformdirs==4.3.7
116114
# via
117115
# pylint
@@ -125,7 +123,7 @@ pudb==2024.1.3
125123
# via -r requirements/dev.in
126124
pygments==2.19.1
127125
# via
128-
# -r /Users/ned/coverage/trunk/requirements/pytest.in
126+
# -r requirements/pytest.in
129127
# pudb
130128
# readme-renderer
131129
# rich
@@ -137,10 +135,10 @@ pyproject-hooks==1.2.0
137135
# via build
138136
pytest==8.3.5
139137
# via
140-
# -r /Users/ned/coverage/trunk/requirements/pytest.in
138+
# -r requirements/pytest.in
141139
# pytest-xdist
142140
pytest-xdist==3.6.1
143-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
141+
# via -r requirements/pytest.in
144142
readme-renderer==44.0
145143
# via
146144
# -r requirements/dev.in
@@ -160,6 +158,10 @@ rich==14.0.0
160158
# via twine
161159
scriv==1.7.0
162160
# via -r requirements/dev.in
161+
setuptools==80.3.0
162+
# via
163+
# -r requirements/pip.in
164+
# check-manifest
163165
sortedcontainers==2.4.0
164166
# via hypothesis
165167
tabulate==0.9.0
@@ -176,10 +178,10 @@ tomlkit==0.13.2
176178
# via pylint
177179
tox==4.24.1
178180
# via
179-
# -r /Users/ned/coverage/trunk/requirements/tox.in
181+
# -r requirements/tox.in
180182
# tox-gh
181183
tox-gh==1.5.0
182-
# via -r /Users/ned/coverage/trunk/requirements/tox.in
184+
# via -r requirements/tox.in
183185
twine==6.1.0
184186
# via -r requirements/dev.in
185187
typing-extensions==4.13.2
@@ -201,18 +203,10 @@ urwid-readline==0.15.1
201203
# via pudb
202204
virtualenv==20.28.1
203205
# via
204-
# -c /Users/ned/coverage/trunk/requirements/pins.pip
205-
# -r /Users/ned/coverage/trunk/requirements/pip.in
206+
# -c requirements/pins.pip
207+
# -r requirements/pip.in
206208
# tox
207209
wcwidth==0.2.13
208210
# via urwid
209211
zipp==3.21.0
210212
# via importlib-metadata
211-
212-
# The following packages are considered to be unsafe in a requirements file:
213-
pip==25.1.1
214-
# via -r /Users/ned/coverage/trunk/requirements/pip.in
215-
setuptools==80.3.0
216-
# via
217-
# -r /Users/ned/coverage/trunk/requirements/pip.in
218-
# check-manifest

requirements/kit.pip

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
auditwheel==6.3.0
84
# via -r requirements/kit.in
95
backports-tarfile==1.2.0
@@ -87,6 +83,8 @@ rfc3986==2.0.0
8783
# via twine
8884
rich==14.0.0
8985
# via twine
86+
setuptools==80.3.0
87+
# via -r requirements/kit.in
9088
tomli==2.2.1
9189
# via
9290
# build
@@ -106,7 +104,3 @@ wheel==0.45.1
106104
# via -r requirements/kit.in
107105
zipp==3.21.0
108106
# via importlib-metadata
109-
110-
# The following packages are considered to be unsafe in a requirements file:
111-
setuptools==80.3.0
112-
# via -r requirements/kit.in

requirements/light-threads.pip

+5-11
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
cffi==1.17.1
84
# via -r requirements/light-threads.in
95
dnspython==2.7.0
@@ -19,13 +15,11 @@ greenlet==3.2.1
1915
# gevent
2016
pycparser==2.22
2117
# via cffi
22-
zope-event==5.0
23-
# via gevent
24-
zope-interface==7.2
25-
# via gevent
26-
27-
# The following packages are considered to be unsafe in a requirements file:
2818
setuptools==80.3.0
2919
# via
3020
# zope-event
3121
# zope-interface
22+
zope-event==5.0
23+
# via gevent
24+
zope-interface==7.2
25+
# via gevent

requirements/mypy.pip

+7-11
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
attrs==25.3.0
84
# via hypothesis
95
colorama==0.4.6
10-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
6+
# via -r requirements/pytest.in
117
exceptiongroup==1.2.2
128
# via
139
# hypothesis
1410
# pytest
1511
execnet==2.1.1
1612
# via pytest-xdist
1713
flaky==3.8.1
18-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
14+
# via -r requirements/pytest.in
1915
hypothesis==6.131.9
20-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
16+
# via -r requirements/pytest.in
2117
iniconfig==2.1.0
2218
# via pytest
2319
mypy==1.15.0
@@ -29,13 +25,13 @@ packaging==25.0
2925
pluggy==1.5.0
3026
# via pytest
3127
pygments==2.19.1
32-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
28+
# via -r requirements/pytest.in
3329
pytest==8.3.5
3430
# via
35-
# -r /Users/ned/coverage/trunk/requirements/pytest.in
31+
# -r requirements/pytest.in
3632
# pytest-xdist
3733
pytest-xdist==3.6.1
38-
# via -r /Users/ned/coverage/trunk/requirements/pytest.in
34+
# via -r requirements/pytest.in
3935
sortedcontainers==2.4.0
4036
# via hypothesis
4137
tomli==2.2.1

requirements/pip-tools.in

-8
This file was deleted.

requirements/pip-tools.pip

-34
This file was deleted.

requirements/pip.pip

+6-12
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
distlib==0.3.9
84
# via virtualenv
95
filelock==3.18.0
106
# via virtualenv
7+
pip==25.1.1
8+
# via -r requirements/pip.in
119
platformdirs==4.3.7
1210
# via virtualenv
11+
setuptools==80.3.0
12+
# via -r requirements/pip.in
1313
virtualenv==20.28.1
1414
# via
15-
# -c /Users/ned/coverage/trunk/requirements/pins.pip
15+
# -c requirements/pins.pip
1616
# -r requirements/pip.in
17-
18-
# The following packages are considered to be unsafe in a requirements file:
19-
pip==25.1.1
20-
# via -r requirements/pip.in
21-
setuptools==80.3.0
22-
# via -r requirements/pip.in

requirements/pytest.pip

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
attrs==25.3.0
84
# via hypothesis
95
colorama==0.4.6

requirements/tox.pip

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
#
2-
# This file is autogenerated by pip-compile with Python 3.9
3-
# by the following command:
4-
#
1+
# This file was autogenerated by uv via the following command:
52
# make upgrade
6-
#
73
cachetools==5.5.2
84
# via tox
95
chardet==5.2.0
@@ -44,5 +40,5 @@ typing-extensions==4.13.2
4440
# via tox
4541
virtualenv==20.28.1
4642
# via
47-
# -c /Users/ned/coverage/trunk/requirements/pins.pip
43+
# -c requirements/pins.pip
4844
# tox

0 commit comments

Comments
 (0)