# Pip constraints file.
#
# This file specifies constraints that define the minimum versions of any
# direct and indirect dependent packages for installation and development of
# the project.
# They are used when setting up test environments with the minimum versions of
# any dependent packages.


# Dependencies for installation with Pip (must be installed in a separate pip call)
#
# Info: OS-installed package versions for some Linux distros:
# * RHEL/CentOS 7.4.1708:
#   Python      2.7.5     2013-05-15
#   pip         8.1.2     2016-05-11 (epel)
#   setuptools  0.9.8     2013-07-25
#   wheel       0.24.0    2014-07-06 (epel)
# * Ubuntu 16.04.03:
#   Python      2.7.12    2016-11-19
#   pip         8.1.1     2016-03-17
#   setuptools  20.7.0    2016-04-10
#   wheel       0.29.0    2016-02-06
# * Ubuntu 17.04:
#   Python      2.7.12    2016-11-19
#   pip         9.0.1     2016-11-06
#   setuptools  33.1.1    2017-01-16
#   wheel       0.29.0    2016-02-06
# * Ubuntu 18.04:
#   Python      2.7.15
#   Python3     3.6.5
#   pip         9.0.1     (py2+py3)
#   setuptools  39.0.1    (py2+py3)
#   wheel       0.30.0    (py2+py3)
# * Ubuntu 19.04:
#   Python      2.7.16
#   Python3     3.7.3
#   pip         18.1      (py2+py3)
#   setuptools  40.8.0    (py2+py3)
#   wheel       0.32.3    (py2+py3)
# * Versions installed on Python 3.8 on Appveyor
#   Python38    3.8.0
#   pip         19.3.1
#   setuptools  41.6.0
#   wheel       0.33.6
#
# Info: Python version supported by base packages (added / removed)
# * Python 2.7 support:
#   pip         ?
#   setuptools  ? / 45.0.0
#   wheel       ?
# * Python 3.4 support:
#   pip         ? / 19.2
#   setuptools  ? / 44.0.0
#   wheel       ? / 0.34.0
# * Python 3.5 support:
#   pip         8.0
#   setuptools  18.3
#   wheel       0.30.0
# * Python 3.6 support:
#   pip         10.0.0
#   setuptools  34.0.0
#   wheel       0.30.0
# * Python 3.7 support:
#   pip         18.1
#   setuptools  40.6.0
#   wheel       0.32.0
# * Python 3.8 support:
#   pip         19.3.1
#   setuptools  41.5.0
#   wheel       0.33.5

# For the base packages, we use the versions from Ubuntu 18.04 as a general
# minimum, and then increase it to the first version that introduced support
# for a particular Python version:
pip==9.0.1; python_version <= '3.5'
pip==10.0.0; python_version == '3.6'
pip==18.1; python_version == '3.7'
pip==19.3.1; python_version >= '3.8'
setuptools==39.0.1; python_version <= '3.6'
setuptools==40.6.0; python_version == '3.7'
setuptools==41.5.0; python_version >= '3.8'
wheel==0.30.0; python_version <= '3.6'
wheel==0.32.0; python_version == '3.7'
wheel==0.33.5; python_version >= '3.8'


# Direct dependencies for installation (must be consistent with requirements.txt)

decorator==4.0.10
pytz==2016.10
requests==2.20.0
six==1.14.0
stomp.py==4.1.23


# Indirect dependencies for runtime (must be consistent with requirements.txt)

certifi==2019.9.11
chardet==3.0.3
docopt==0.6.2
idna==2.5
urllib3==1.23


# Direct dependencies for development (must be consistent with dev-requirements.txt)

# PyYAML pulled in by zhmcclient examples and by python-coveralls
PyYAML==5.3; python_version == '2.7'
PyYAML==5.1; python_version >= '3.4' and python_version < '3.8'
PyYAML==5.1.2; python_version >= '3.8'

# Unit test (imports into testcases):
packaging==17.0
funcsigs==1.0.2; python_version < '3.3'
pytest==4.3.1; python_version <= '3.6'
pytest==4.4.0; python_version >= '3.7'
testfixtures==6.9.0
colorama==0.3.9; python_version <= '3.4'
colorama==0.4.0; python_version >= '3.5'
importlib-metadata==0.12; python_version <= '3.7'
mock==2.0.0
# pytz: covered in direct deps for installation
# requests: covered in direct deps for installation
requests-mock==1.6.0
requests-toolbelt==0.7.0

# Virtualenv
virtualenv==14.0.0; python_version < '3.5'
virtualenv==16.1.0; python_version >= '3.5' and python_version < '3.8'
virtualenv==20.0.0; python_version >= '3.8'  # requires six<2,>=1.12.0

# Unit test (indirect dependencies):
pluggy==0.7.1; python_version >= '2.7' and python_version <= '3.6'
pluggy==0.13.0; python_version >= '3.7'
# decorator: covered in direct deps for installation
yamlloader==0.5.5
# FormEncode is used for xml comparisons in unit test
FormEncode==1.3.1

# Coverage reporting (no imports, invoked via coveralls script):
coverage==4.5.2
python-coveralls==2.9.2
pytest-cov==2.7.0
# PyYAML: covered in direct deps for development

# Safety CI by pyup.io
safety==1.8.4
dparse==0.4.1

# Tox
tox==2.5.0

# Sphinx (no imports, invoked via sphinx-build script):
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.1.3
sphinx-rtd-theme==0.5.0

# PyLint (no imports, invoked via pylint script) - does not support py3:
pylint==1.6.4; python_version == '2.7'
pylint==2.2.2; python_version == '3.4'
pylint==2.4.4; python_version >= '3.5'
astroid==1.4.9; python_version == '2.7'
astroid==2.1.0; python_version == '3.4'
astroid==2.3.3; python_version >= '3.5'
typed-ast==1.3.0; python_version >= '3.4' and python_version < '3.8' and implementation_name == "cpython"
typed-ast==1.4.0; python_version >= '3.8' and implementation_name == "cpython"

# Flake8 and dependents (no imports, invoked via flake8 script):
flake8==3.8.0
mccabe==0.6.0
pycodestyle==2.6.0
pyflakes==2.2.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==23.0

# 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; python_version == '2.7'
ipython==6.0; python_version == '3.4' and sys_platform != 'win32'
ipython==7.0; 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; python_version == '2.7'
jupyter_console==5.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'
pyrsistent==0.14.0; 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 pip to fail with any use of it in the constraints
# file.
# There is no version of pywin32 for py34.
pywin32==222; sys_platform == 'win32' and python_version == '2.7'
pywin32==222; sys_platform == 'win32' and python_version >= '3.5' and python_version <= '3.6'
pywin32==223; 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; sys_platform == 'win32' and python_version >= '3.8'

# Indirect dependencies for develop (not in dev-requirements.txt)

alabaster==0.7.9
appnope==0.1.0
args==0.1.0
Babel==2.3.4
backports-abc==0.5
backports.functools-lru-cache==1.5; python_version < "3.3"
backports.shutil-get-terminal-size==1.0.0
backports.ssl-match-hostname==3.5.0.1
bleach==2.1.4
clint==0.5.1
configparser==4.0.2
docutils==0.13.1
enum34==1.1.6; python_version < "3.4"
gitdb2==2.0.0
html5lib==0.999999999
imagesize==0.7.1
isort==4.2.15
Jinja2==2.8
jsonschema==2.5.1
lazy-object-proxy==1.4.2
MarkupSafe==0.23
mistune==0.8.1
pandocfilters==1.4.1
pathlib2==2.2.1
pexpect==4.2.1
pickleshare==0.7.4
pkginfo==1.4.1
ptyprocess==0.5.1
py==1.5.1
python-dateutil==2.6.0
pyzmq==16.0.4
qtconsole==4.2.1
scandir==1.9.0
simplegeneric==0.8.1
singledispatch==3.4.0.3; python_version < "3.4"
smmap2==2.0.1
snowballstemmer==1.2.1
terminado==0.6
testpath==0.3
tornado==4.4.2
tqdm==4.11.2
traitlets==4.3.1
typing==3.6.1
webencodings==0.5.1
widgetsnbextension==1.2.6
wrapt==1.11.2
