Skip to content

Commit 0ac6357

Browse files
authored
Re-pip-compile all requirements files (#1204)
This PR updates some dependencies as well as the scripts used to produce the various environment files, and updates the environment files themselves. * `dev_tools/requirements/deps/runtime.txt` needs to set some constraints on versions of some dependencies because higher versions of those dependencies require Python 3.11, which is incompatible with our goal of maintaining Python 3.10 compatibility (for now) * `dev_tools/requirements/re-pip-compile-in-docker.sh` needed an addition to prevent it including a certain Python package that is incompatible with Python 3.11+ * `dev_tools/requirements/Dockerfile` didn't do a `pip update -U pip`, but should; while at it, I added some options to pip to silence irrelevant warnings so that the logs are less noisy Note to reviewers: all of the `.txt` requirements files under `dev_tools/requirements/envs/` and `dev_tools/requirements/max_compat/` are solely the output of running `dev_tools/requirements/re-pip-compile-in-docker.sh`.
1 parent 6328528 commit 0ac6357

File tree

11 files changed

+396
-309
lines changed

11 files changed

+396
-309
lines changed

dev_tools/requirements/Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ WORKDIR /pip-compile
1919

2020
# Step 0: install pip-tools
2121
COPY envs/pip-tools.env.txt ./
22-
RUN pip install -r pip-tools.env.txt
22+
23+
# hadolint global ignore=DL3013
24+
RUN pip install -U pip --no-cache-dir --root-user-action ignore && \
25+
pip install -r pip-tools.env.txt --no-cache-dir --root-user-action ignore
2326

2427
# Step 1: compile a complete & consistent environment with all dependencies
2528
COPY deps/ ./deps/
2629
COPY run-pip-compiles.py ./
2730

2831
ARG PLATFORM="default"
29-
RUN python run-pip-compiles.py --platform $PLATFORM
32+
RUN python run-pip-compiles.py --platform $PLATFORM

dev_tools/requirements/deps/runtime.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cirq-core>=1.4.1
1+
cirq-core>=1.4.1,<1.6.0
22
deprecation
33
h5py>=3.10.0
44
networkx
@@ -9,3 +9,13 @@ requests~=2.32.2
99
scipy~=1.15
1010

1111
sympy
12+
13+
# Transitive dependency. Versions 1.3.3+ require Python 311. Constraining it
14+
# lets us produce a single set of requirements files for Python 3.10 - 3.12.
15+
contourpy<1.3.3
16+
17+
# Another transitive dependency. We don't care about the version of this
18+
# backport because it's only needed for a pytest extension. However, because we
19+
# run pip-compile in Python 3.10 for maximum compatibility, we need to add an
20+
# explicit constraint to keep this package out of the requirements files.
21+
backports-asyncio-runner ; python_full_version < '3.11'

dev_tools/requirements/envs/dev.env.txt

Lines changed: 71 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,86 +4,94 @@
44
#
55
# pip-compile --output-file=envs/dev.env.txt deps/format.txt deps/mypy.txt deps/pip-tools.txt deps/pylint.txt deps/pytest.txt deps/resource_estimates_runtime.txt deps/runtime.txt
66
#
7-
ase==3.25.0
7+
ase==3.27.0
88
# via -r deps/resource_estimates_runtime.txt
9-
astroid==3.3.10
9+
astroid==3.3.11
1010
# via pylint
11-
attrs==25.3.0
11+
attrs==25.4.0
1212
# via
1313
# cirq-core
1414
# jsonschema
1515
# referencing
16+
backports-asyncio-runner==1.2.0 ; python_full_version < "3.11"
17+
# via
18+
# -r deps/runtime.txt
19+
# pytest-asyncio
1620
black==26.3.1
1721
# via -r deps/format.txt
18-
build==1.2.2.post1
22+
build==1.4.0
1923
# via pip-tools
20-
certifi==2025.4.26
24+
certifi==2026.2.25
2125
# via requests
22-
charset-normalizer==3.4.2
26+
charset-normalizer==3.4.5
2327
# via requests
2428
cirq-core==1.5.0
2529
# via -r deps/runtime.txt
26-
click==8.2.1
30+
click==8.3.1
2731
# via
2832
# black
2933
# pip-tools
3034
contourpy==1.3.2
31-
# via matplotlib
32-
coverage[toml]==7.8.2
35+
# via
36+
# -r deps/runtime.txt
37+
# matplotlib
38+
coverage[toml]==7.13.4
3339
# via pytest-cov
3440
cycler==0.12.1
3541
# via matplotlib
3642
deprecation==2.1.0
3743
# via -r deps/runtime.txt
38-
dill==0.4.0
44+
dill==0.4.1
3945
# via pylint
4046
duet==0.2.9
4147
# via cirq-core
42-
exceptiongroup==1.3.0
48+
exceptiongroup==1.3.1
4349
# via pytest
44-
execnet==2.1.1
50+
execnet==2.1.2
4551
# via pytest-xdist
46-
fastjsonschema==2.21.1
52+
fastjsonschema==2.21.2
4753
# via nbformat
48-
fonttools==4.58.1
54+
fonttools==4.62.0
4955
# via matplotlib
50-
h5py==3.13.0
56+
h5py==3.16.0
5157
# via
5258
# -r deps/runtime.txt
5359
# pyscf
54-
idna==3.10
60+
idna==3.11
5561
# via requests
56-
iniconfig==2.1.0
62+
iniconfig==2.3.0
5763
# via pytest
58-
isort==6.0.1
64+
isort==6.1.0
5965
# via pylint
6066
jax==0.4.38
6167
# via -r deps/resource_estimates_runtime.txt
6268
jaxlib==0.4.38
6369
# via
6470
# -r deps/resource_estimates_runtime.txt
6571
# jax
66-
jsonschema==4.24.0
72+
jsonschema==4.26.0
6773
# via nbformat
68-
jsonschema-specifications==2025.4.1
74+
jsonschema-specifications==2025.9.1
6975
# via jsonschema
70-
jupyter-core==5.8.1
76+
jupyter-core==5.9.1
7177
# via nbformat
72-
kiwisolver==1.4.8
78+
kiwisolver==1.5.0
7379
# via matplotlib
74-
matplotlib==3.10.3
80+
librt==0.8.1
81+
# via mypy
82+
matplotlib==3.10.8
7583
# via
7684
# ase
7785
# cirq-core
7886
mccabe==0.7.0
7987
# via pylint
80-
ml-dtypes==0.5.1
88+
ml-dtypes==0.5.4
8189
# via
8290
# jax
8391
# jaxlib
8492
mpmath==1.3.0
8593
# via sympy
86-
mypy==1.16.0
94+
mypy==1.19.1
8795
# via -r deps/mypy.txt
8896
mypy-extensions==1.1.0
8997
# via
@@ -113,71 +121,76 @@ numpy==2.2.6
113121
# types-networkx
114122
opt-einsum==3.4.0
115123
# via jax
116-
packaging==25.0
124+
packaging==26.0
117125
# via
118126
# black
119127
# build
120128
# deprecation
121129
# matplotlib
122130
# pytest
123-
pandas==2.2.3
131+
# wheel
132+
pandas==2.3.3
124133
# via cirq-core
125-
pandas-stubs==2.2.3.250527
134+
pandas-stubs==2.3.3.260113
126135
# via -r deps/mypy.txt
127-
pathspec==0.12.1
136+
pathspec==1.0.4
128137
# via
129138
# black
130139
# mypy
131-
pillow==11.2.1
140+
pillow==12.1.1
132141
# via matplotlib
133-
pip-tools==7.4.1
142+
pip-tools==7.5.3
134143
# via -r deps/pip-tools.txt
135-
platformdirs==4.3.8
144+
platformdirs==4.9.4
136145
# via
137146
# black
138147
# jupyter-core
139148
# pylint
140149
pluggy==1.6.0
141-
# via pytest
142-
pubchempy==1.0.4
150+
# via
151+
# pytest
152+
# pytest-cov
153+
pubchempy==1.0.5
143154
# via -r deps/runtime.txt
144-
pygments==2.19.1
155+
pygments==2.19.2
145156
# via pytest
146-
pylint==3.3.7
157+
pylint==3.3.9
147158
# via -r deps/pylint.txt
148-
pyparsing==3.2.3
159+
pyparsing==3.3.2
149160
# via matplotlib
150161
pyproject-hooks==1.2.0
151162
# via
152163
# build
153164
# pip-tools
154-
pyscf==2.9.0
165+
pyscf==2.12.1
155166
# via -r deps/resource_estimates_runtime.txt
156-
pytest==8.4.0
167+
pytest==9.0.2
157168
# via
158169
# -r deps/pytest.txt
159170
# pytest-asyncio
160171
# pytest-cov
161172
# pytest-xdist
162-
pytest-asyncio==1.0.0
173+
pytest-asyncio==1.3.0
163174
# via -r deps/pytest.txt
164-
pytest-cov==6.1.1
175+
pytest-cov==7.0.0
165176
# via -r deps/pytest.txt
166-
pytest-xdist==3.7.0
177+
pytest-xdist==3.8.0
167178
# via -r deps/pytest.txt
168179
python-dateutil==2.9.0.post0
169180
# via
170181
# matplotlib
171182
# pandas
172-
pytz==2025.2
183+
pytokens==0.4.1
184+
# via black
185+
pytz==2026.1.post1
173186
# via pandas
174-
referencing==0.36.2
187+
referencing==0.37.0
175188
# via
176189
# jsonschema
177190
# jsonschema-specifications
178-
requests==2.32.3
191+
requests==2.32.5
179192
# via -r deps/runtime.txt
180-
rpds-py==0.25.1
193+
rpds-py==0.30.0
181194
# via
182195
# jsonschema
183196
# referencing
@@ -197,7 +210,7 @@ sympy==1.14.0
197210
# via
198211
# -r deps/runtime.txt
199212
# cirq-core
200-
tomli==2.2.1
213+
tomli==2.4.0
201214
# via
202215
# black
203216
# build
@@ -206,37 +219,38 @@ tomli==2.2.1
206219
# pip-tools
207220
# pylint
208221
# pytest
209-
tomlkit==0.13.2
222+
tomlkit==0.14.0
210223
# via pylint
211-
tqdm==4.67.1
224+
tqdm==4.67.3
212225
# via cirq-core
213226
traitlets==5.14.3
214227
# via
215228
# jupyter-core
216229
# nbformat
217-
types-networkx==3.5.0.20250531
230+
types-networkx==3.6.1.20260303
218231
# via -r deps/mypy.txt
219-
types-pytz==2025.2.0.20250516
232+
types-pytz==2026.1.1.20260304
220233
# via pandas-stubs
221-
types-requests==2.32.0.20250602
234+
types-requests==2.32.4.20260107
222235
# via -r deps/mypy.txt
223-
types-setuptools==80.9.0.20250529
236+
types-setuptools==82.0.0.20260210
224237
# via -r deps/mypy.txt
225-
typing-extensions==4.14.0
238+
typing-extensions==4.15.0
226239
# via
227240
# astroid
228241
# black
229242
# cirq-core
230243
# exceptiongroup
231244
# mypy
245+
# pytest-asyncio
232246
# referencing
233-
tzdata==2025.2
247+
tzdata==2025.3
234248
# via pandas
235-
urllib3==2.4.0
249+
urllib3==2.6.3
236250
# via
237251
# requests
238252
# types-requests
239-
wheel==0.45.1
253+
wheel==0.46.3
240254
# via pip-tools
241255

242256
# The following packages are considered to be unsafe in a requirements file:

0 commit comments

Comments
 (0)