-
Notifications
You must be signed in to change notification settings - Fork 26
/
dev-requirements.txt
380 lines (330 loc) · 16.8 KB
/
dev-requirements.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
# Additional pip requirements file for pywbem develop.
#
# The order of packages is significant, because pip processes them in the order
# of appearance.
#
# Make sure that the minimum versions required in this file are consistent with
# the minimum versions specified in minimum-constraints.txt.
-r test-requirements.txt
# Direct dependencies:
# Build distribution archive
build>=0.5.1
# Cythonize
Cython>=0.29.33
# Coverage reporting (no imports, invoked via coveralls script):
coverage>=5.0
pytest-cov>=2.7.0
# coveralls 2.0 has removed support for Python 2.7
git+https://github.com/andy-maier/coveralls-python.git@andy/add-py27#egg=coveralls; python_version == '2.7'
coveralls>=3.3.0; python_version >= '3.5'
# version 8.11 requires python 3.6, See issue #2796
more-itertools>=4.0.0,!=8.11.0; python_version <= '3.5'
more-itertools>=4.0.0; python_version >= '3.6'
# Safety CI by pyup.io
# safety 1.9.0 removed support for Python 2.7 (and now also enforces that)
safety>=1.8.7,<1.9.0; python_version == '2.7'
safety>=1.9.0; python_version == '3.5'
safety>=2.2.0; python_version >= '3.6'
# dparse 0.5.0 has an infinite recursion issue on Python 2.7,
# see https://github.com/pyupio/dparse/issues/46
dparse>=0.4.1,<0.5.0; python_version == '2.7'
dparse>=0.5.1; python_version == '3.5'
# ver 0.6.2 min requirement by safety 2.2.0
dparse>=0.6.2; python_version >= '3.6'
# Tox
tox>=2.5.0
# Sphinx (no imports, invoked via sphinx-build script):
# Keep in sync with rtd-requirements.txt
# Sphinx 2.0.0 removed support for Python 2.7
# Sphinx >=4.0.0 breaks autodocsumm <0.2.4 (issue #2697)
# Sphinx <4.2.0 fails on Python 3.10 because it tries to import non-existing
# types.Union. This also drives docutils>=0.14.
# Sphinx pins docutils to <0.18 (some versions even to <0.17) but the package
# version resolver in the pip version used on py27 ignores package dependencies
# (issue #2787)
Sphinx>=1.7.6,<2.0.0; python_version == '2.7'
Sphinx>=3.5.4,<4.0.0; python_version == '3.5'
Sphinx>=3.5.4; python_version >= '3.6' and python_version <= '3.9'
Sphinx>=4.2.0; python_version >= '3.10'
docutils>=0.13.1,<0.17; python_version == '2.7'
docutils>=0.13.1; python_version >= '3.5' and python_version <= '3.9'
docutils>=0.14; python_version == '3.10'
docutils>=0.16; python_version >= '3.11'
sphinx-git>=10.1.1
# GitPython version 3.0.0 and newer does not support Python 2.7
# GitPython version 3.1.24 requires Python >=3.7
# GitPython version 3.1.27 fixes safety issue #52518
GitPython>=2.1.1,<3.0.0; python_version == '2.7'
GitPython>=2.1.1; python_version >= '3.5' and python_version <= '3.6'
GitPython>=3.1.27; python_version >= '3.7'
sphinxcontrib-fulltoc>=1.2.0
sphinxcontrib-websupport>=1.1.2
# rich 13.3.5 depends on pygments>=2.13.0,<3.0.0
Pygments>=2.1.3; python_version == '2.7'
Pygments>=2.7.4; python_version == '3.5'
Pygments>=2.13.0,<3.0.0; python_version == '3.6'
Pygments>=2.15.0,<3.0.0; python_version >= '3.7'
sphinx-rtd-theme>=0.5.0
# autodocsumm 0.2.0 removed support for Python 2.7
# autodocsumm 0.2.4 removed support for Python 3.5
# autodocsumm 0.2.4 fixes an incompatibility with Sphinx >=4.0.0 (issue #2697)
# autodocsumm 0.2.5 fixes a TypeError on Python 3.10
autodocsumm>=0.1.13,<0.2.0; python_version == '2.7'
autodocsumm>=0.1.13,<0.2.4; python_version == '3.5'
autodocsumm>=0.2.5; python_version >= '3.6'
# Babel 2.7.0 fixes an ImportError for MutableMapping which starts failing on Python 3.10
Babel==2.7.0; python_version == '2.7'
# Safety issue #42203
Babel>=2.10.0; python_version >= '3.6'
# PyLint (no imports, invoked via pylint script)
# Pylint requires astroid
# Pylint 1.x / astroid 1.x supports py27 and py34/35/36
# Pylint 2.0 / astroid 2.0 removed py27, added py37
# Pylint 2.7 / astroid 2.5 removed support for py35
# Pylint 2.7-2.9 had issue https://github.com/PyCQA/pylint/issues/4118 (issues #2672, #2673)
# Pylint 2.14 / astroid 2.11 support wrapt 1.14 which is required for Python 3.11
# Pylint 2.15 / astroid 2.12 is needed to circumvent issue https://github.com/PyCQA/pylint/issues/7972 on Python 3.11
pylint>=2.5.2; python_version == '3.5'
pylint>=2.10.0; python_version >= '3.6' and python_version <= '3.10'
pylint>=2.15.0; python_version >= '3.11'
astroid>=2.4.0; python_version == '3.5'
astroid>=2.7.2; python_version >= '3.6' and python_version <= '3.10'
astroid>=2.12.4; python_version >= '3.11'
# astroid 2.13.0 uses typing-extensions on Python<3.11 but misses to require it on 3.10. See https://github.com/PyCQA/astroid/issues/1942
# rich 13.3.5 requires typing-extensions>=4.0.0,<5.0
# typing-extensions 4.0.0 removed support for Python < 3.6
typing-extensions>=3.10.0; python_version == '2.7'
typing-extensions>=3.10.0; python_version == '3.5'
typing-extensions>=4.0.0; python_version >= '3.6' and python_version <= '3.10'
typed-ast>=1.4.0,<1.5.0; python_version >= '3.6' and python_version < '3.8' and implementation_name=='cpython'
# lazy-object-proxy is used by astroid
lazy-object-proxy>=1.4.3; python_version >= '3.5'
# wrapt 1.13.0 started depending on MS Visual C++ 9.0 on Python 2.7 on Windows,
# which is not available by default on GitHub Actions
# wrapt 1.14.0 started supporting Python 3.11 by accomodating the removed inspect.formatargspec
wrapt>=1.12; python_version >= '3.5' and python_version <= '3.10'
wrapt>=1.14; python_version >= '3.11'
# isort 5.0.0 removed support for py27,py35
# isort 4.2.8 fixes a pylint issue with false positive on import order of ssl on Windows
# isort 4.3.8 fixes an issue with py310 and works on py310 (Note that isort 5.10.0 has official support for py310)
isort>=4.3.8
# Pylint 2.14 uses tomlkit>=0.10.1 and requires py>=3.7
tomlkit>=0.10.1; python_version >= '3.7'
# dill is used by pylint >=2.13
dill>=0.2; python_version >= '3.6' and python_version <= '3.10'
dill>=0.3.6; python_version >= '3.11'
# platformdirs is used by pylint starting with its 2.10
platformdirs>=2.2.0; python_version >= '3.6'
# Flake8 and dependents (no imports, invoked via flake8 script):
# flake8 4.0.0 fixes an AttributeError on Python 3.10.
# flake8 4.0.0 pins importlib-metadata to <4.3 on Python <3.8. This causes
# version conflicts with Sphinx>=4.4.0 and virtualenv>=20.0.35
flake8>=3.8.0,<4.0.0; python_version == '2.7'
flake8>=3.8.0,<4.0.0; python_version >= '3.5' and python_version <= '3.7'
flake8>=3.8.0; python_version >= '3.8' and python_version <= '3.9'
flake8>=4.0.0; python_version >= '3.10'
mccabe>=0.6.0; python_version == '2.7'
mccabe>=0.6.0; python_version >= '3.5'
pycodestyle>=2.6.0,<2.8.0; python_version == '2.7'
pycodestyle>=2.6.0; python_version >= '3.5' and python_version <= '3.9'
pycodestyle>=2.8.0; python_version >= '3.10'
pyflakes>=2.2.0,<2.4.0; python_version == '2.7'
pyflakes>=2.2.0; python_version >= '3.5' and python_version <= '3.9'
pyflakes>=2.4.0; python_version >= '3.10'
entrypoints>=0.3.0
functools32>=3.2.3.post2; python_version == '2.7' # technically: python_version < '3.2'
# Twine (no imports, invoked via twine script):
# twine 2.0.0 removed support for Python < 3.6
twine>=1.8.1,<2.0.0; python_version <= '3.5'
twine>=3.0.0; python_version >= '3.6'
# readme-renderer 23.0 has made cmarkgfm part of extras (it fails on Cygwin)
readme-renderer>=23.0
# Jupyter Notebook (no imports, invoked via jupyter script):
jupyter>=1.0.0
# ipython 7.23.1 drives ipykernel 6.1 dependency
# ipython 7.23 drives change to pexpect
ipython>=5.1.0,<6.0; python_version == '2.7'
ipython>=7.0,<7.10; python_version == '3.5'
ipython>=7.16.3; python_version == '3.6'
ipython>=7.23.1; python_version >= '3.7'
# ipython 7.16.3 depends on traitlets>=4.2
# ipykernel 4.5.2 depends on tornado>=4.0; notebook 6.4.10 depends on tornado>=6.1
# ipykernel 6.1.0 depends on ipython>=7.23.1,<8.0 and on jupyter-client<7.0
# ipykernel 6.0.0 removed support for Python 3.5 and 3.6
# Using ipkernel 6.2.0 gets us ipython 8.0 compatibility
ipykernel>=4.5.2; python_version == '2.7'
ipykernel>=4.5.2; python_version == '3.6'
ipykernel>=6.2.0; python_version >= '3.7'
ipython_genutils>=0.1.0
# Safety issue 50463 affected ipywidgets < 8.0.0
# ipywidget 7.8.0 claims support for py27 but does not install,
# see https://github.com/jupyter-widgets/ipywidgets/issues/3825
ipywidgets>=5.2.2,<7.8.0; python_version == '2.7'
ipywidgets>=5.2.2,<7.8.0; python_version == '3.5'
ipywidgets>=5.2.2; python_version == '3.6'
ipywidgets>=8.0.0; python_version >= '3.7'
jupyter_console>=5.0.0,<6.0.0; python_version == '2.7'
jupyter_console>=6.0.0; python_version >= '3.5'
# ipykernel 6.1.0 depends on jupyter-client<7.0, uses ipykernel 6.2.0
# notebook 6.4.10 depends on jupyter-client>=5.3.4
# nbclient 0.5.9 depends on jupyter-client>=6.1.5
# nbclient 0.5.13 depends on jupyter-client>=6.1.5
# jupyter_client 7.0 removed support for Python 3.5
# jupyter-server 1.17.0 depends on jupyter-client>=6.1.12
jupyter_client>=4.4.0; python_version == '2.7'
jupyter_client>=4.4.0; python_version == '3.5'
jupyter-client>=6.1.12; python_version == '3.6'
jupyter-client>=7.4.4; python_version >= '3.7'
# Safety issue 54717 affected jupyter-core<4.11.2
# jupyter-core 4.10 removed support for Pythton < 3.7
# jupyter-client 6.1.5 depends on jupyter-core>=4.6.0
# notebook 6.4.10 depends on jupyter-core>=4.6.1
jupyter-core>=4.2.1; python_version == '2.7'
jupyter_core>=4.2.1; python_version == '3.5'
jupyter-core>=4.6.1; python_version == '3.6'
jupyter-core>=4.12.0; python_version >= '3.7'
jupyterlab-pygments>=0.1.2
# ipywidgits 8 depends on jupyerlab-widgets>=3.0.0
# jupyterlab-widgets 1.0.0 removed support for Python < 3.6
# jupyterlab-widgets 3.0.0 removed support for Python 3.6
jupyterlab-widgets>=0.6.5; python_version == '2.7'
jupyterlab-widgets>=0.6.5; python_version == '3.5'
jupyterlab-widgets>=1.0.2; python_version == '3.6'
jupyterlab-widgets>=3.0.0; python_version >= '3.7'
# nbclassic 0.4.7 depends on jupyter-server>=1.8
# jupyter-server 1.17.1 solves several safety issues
jupyter-server>=1.24.0; python_version == '3.7'
jupyter-server>=2.4.0; python_version >= '3.8'
# jupyter-client 6.1.5 depends on jupyter-core>=4.6.0
# jupyter-server 1.24.0 depends on jupyter-core!=5.0.* and >=4.12
# notebook 6.5.1 started using nbclassic
# notebook 6.5.1 depends on nbclassic==0.4.5
# notebook 6.5.4 depends on nbclassic>=0.4.7
nbclassic>=0.4.7; python_version >= '3.7'
# nbclient 0.5.10 removed support for Python 3.6
# nbconvert 5.0.0 depends on nbclient<0.6.0,>=0.5.0
nbclient>=0.5.9; python_version == '3.6'
nbclient>=0.5.13; python_version >= '3.7'
# Safety issue 50792 affected nbconvert <6.5.1.
# nbconvert>=6.5.1 also drives jinja2 min to 3.0.0 & traitlets to 5.0
# nbconvert 6.1.0 removed support for Python 3.6
nbconvert>=5.0.0,<=5.6.1; python_version == '2.7'
nbconvert>=5.0.0,<=5.6.1; python_version == '3.5'
nbconvert>=5.0.0; python_version == '3.6'
nbconvert>=6.5.1; python_version >= '3.7'
# nbconvert 6.5.1 (used with py >= 3.6) depends on nbformat>=5.1
# jupyter-server 1.17.0 depends on nbformat>=5.2.0
# nbformat 5.1.0 to 5.1.2 are yanked
# nbformat 5.2.0 removed support for Python 3.5 and 3.6
nbformat>=4.2.0; python_version == '2.7'
nbformat>=4.2.0; python_version == '3.5'
nbformat>=5.1.3; python_version == '3.6'
nbformat>=5.3.0; python_version >= '3.7'
# Notebook 6.1.0 introduced usage of f-strings (which requires py>=3.6) but still required py>=3.5.
# Safety issue 54713 and others affected <6.4.10
notebook>=4.3.1,<6.1.0; python_version == '2.7'
notebook>=4.3.1,<6.1.0; python_version == '3.5'
notebook>=6.4.10; python_version == '3.6'
notebook>=6.5.4; python_version >= '3.7'
notebook-shim>=0.2.0; python_version >= '3.7'
jupyterlab-server>=2.22.1,<3; python_version >= '3.8'
jupyterlab>=4.0.2,<5; python_version >= '3.8'
jupyterlab-server>=2.22.1,<3; python_version >= '3.8'
jupyterlab>=4.0.2,<5; python_version >= '3.8'
pyrsistent>=0.14.0,<0.16.0; python_version == '2.7'
pyrsistent>=0.14.0; python_version >= '3.5' and python_version <= '3.6'
pyrsistent>=0.19.1; python_version >= '3.7'
# Pywin32 is used (at least?) by jupyter.
# Pywin32 version 222 is inconsistent in its 32-bit/64-bit support on py37
# Pywin32 version 226 needs to be excluded, see issues #1946 and #1975.
# Issue #2675: Pywin32 version 225+ provides wheel files for py38, but does not
# advertise py38 on Pypi. That causes pywin32==225 to fail but pywin32>=225
# to work.
# Reported to pywin32 as https://github.com/mhammond/pywin32/issues/1448.
# Addressed by increasing the minimum version of pywin32 to >=227 on Python >=3.8.
# pywin32 version 302 added support for Python 3.10
# pywin32 version 303 added support for Python 3.11
pywin32>=222,!=226; sys_platform == 'win32' and python_version == '2.7'
pywin32>=222,!=226; sys_platform == 'win32' and python_version >= '3.5' and python_version <= '3.6'
pywin32>=223,!=226; sys_platform == 'win32' and python_version == '3.7'
pywin32>=227; sys_platform == 'win32' and python_version >= '3.8' and python_version <= '3.9'
pywin32>=303; sys_platform == 'win32' and python_version >= '3.10'
# The tornado package is used by ipykernel which is used by jupyter.
# Workaround: Tornado 5.0.0 and 5.0.1 rejects installation if the Python ssl module
# does not have certain symbols required by Tornado. This issue exists for
# example with Python 2.7.6 on Ubuntu 14.04, but not with Python 2.7.5 on
# RHEL 7.4. This can be checked with:
# python -c "import ssl; ssl.SSLContext; ssl.create_default_context; ssl.match_hostname"
# Other projects have the same issue:
# https://github.com/floydhub/dl-docker/issues/84
# There is no Tornado issue open for this and we do not expect it to be fixed
# since it only appears on Python 2.
# This issue has been circumvented by pinning the Tornado version to <5.0 on
# Python 2.
tornado>=4.4.2,<5.0; python_version == '2.7'
tornado>=4.4.2,<5.0; python_version == '3.5'
tornado>=6.1; python_version == '3.6'
tornado>=6.2; python_version == '3.7'
tornado>=6.3.2; python_version >= '3.8'
# Table output formatter used by the manual performance tests to display
# timing results
tabulate >= 0.8.3
# Performance profiling tools
pyinstrument >=3.0.1
pyinstrument-cext>=0.2.2 # from pyinstrument
# psutil on PyPy needs to be <=5.6.3 to avoid an installation error,
# see https://github.com/giampaolo/psutil/issues/1659.
# psutil on macos 11.6 needs to be >=5.8.0 to have support for the compiler.
# psutil on windows needs to be >=5.9.0 to have support for the MSVC++ 14.0 compiler.
psutil>=5.9.0; sys_platform != 'cygwin' and platform_python_implementation != 'PyPy'
psutil>=5.6.0,<=5.6.3; sys_platform != 'cygwin' and platform_python_implementation == 'PyPy'
# Package dependency management tools
pipdeptree>=2.2.0
# pip-check-reqs 2.1.1 removed support for Python 2.7 but does not declare that.
# pip-check-reqs 2.0.4 (last version with Python 2.7 support) still uses
# pip._internal.download which was removed in pip 20.0. That pip version does
# not yet have proper dependency handling, so we do not install pip-check-reqs
# on Python 2.7.
# pip-check-reqs 2.3.2 is needed to have proper support for pip>=21.3 and below.
# pip-check-reqs 2.4.3 fixes a speed issue on Python 3.11.
pip-check-reqs>=2.3.2; python_version >= '3.5' and python_version <= '3.10'
pip-check-reqs>=2.4.3; python_version >= '3.11'
pyzmq>=17.0.0; python_version <= '3.6'
pyzmq>=24.0.0; python_version >= '3.7'
# Indirect dependencies are not specified in this file unless constraints are needed.
# bleach is used by nbconvert and readme-renderer
# bleach 3.1.1 addressed safety issue 38546
# bleach 3.1.1 addressed safety issue 37910
# bleach 3.1.2 addressed safety issue 38076
# bleach 3.1.4 addressed safety issue 38107
# bleach 3.3.0 addressed dependabot issue GHSA-vv2x-vrpj-qqpq
bleach>=3.3.0; python_version == '2.7'
bleach>=3.3.0; python_version >= '3.5'
# pywinpty is used by terminado <- notebook <- jupyter
# pywinpty does not declare supported Pyrthon versions and 1.0 has removed support for py27.
pywinpty>=0.5; os_name == "nt" and python_version <= '3.6'
pywinpty>=2.0.3; os_name == "nt" and python_version >= '3.7'
# This version caused by notebook 6.4.10 depends on terminado>=0.8.3
# terminado 0.10.0 requires pywinpty>=1.1.0, see issue there
terminado>=0.6; python_version == '2.7'
terminado>=0.8.3,<0.10.0; python_version >= '3.6'
# Dependencies to reduce backtracking time
anyio>=3.1.0; python_version >= '3.7'
cryptography>=3.3; python_version == '2.7'
cryptography>=3.2.1; python_version == '3.5'
cryptography>=3.4.7; python_version == '3.6'
cryptography>=41.0.2; python_version >= '3.7'
distlib>=0.3.4
filelock>=3.0.0
# gitdb2 4.0.2 requires gitdb>=4.0.1 for installation, see https://github.com/gitpython-developers/gitdb/issues/86
gitdb2>=2.0.6,<4.0; python_version == '2.7'
gitdb2>=2.0.6,<4.0; python_version >= '3.5' and python_version <= '3.6'
gitdb>=4.0.8; python_version >= '3.7'
idna>=2.8
# jupyter-server 1.17.0 depends on traitlets>=5.1
traitlets>=4.3.1; python_version == '2.7'
traitlets>=4.3.1; python_version == '3.5'
traitlets>=4.3.1; python_version == '3.6'
traitlets>=5.6.0; python_version >= '3.7'
# TODOs:
# importlib-resources 5.12.0 depends on zipp>=3.1.0; python_version < "3.10"