# Pip requirements file for zhmcclient runtime dependencies.
#
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.

# 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):

# decorator 5.0.0 removes support for Python 2.7 and 3.4
decorator>=4.0.11,<5.0; python_version == '2.7'  # new BSD
decorator>=4.0.11; python_version >= '3.5'  # new BSD

# pytz 2019.1 fixes an ImportError for collections.Mapping on Python 3.10
pytz>=2016.10; python_version <= '3.9'  # MIT
pytz>=2019.1; python_version >= '3.10'  # MIT

# requests 2.22.0 removes the pinning of urllib3 to <1.25.0, and urllib 1.25.9
#   is required to address safety issues
# requests 2.25.0 tolerates urllib3 1.26.5 which is needed on Python 3.10 to
#   remove ImportWarning in six
requests>=2.22.0; python_version <= '3.9'  # Apache-2.0
requests>=2.25.0; python_version >= '3.10'  # Apache-2.0

# six 1.16.0 removes the ImportWarning raised by Python 3.10
six>=1.14.0; python_version <= '3.9'  # MIT
six>=1.16.0; python_version >= '3.10'  # MIT

# stomp.py 5.0.0 (now deleted) and 6.0.0 removed support for Python 2.7, 3.4 and 3.5
# stomp.py 6.1.0 on Pypi contained older code than v6.1.0 in the repo -> will be yanked on Pypi
# stomp.py 6.1.1 broke compatibility -> will be yanked on Pypi and re-released as 7.0.0
stomp.py>=4.1.23,<5.0.0; python_version <= '3.5'  # Apache
stomp.py>=4.1.23,<7.0.0,!=6.1.0,!=6.1.1; python_version >= '3.6'  # Apache

python-dateutil>=2.8.0
immutable-views>=0.6.0
nocasedict>=1.0.2

# PyYAML pulled in by zhmcclient_mock (and zhmcclient examples, and python-coveralls)
# PyYAML 5.3 fixes narrow build error
# PyYAML 6.0 removed support for py27,35
PyYAML>=5.3

# yamlloader pulled in by zhmcclient_mock
# yamlloader 1.0 removed support for py27,35
yamlloader>=0.5.5

# jsonschema pulled in by zhmcclient_mock
# jsonschema 4.0 removed support for py27,35,36
jsonschema>=2.6.0

# Indirect dependencies (commented out, only listed to document their license):

# certifi # ISC, from requests>=2.20
# chardet # LGPL, from requests>=2.20
# docopt # MIT, from stomp.py>=4.1
# idna # BSD-like, from requests>=2.20
# urllib3 # MIT, from requests>=2.20
# pyrsistent # MIT, from jsonschema>=3.0
