/
dev-requirements.txt
139 lines (117 loc) · 5.98 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
# 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):
unittest2>=1.1.0
# 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>=3.0.7,<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; python_version >= '3.5'
# 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.1; 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; python_version == '2.6'
requests>=2.20.1; python_version > '2.6'
decorator>=4.0.11
yamlordereddictloader>=0.4.0
funcsigs>=1.0.2
# Indirect dependencies that are needed due to version pinning
PyYAML==3.11; python_version == '2.6' # yaml package, used by yamlordereddictloader
PyYAML>=3.13; python_version >= '2.7' # yaml package, used by yamlordereddictloader
# Coverage reporting (no imports, invoked via coveralls script).
# Make sure the Python version matches the one used in .travis.yml.
coverage>=4.5.3; python_version == '3.8'
python-coveralls>=2.9.2; python_version == '3.8'
# Safety CI by pyup.io
safety>=1.8.4
# Unit test (no imports, invoked via py.test script):
pytest-cov>=2.4.0,<2.6.0; python_version == '2.6'
pytest-cov>=2.4.0; python_version >= '2.7'
# Tox
tox>=2.0.0
# Sphinx (no imports, invoked via sphinx-build script, issues on py26):
Sphinx>=1.7.6,<2.0.0; python_version >= '2.7' and python_version < '3.5' # BSD
Sphinx>=1.7.6,<2.0.0; python_version >= '3.5' # BSD
# TODO: On py3.5+, Sphinx currently fails, see issue
# https://github.com/sphinx-doc/sphinx/issues/6246. Therefore, Sphinx has
# been pinned to below 2.0.0 also for py3.5+.
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'
# 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>=2.6.2,<3.0.0; python_version == '2.6'
flake8>=3.7.0; python_version > '2.6'
# Twine (no imports, invoked via twine script):
twine>=1.8.1; python_version >= '2.7'
# 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')
# 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.
pywin32>=222,!=226; sys_platform == 'win32' 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.