/
dev-requirements.txt
134 lines (117 loc) · 5.64 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
# 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:
# Coverage reporting (no imports, invoked via coveralls script):
# coverage 5.0 has removed support for py34
coverage>=4.5.2,<5.0
# python-coveralls 2.9.2 no longer has requirement coverage==4.0.3.
python-coveralls>=2.9.2
pytest-cov>=2.7.0
# Safety CI by pyup.io
safety>=1.8.4
# 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):
# Keep in sync with rtd-requirements.txt
Sphinx>=1.7.6
sphinx-git>=10.1.1
GitPython>=2.1.1
sphinxcontrib-fulltoc>=1.2.0
sphinxcontrib-websupport>=1.1.2
# 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 / astroid 1.x supports py27 and py34/35/36
# Pylint 2.0 / astroid 2.0 removed py27, added py37
# Pylint 2.4 / astroid 2.3 removed py34
# TODO: Pinned pylint to <2.5.0 due to issues in 2.5.0 - remove in a while
pylint>=1.6.4,<2.0.0; python_version == '2.7'
pylint>=2.2.2,<2.4; python_version == '3.4'
pylint>=2.4.4,<2.5.0; python_version >= '3.5'
astroid>=1.4.9,<2.0.0; python_version == '2.7'
astroid>=2.1.0,<2.3; python_version == '3.4'
astroid>=2.3.3,<2.4.0; python_version >= '3.5'
# 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.5' and python_version < '3.8'
typed-ast>=1.4.0; python_version >= '3.8'
# Flake8 and dependents (no imports, invoked via flake8 script):
flake8>=3.7.9
mccabe>=0.6.0
pycodestyle>=2.5.0
pyflakes>=2.1.0
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>=1.8.1
# 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):
# 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 != '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 != '3.4' or sys_platform != 'win32'
ipython_genutils>=0.1.0; python_version != '3.4' or sys_platform != 'win32'
ipywidgets>=5.2.2; 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 != '3.4' or sys_platform != 'win32'
jupyter_core>=4.2.1; python_version != '3.4' or sys_platform != 'win32'
nbconvert>=5.0.0; python_version != '3.4' or sys_platform != 'win32'
nbformat>=4.2.0; python_version != '3.4' or sys_platform != 'win32'
notebook>=4.3.1; 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.
# 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
# Indirect dependencies are not specified in this file unless constraints are needed.