Skip to content

Commit 29c0a34

Browse files
authored
Use uv for requirements (#325)
1 parent ae2dbb3 commit 29c0a34

File tree

1 file changed

+102
-134
lines changed

1 file changed

+102
-134
lines changed

requirements/compile.py

Lines changed: 102 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -4,232 +4,200 @@
44
import os
55
import subprocess
66
import sys
7+
from functools import partial
78
from pathlib import Path
89

910
if __name__ == "__main__":
1011
os.chdir(Path(__file__).parent)
11-
os.environ["CUSTOM_COMPILE_COMMAND"] = "requirements/compile.py"
12-
os.environ["PIP_REQUIRE_VIRTUALENV"] = "0"
1312
common_args = [
14-
"-m",
15-
"piptools",
13+
"uv",
14+
"pip",
1615
"compile",
16+
"--quiet",
1717
"--generate-hashes",
18-
"--allow-unsafe",
19-
] + sys.argv[1:]
20-
subprocess.run(
21-
[
22-
"python3.8",
23-
*common_args,
24-
"-P",
25-
"Django>=3.2a1,<3.3",
26-
"-o",
18+
"--constraint",
19+
"-",
20+
"requirements.in",
21+
*sys.argv[1:],
22+
]
23+
run = partial(subprocess.run, check=True)
24+
run(
25+
[
26+
*common_args,
27+
"--python",
28+
"3.8",
29+
"--output-file",
2730
"py38-django32.txt",
2831
],
29-
check=True,
30-
capture_output=True,
32+
input=b"Django>=3.2a1,<3.3",
3133
)
32-
subprocess.run(
34+
run(
3335
[
34-
"python3.8",
3536
*common_args,
36-
"-P",
37-
"Django>=4.0a1,<4.1",
38-
"-o",
37+
"--python",
38+
"3.8",
39+
"--output-file",
3940
"py38-django40.txt",
4041
],
41-
check=True,
42-
capture_output=True,
42+
input=b"Django>=4.0a1,<4.1",
4343
)
44-
subprocess.run(
44+
run(
4545
[
46-
"python3.8",
4746
*common_args,
48-
"-P",
49-
"Django>=4.1a1,<4.2",
50-
"-o",
47+
"--python",
48+
"3.8",
49+
"--output-file",
5150
"py38-django41.txt",
5251
],
53-
check=True,
54-
capture_output=True,
52+
input=b"Django>=4.1a1,<4.2",
5553
)
56-
subprocess.run(
54+
run(
5755
[
58-
"python3.8",
5956
*common_args,
60-
"-P",
61-
"Django>=4.2a1,<5.0",
62-
"-o",
57+
"--python",
58+
"3.8",
59+
"--output-file",
6360
"py38-django42.txt",
6461
],
65-
check=True,
66-
capture_output=True,
62+
input=b"Django>=4.2a1,<5.0",
6763
)
68-
subprocess.run(
64+
run(
6965
[
70-
"python3.9",
7166
*common_args,
72-
"-P",
73-
"Django>=3.2a1,<3.3",
74-
"-o",
67+
"--python",
68+
"3.9",
69+
"--output-file",
7570
"py39-django32.txt",
7671
],
77-
check=True,
78-
capture_output=True,
72+
input=b"Django>=3.2a1,<3.3",
7973
)
80-
subprocess.run(
74+
run(
8175
[
82-
"python3.9",
8376
*common_args,
84-
"-P",
85-
"Django>=4.0a1,<4.1",
86-
"-o",
77+
"--python",
78+
"3.9",
79+
"--output-file",
8780
"py39-django40.txt",
8881
],
89-
check=True,
90-
capture_output=True,
82+
input=b"Django>=4.0a1,<4.1",
9183
)
92-
subprocess.run(
84+
run(
9385
[
94-
"python3.9",
9586
*common_args,
96-
"-P",
97-
"Django>=4.1a1,<4.2",
98-
"-o",
87+
"--python",
88+
"3.9",
89+
"--output-file",
9990
"py39-django41.txt",
10091
],
101-
check=True,
102-
capture_output=True,
92+
input=b"Django>=4.1a1,<4.2",
10393
)
104-
subprocess.run(
94+
run(
10595
[
106-
"python3.9",
10796
*common_args,
108-
"-P",
109-
"Django>=4.2a1,<5.0",
110-
"-o",
97+
"--python",
98+
"3.9",
99+
"--output-file",
111100
"py39-django42.txt",
112101
],
113-
check=True,
114-
capture_output=True,
102+
input=b"Django>=4.2a1,<5.0",
115103
)
116-
subprocess.run(
104+
run(
117105
[
118-
"python3.10",
119106
*common_args,
120-
"-P",
121-
"Django>=3.2a1,<3.3",
122-
"-o",
107+
"--python",
108+
"3.10",
109+
"--output-file",
123110
"py310-django32.txt",
124111
],
125-
check=True,
126-
capture_output=True,
112+
input=b"Django>=3.2a1,<3.3",
127113
)
128-
subprocess.run(
114+
run(
129115
[
130-
"python3.10",
131116
*common_args,
132-
"-P",
133-
"Django>=4.0a1,<4.1",
134-
"-o",
117+
"--python",
118+
"3.10",
119+
"--output-file",
135120
"py310-django40.txt",
136121
],
137-
check=True,
138-
capture_output=True,
122+
input=b"Django>=4.0a1,<4.1",
139123
)
140-
subprocess.run(
124+
run(
141125
[
142-
"python3.10",
143126
*common_args,
144-
"-P",
145-
"Django>=4.1a1,<4.2",
146-
"-o",
127+
"--python",
128+
"3.10",
129+
"--output-file",
147130
"py310-django41.txt",
148131
],
149-
check=True,
150-
capture_output=True,
132+
input=b"Django>=4.1a1,<4.2",
151133
)
152-
subprocess.run(
134+
run(
153135
[
154-
"python3.10",
155136
*common_args,
156-
"-P",
157-
"Django>=4.2a1,<5.0",
158-
"-o",
137+
"--python",
138+
"3.10",
139+
"--output-file",
159140
"py310-django42.txt",
160141
],
161-
check=True,
162-
capture_output=True,
142+
input=b"Django>=4.2a1,<5.0",
163143
)
164-
subprocess.run(
144+
run(
165145
[
166-
"python3.10",
167146
*common_args,
168-
"-P",
169-
"Django>=5.0a1,<5.1",
170-
"-o",
147+
"--python",
148+
"3.10",
149+
"--output-file",
171150
"py310-django50.txt",
172151
],
173-
check=True,
174-
capture_output=True,
152+
input=b"Django>=5.0a1,<5.1",
175153
)
176-
subprocess.run(
154+
run(
177155
[
178-
"python3.11",
179156
*common_args,
180-
"-P",
181-
"Django>=4.1a1,<4.2",
182-
"-o",
157+
"--python",
158+
"3.11",
159+
"--output-file",
183160
"py311-django41.txt",
184161
],
185-
check=True,
186-
capture_output=True,
162+
input=b"Django>=4.1a1,<4.2",
187163
)
188-
subprocess.run(
164+
run(
189165
[
190-
"python3.11",
191166
*common_args,
192-
"-P",
193-
"Django>=4.2a1,<5.0",
194-
"-o",
167+
"--python",
168+
"3.11",
169+
"--output-file",
195170
"py311-django42.txt",
196171
],
197-
check=True,
198-
capture_output=True,
172+
input=b"Django>=4.2a1,<5.0",
199173
)
200-
subprocess.run(
174+
run(
201175
[
202-
"python3.11",
203176
*common_args,
204-
"-P",
205-
"Django>=5.0a1,<5.1",
206-
"-o",
177+
"--python",
178+
"3.11",
179+
"--output-file",
207180
"py311-django50.txt",
208181
],
209-
check=True,
210-
capture_output=True,
182+
input=b"Django>=5.0a1,<5.1",
211183
)
212-
subprocess.run(
184+
run(
213185
[
214-
"python3.12",
215186
*common_args,
216-
"-P",
217-
"Django>=4.2a1,<5.0",
218-
"-o",
187+
"--python",
188+
"3.12",
189+
"--output-file",
219190
"py312-django42.txt",
220191
],
221-
check=True,
222-
capture_output=True,
192+
input=b"Django>=4.2a1,<5.0",
223193
)
224-
subprocess.run(
194+
run(
225195
[
226-
"python3.12",
227196
*common_args,
228-
"-P",
229-
"Django>=5.0a1,<5.1",
230-
"-o",
197+
"--python",
198+
"3.12",
199+
"--output-file",
231200
"py312-django50.txt",
232201
],
233-
check=True,
234-
capture_output=True,
202+
input=b"Django>=5.0a1,<5.1",
235203
)

0 commit comments

Comments
 (0)