# Pip requirements file for pywbemtools runtime dependencies.
#
# The order of packages is significant, because pip processes them in the order
# of appearance.

# Make sure that the package versions in minimum-constraints.txt are also
# the minimum versions required in requirements.txt and dev-requirements.txt.

# Direct dependencies (except pip, setuptools, wheel):

pywbem>=1.4.0
# When using the GitHub master branch of pywbem, comment out the line above,
# activate the GitHub link based dependency below.
# In that case, some of the install tests need to be disabled by setting
# the 'PYWBEM_FROM_REPO' variable in in tests/install/test_install.sh.
# git+https://github.com/pywbem/pywbem.git@master#egg=pywbem

nocaselist>=1.0.3
nocasedict>=1.0.1
# six 1.16.0 removes the ImportWarning raised by Python 3.10
six>=1.14.0; python_version <= '3.9'
six>=1.16.0; python_version >= '3.10'
# Click 7.0 has issue #1231 on Windows which we circumvent in the test code
# Click 7.1 has a bug with output capturing
# Click 7.1 removed support for Python 3.4
# Click 8.0 is incompatible with pywbemcli. See issues #816 (python 2.7 not
#     supported) and #819 (click-repl incompatible)
# The Click requirements were copied into dev-requirements.txt in order not to
# have the safety package upgrade it. Keep them in sync.
Click>=7.1.1,<8.0; python_version == '2.7'
Click>=7.0,<7.1; python_version == '3.4'
Click>=7.1.1,<8.0; python_version >= '3.5'
click-spinner>=0.1.8
click-repl>=0.1.6
asciitree>=0.3.3
# tabulate 0.8.8 fixes ImportError on Python 3.10.
# tabulate 0.9.0 causes failure, issue #1205
tabulate>=0.8.2,<0.9.0; python_version <= '3.9'
tabulate>=0.8.8,<0.9.0; python_version >= '3.10'
toposort>=1.6
# psutil does not install on Python 3.4 on Windows due to missing MS C++ 10.0 on GitHub Actions.
# psutil 5.8.0 fixes an install error on Python 3.10
psutil>=5.5.0; python_version <= '3.9'
psutil>=5.8.0; python_version >= '3.10'

# prompt-toolkit>=2.0 failed on py27 (issue #192), so it was pinned to <2.0.
#   Later, the fix for issue #224 allowed to lift that pinning.
# prompt-toolkit>=3.0 does not support py<36.
# prompt-toolkit>=3.0 may cause WinError 995 on py38 on Windows (issue #690).
prompt-toolkit>=1.0.15,<3.0.0; python_version == '2.7'
prompt-toolkit>=2.0.1,<3.0.0; python_version >= '3.4' and python_version < '3.6'
prompt-toolkit>=2.0.1; python_version >= '3.6'

# PyYAML is also pulled in by dparse and python-coveralls
# PyYAML 5.3 has removed support for Python 3.4
# PyYAML 5.3 fixed narrow build error on Python 2.7
# PyYAML 5.3.1 addressed issue 38100 reported by safety
# PyYAML 5.2 addressed issue 38639 reported by safety
PyYAML>=5.3.1; python_version == '2.7'
PyYAML>=5.2,<5.3; python_version == '3.4'
PyYAML>=5.3.1; python_version > '3.4'

yamlloader>=0.5.5
packaging>=17.0

# See issue #822 about issue in mock 4.0.3.
mock>=3.0.0,<4.0.0; python_version < '3.6'
mock>=3.0.0; python_version >= '3.6'

# Mock requires funcsigs>1;python_version<"3.3" but for unknown reasons
# Pip 9.0.1 (with minimum package levels) does not install it on MacOs on Python
# 2.7.17. The same version of Pip does install it on Linux on python 2.7.15.
funcsigs>=1.0.2; python_version == '2.7'

# Address issue that pyparsing 3.0.0b2 gets installed on py27 (used by packaging)
pyparsing>=2.3.1,<3.0.0; python_version < '3.5'
pyparsing>=2.3.1; python_version >= '3.5'
