xref: /aosp_15_r20/external/pytorch/.ci/docker/requirements-ci.txt (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# Python dependencies required for unit tests
2
3#awscli==1.6 #this breaks some platforms
4#Description: AWS command line interface
5#Pinned versions: 1.6
6#test that import:
7
8boto3==1.19.12
9#Description: AWS SDK for python
10#Pinned versions: 1.19.12, 1.16.34
11#test that import:
12
13click
14#Description: Command Line Interface Creation Kit
15#Pinned versions:
16#test that import:
17
18coremltools==5.0b5 ; python_version < "3.12"
19#Description: Apple framework for ML integration
20#Pinned versions: 5.0b5
21#test that import:
22
23#dataclasses #this breaks some platforms
24#Description: Provides decorators for auto adding special methods to user classes
25#Pinned versions:
26#test that import:
27
28dill==0.3.7
29#Description: dill extends pickle with serializing and de-serializing for most built-ins
30#Pinned versions: 0.3.7
31#test that import: dynamo/test_replay_record.py test_dataloader.py test_datapipe.py test_serialization.py
32
33expecttest==0.2.1
34#Description: method for writing tests where test framework auto populates
35# the expected output based on previous runs
36#Pinned versions: 0.2.1
37#test that import:
38
39fbscribelogger==0.1.6
40#Description: write to scribe from authenticated jobs on CI
41#Pinned versions: 0.1.6
42#test that import:
43
44flatbuffers==2.0
45#Description: cross platform serialization library
46#Pinned versions: 2.0
47#test that import:
48
49hypothesis==5.35.1
50# Pin hypothesis to avoid flakiness: https://github.com/pytorch/pytorch/issues/31136
51#Description: advanced library for generating parametrized tests
52#Pinned versions: 3.44.6, 4.53.2
53#test that import: test_xnnpack_integration.py, test_pruning_op.py, test_nn.py
54
55junitparser==2.1.1
56#Description: unitparser handles JUnit/xUnit Result XML files
57#Pinned versions: 2.1.1
58#test that import:
59
60lark==0.12.0
61#Description: parser
62#Pinned versions: 0.12.0
63#test that import:
64
65librosa>=0.6.2 ; python_version < "3.11"
66#Description: A python package for music and audio analysis
67#Pinned versions: >=0.6.2
68#test that import: test_spectral_ops.py
69
70#mkl #this breaks linux-bionic-rocm4.5-py3.7
71#Description: Intel oneAPI Math Kernel Library
72#Pinned versions:
73#test that import: test_profiler.py, test_public_bindings.py, test_testing.py,
74#test_nn.py, test_mkldnn.py, test_jit.py, test_fx_experimental.py,
75#test_autograd.py
76
77#mkl-devel
78# see mkl
79
80#mock
81#Description: A testing library that allows you to replace parts of your
82#system under test with mock objects
83#Pinned versions:
84#test that import: test_modules.py, test_nn.py,
85#test_testing.py
86
87#MonkeyType # breaks pytorch-xla-linux-bionic-py3.7-clang8
88#Description: collects runtime types of function arguments and return
89#values, and can automatically generate stub files
90#Pinned versions:
91#test that import:
92
93mypy==1.10.0
94# Pin MyPy version because new errors are likely to appear with each release
95#Description: linter
96#Pinned versions: 1.10.0
97#test that import: test_typing.py, test_type_hints.py
98
99networkx==2.8.8
100#Description: creation, manipulation, and study of
101#the structure, dynamics, and functions of complex networks
102#Pinned versions: 2.8.8
103#test that import: functorch
104
105#ninja
106#Description: build system.  Note that it install from
107#here breaks things so it is commented out
108#Pinned versions: 1.10.0.post1
109#test that import: run_test.py, test_cpp_extensions_aot.py,test_determination.py
110
111numba==0.49.0 ; python_version < "3.9"
112numba==0.55.2 ; python_version == "3.9"
113numba==0.55.2 ; python_version == "3.10"
114#Description: Just-In-Time Compiler for Numerical Functions
115#Pinned versions: 0.54.1, 0.49.0, <=0.49.1
116#test that import: test_numba_integration.py
117#For numba issue see https://github.com/pytorch/pytorch/issues/51511
118
119#numpy
120#Description: Provides N-dimensional arrays and linear algebra
121#Pinned versions: 1.20
122#test that import: test_view_ops.py, test_unary_ufuncs.py, test_type_promotion.py,
123#test_type_info.py, test_torch.py, test_tensorexpr_pybind.py, test_tensorexpr.py,
124#test_tensorboard.py, test_tensor_creation_ops.py, test_static_runtime.py,
125#test_spectral_ops.py, test_sort_and_select.py, test_shape_ops.py,
126#test_segment_reductions.py, test_reductions.py, test_pruning_op.py,
127#test_overrides.py, test_numpy_interop.py, test_numba_integration.py
128#test_nn.py, test_namedtensor.py, test_linalg.py, test_jit_cuda_fuser.py,
129#test_jit.py, test_indexing.py, test_datapipe.py, test_dataloader.py,
130#test_binary_ufuncs.py
131
132#onnxruntime
133#Description: scoring engine for Open Neural Network Exchange (ONNX) models
134#Pinned versions: 1.9.0
135#test that import:
136
137opt-einsum==3.3
138#Description: Python library to optimize tensor contraction order, used in einsum
139#Pinned versions: 3.3
140#test that import: test_linalg.py
141
142optree==0.12.1
143#Description: A library for tree manipulation
144#Pinned versions: 0.12.1
145#test that import: test_vmap.py, test_aotdispatch.py, test_dynamic_shapes.py,
146#test_pytree.py, test_ops.py, test_control_flow.py, test_modules.py,
147#common_utils.py, test_eager_transforms.py, test_python_dispatch.py,
148#test_expanded_weights.py, test_decomp.py, test_overrides.py, test_masked.py,
149#test_ops.py, test_prims.py, test_subclass.py, test_functionalization.py,
150#test_schema_check.py, test_profiler_tree.py, test_meta.py, test_torchxla_num_output.py,
151#test_utils.py, test_proxy_tensor.py, test_memory_profiler.py, test_view_ops.py,
152#test_pointwise_ops.py, test_dtensor_ops.py, test_torchinductor.py, test_fx.py,
153#test_fake_tensor.py, test_mps.py
154
155pillow==10.3.0
156#Description:  Python Imaging Library fork
157#Pinned versions: 10.3.0
158#test that import:
159
160protobuf==3.20.2
161#Description:  Google’s data interchange format
162#Pinned versions: 3.20.1
163#test that import: test_tensorboard.py
164
165psutil
166#Description: information on running processes and system utilization
167#Pinned versions:
168#test that import: test_profiler.py, test_openmp.py, test_dataloader.py
169
170pytest==7.3.2
171#Description: testing framework
172#Pinned versions:
173#test that import: test_typing.py, test_cpp_extensions_aot.py, run_test.py
174
175pytest-xdist==3.3.1
176#Description: plugin for running pytest in parallel
177#Pinned versions:
178#test that import:
179
180pytest-flakefinder==1.1.0
181#Description: plugin for rerunning tests a fixed number of times in pytest
182#Pinned versions: 1.1.0
183#test that import:
184
185pytest-rerunfailures>=10.3
186#Description: plugin for rerunning failure tests in pytest
187#Pinned versions:
188#test that import:
189
190#pytest-benchmark
191#Description: fixture for benchmarking code
192#Pinned versions: 3.2.3
193#test that import:
194
195#pytest-sugar
196#Description: shows failures and errors instantly
197#Pinned versions:
198#test that import:
199
200xdoctest==1.1.0
201#Description: runs doctests in pytest
202#Pinned versions: 1.1.0
203#test that import:
204
205pygments==2.15.0
206#Description: support doctest highlighting
207#Pinned versions: 2.12.0
208#test that import: the doctests
209
210#PyYAML
211#Description: data serialization format
212#Pinned versions:
213#test that import:
214
215#requests
216#Description: HTTP library
217#Pinned versions:
218#test that import: test_type_promotion.py
219
220#rich
221#Description: rich text and beautiful formatting in the terminal
222#Pinned versions: 10.9.0
223#test that import:
224
225scikit-image==0.19.3 ; python_version < "3.10"
226scikit-image==0.22.0 ; python_version >= "3.10"
227#Description: image processing routines
228#Pinned versions:
229#test that import: test_nn.py
230
231#scikit-learn
232#Description: machine learning package
233#Pinned versions: 0.20.3
234#test that import:
235
236scipy==1.10.1 ; python_version <= "3.11"
237scipy==1.12.0 ; python_version == "3.12"
238# Pin SciPy because of failing distribution tests (see #60347)
239#Description: scientific python
240#Pinned versions: 1.10.1
241#test that import: test_unary_ufuncs.py, test_torch.py,test_tensor_creation_ops.py
242#test_spectral_ops.py, test_sparse_csr.py, test_reductions.py,test_nn.py
243#test_linalg.py, test_binary_ufuncs.py
244
245#tabulate
246#Description: Pretty-print tabular data
247#Pinned versions:
248#test that import:
249
250tb-nightly==2.13.0a20230426
251#Description: TensorBoard
252#Pinned versions:
253#test that import:
254
255# needed by torchgen utils
256typing-extensions
257#Description: type hints for python
258#Pinned versions:
259#test that import:
260
261#virtualenv
262#Description: virtual environment for python
263#Pinned versions:
264#test that import:
265
266unittest-xml-reporting<=3.2.0,>=2.0.0
267#Description: saves unit test results to xml
268#Pinned versions:
269#test that import:
270
271#lintrunner is supported on aarch64-linux only from 0.12.4 version
272lintrunner==0.12.5
273#Description: all about linters!
274#Pinned versions: 0.12.5
275#test that import:
276
277redis>=4.0.0
278#Description: redis database
279#test that import: anything that tests OSS caching/mocking (inductor/test_codecache.py, inductor/test_max_autotune.py)
280
281rockset==1.0.3
282#Description: queries Rockset
283#Pinned versions: 1.0.3
284#test that import:
285
286ghstack==0.8.0
287#Description: ghstack tool
288#Pinned versions: 0.8.0
289#test that import:
290
291jinja2==3.1.4
292#Description: jinja2 template engine
293#Pinned versions: 3.1.4
294#test that import:
295
296pytest-cpp==2.3.0
297#Description: This is used by pytest to invoke C++ tests
298#Pinned versions: 2.3.0
299#test that import:
300
301z3-solver==4.12.2.0
302#Description: The Z3 Theorem Prover Project
303#Pinned versions:
304#test that import:
305
306tensorboard==2.13.0
307#Description: Also included in .ci/docker/requirements-docs.txt
308#Pinned versions:
309#test that import: test_tensorboard
310
311pywavelets==1.4.1 ; python_version < "3.12"
312pywavelets==1.5.0 ; python_version >= "3.12"
313#Description: This is a requirement of scikit-image, we need to pin
314# it here because 1.5.0 conflicts with numpy 1.21.2 used in CI
315#Pinned versions: 1.4.1
316#test that import:
317
318lxml==5.0.0
319#Description: This is a requirement of unittest-xml-reporting
320
321# Python-3.9 binaries
322
323PyGithub==2.3.0
324
325sympy==1.12.1 ; python_version == "3.8"
326sympy==1.13.1 ; python_version >= "3.9"
327#Description: Required by coremltools, also pinned in .github/requirements/pip-requirements-macOS.txt
328#Pinned versions:
329#test that import:
330
331onnx==1.16.1
332#Description: Required by mypy and test_public_bindings.py when checking torch.onnx._internal
333#Pinned versions:
334#test that import:
335
336onnxscript==0.1.0.dev20240817
337#Description: Required by mypy and test_public_bindings.py when checking torch.onnx._internal
338#Pinned versions:
339#test that import:
340