-
Notifications
You must be signed in to change notification settings - Fork 26
/
dev-requirements.txt
197 lines (175 loc) · 9.25 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
# 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 also the
# versions defined in minimum-constraints.txt.
# Direct dependencies:
# Unit test (imports into testcases):
packaging>=16.6,<17.0; python_version == '2.6'
packaging>=16.6; python_version > '2.6'
funcsigs>=1.0.2; python_version < '3.3'
unittest2>=1.1.0; python_version == '2.6'
# pytest 5.0.0 has removed support for Python < 3.5
# pytest 4.3.1 solves an issue on Python 3 with minimum package levels
# pytest 6.0.0 causes pylint to report "not-callable" issues
pytest>=3.2.0,<3.3.0; python_version == '2.6'
pytest>=4.3.1,<5.0.0; python_version > '2.6' and python_version < '3.5'
pytest>=4.3.1,!=6.0.0; python_version >= '3.5' and python_version <= '3.6'
pytest>=4.4.0,!=6.0.0; python_version >= '3.7'
# py version is determined by pytest:
py>=1.4.34,<1.5; python_version == '2.6'
py>=1.5.1; python_version > '2.6'
# testfixtures 6.0.0 no longer supports py26 and fails on py26 with syntax error
testfixtures>=4.3.3,<6.0.0; python_version == '2.6'
testfixtures>=6.9.0; python_version > '2.6'
httpretty>=0.8.14,<0.9.1; python_version == '2.6'
httpretty>=0.9.5; python_version > '2.6'
# lxml 4.4.0 removed Python 3.4 support.
# lxml 4.4.1 added Python 3.8 support. However, while providing binary wheel
# files, it did not register Python 3.8 as a supported version in the
# package metadata on Pypi. A fix for that is expected for the next lxml
# version after 4.4.2 (See https://bugs.launchpad.net/lxml/+bug/1854465
# and https://github.com/lxml/lxml/pull/291). Before that, pip 19.3.1
# is required to properly deal with this inconsistency (see issue #1980).
lxml>=4.2.4,<4.3.0; python_version == '2.6'
lxml>=4.2.4; python_version == '2.7'
lxml>=4.2.4,<4.4.0; python_version == '3.4'
lxml>=4.2.4; python_version >= '3.5' and python_version <= '3.7'
lxml>=4.4.3; python_version >= '3.8'
# Note: requests 2.19.1 has a security issue that is fixed in 2.20.0. However,
# requests 2.20.0 has dropped support for Python 2.6.
requests>=2.19.1,<2.20.0; python_version == '2.6'
requests>=2.20.1; python_version > '2.6'
importlib-metadata<1,>=0.12; python_version >= '2.7' and python_version <= '3.7'
pytz>=2016.10
# Unit test (indirect dependencies):
# Pluggy 0.12.0 has a bug causing pytest plugins to fail loading on py38
pluggy>=0.5.0,<0.6.0; python_version == '2.6'
pluggy>=0.7.1; python_version >= '2.7' and python_version <= '3.6'
pluggy>=0.13.0; python_version >= '3.7'
decorator>=4.0.11
# PyYAML is an indirect dependency used by yamlordereddictloader that is
# needed due to version pinning. Keep in sync with requirements.txt.
# PyYAML 5.3 has removed support for Python 3.4
PyYAML>=3.11,<3.12; python_version == '2.6'
PyYAML>=5.1; python_version == '2.7'
PyYAML>=5.1,<5.3; python_version == '3.4'
PyYAML>=5.1; python_version > '3.4'
yamlordereddictloader>=0.4.0; python_version == '2.6'
yamlloader>=0.5.5; python_version > '2.6'
# Virtualenv
# TODO: Remove !=20.0.32 once https://github.com/pypa/virtualenv/issues/1962 is solved.
virtualenv>=14.0.0,!=20.0.32; python_version < '3.5'
virtualenv>=16.1.0,!=20.0.32; python_version >= '3.5' and python_version < '3.8'
virtualenv>=20.0.0,!=20.0.32; python_version >= '3.8'
# Coverage reporting (no imports, invoked via coveralls script):
# coverage 5.0 has removed support for py34
coverage>=4.5,<5.0
# python-coveralls 2.9.2 no longer has requirement coverage==4.0.3.
python-coveralls>=2.9.2
pytest-cov>=2.4.0,<2.6.0; python_version == '2.6'
pytest-cov>=2.7.0; python_version >= '2.7'
# Safety CI by pyup.io
safety>=1.8.4; python_version >= '2.7'
# 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.4.1; python_version >= '3.4'
# Tox
tox>=2.5.0
# Sphinx (no imports, invoked via sphinx-build script, issues on py26):
# Keep in sync with rtd-requirements.txt
Sphinx>=1.7.6; python_version >= '2.7'
sphinx-git>=10.1.1; python_version >= '2.7'
GitPython>=2.1.1; python_version >= '2.7'
sphinxcontrib-fulltoc>=1.2.0; python_version >= '2.7'
# Pygments 2.4.0 has removed support for Python 3.4
Pygments>=2.1.3; python_version == '2.7'
Pygments>=2.1.3,<2.4.0; python_version == '3.4'
Pygments>=2.1.3; python_version >= '3.5'
# PyLint (no imports, invoked via pylint script)
# Pylint requires astroid
# Pylint 1.x supports py2.7 and py3.4/5/6 but not py3.7+
# Pylint 2.x supports py3.4+
pylint>=1.6.4,<2.0.0; python_version == '2.7'
pylint>=2.2.2; python_version >= '3.4'
astroid>=1.4.9,<2.0.0; python_version == '2.7'
astroid>=2.1.0; python_version >= '3.4'
# Flake8 (no imports, invoked via flake8 script):
flake8>=3.7.9; python_version >= '2.7'
mccabe>=0.6.0; python_version >= '2.7'
pycodestyle>=2.5.0; python_version >= '2.7'
pyflakes>=2.1.0; python_version >= '2.7'
entrypoints>=0.3.0; python_version >= '2.7'
functools32>=3.2.3.post2; python_version == '2.7' # technically: python_version < '3.2'
# Twine (no imports, invoked via twine script):
twine>=1.8.1; python_version >= '2.7'
# readme-renderer 25.0 has removed support for Python 3.4
# readme-renderer 23.0 has made cmarkgfm part of extras (it fails on Cygwin)
readme-renderer>=23.0; python_version == '2.7'
readme-renderer>=23.0,<25.0; python_version == '3.4'
readme-renderer>=23.0; python_version >= '3.5'
# Jupyter Notebook (no imports, invoked via jupyter script, some deps do not support py26):
# The jupyter package is not installed on Python 3.4 on Windows, because its
# (indirectly) dependent pywin32 package is not available on Pypi for
# Python 3.4.
jupyter>=1.0.0; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
ipython>=5.1.0,<6.0; python_version == '2.7'
ipython>=6.0,<7.0; python_version == '3.4' and sys_platform != 'win32'
ipython>=7.0,<7.10; python_version == '3.5'
ipython>=7.10; python_version >= '3.6'
ipykernel>=4.5.2; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
ipython_genutils>=0.1.0; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
ipywidgets>=5.2.2; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
jupyter_console>=5.0.0,<6.0.0; python_version == '2.7'
jupyter_console>=5.0.0,<6.0.0; python_version == '3.4' and sys_platform != 'win32'
jupyter_console>=6.0.0; python_version >= '3.5'
jupyter_client>=4.4.0; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
jupyter_core>=4.2.1; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
nbconvert>=5.0.0; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
nbformat>=4.2.0; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
notebook>=4.3.1; python_version >= '2.7' and (python_version != '3.4' or sys_platform != 'win32')
pyrsistent>=0.14.0,<0.16.0; python_version == '2.7'
pyrsistent>=0.14.0,<0.15.0; python_version == '3.4' and sys_platform != 'win32'
pyrsistent>=0.14.0; python_version >= '3.5'
# Pywin32 is used (at least?) by jupyter.
# Pywin32 version 226 needs to be excluded, see issue #1946.
# Pywin32 version 222 is inconsistent in its 32-bit/64-bit support on py37
# 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.
# There is no version of pywin32 for py34.
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'
# TODO: Re-enable once pywin32 fixes its Python version advertising on Pypi
# (see issue #1975).
# pywin32>=225,!=226; sys_platform == 'win32' and python_version >= '3.8'
# The tornado package is used by ipykernel which is used by jupyter.
# 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
# The following is a circumvention of this issue that nails the tornado
# version to below 5.0 on Python 2.
# TODO: Follow up on resolution of this issue.
tornado<5.0; python_version <= '2.7'
# Table output formatter used by the manual performance tests to display
# timing results
tabulate >= 0.8.3
# Performance profiling tools
pyinstrument >=3.0.1
# Pinning typed-ast to <1.4.0 for Python 3.4 because it started removing
# Python 3.4 support.
# Requiring typed-ast>=1.4.0 for Python 3.8 since it addresses compile errors
# with missing pgenheaders.h and duplicate definition of a struct.
typed-ast>=1.3.0,<1.4.0; python_version == '3.4'
typed-ast>=1.3.0; python_version > '3.4' and python_version < '3.8'
typed-ast>=1.4.0; python_version >= '3.8'
# Used for xml comparisons in unit test
FormEncode>=1.3.1
# Indirect dependencies are no longer specified here, but for testing with a
# minimum version, they are listed in the minimum-constraints.txt file.