# Note: this requirements.txt file is used to specify what dependencies are
# needed to make the package run rather than for deployment of a tested set of
# packages.  Thus, this should be the loosest set possible (only required
# packages, not optional ones, and with the widest range of versions that could
# be suitable)
jinja2
PyYAML
cryptography
packaging
# NOTE: resolvelib 0.x version bumps should be considered major/breaking
# NOTE: and we should update the upper cap with care, at least until 1.0
# NOTE: Ref: https://github.com/sarugaku/resolvelib/issues/69
resolvelib >= 0.5.3, < 0.6.0  # dependency resolver used by ansible-galaxy
# do not add a cryptography or pyopenssl constraint to this file, they require special handling, see get_cryptography_requirements in python_requirements.py
# do not add a coverage constraint to this file, it is handled internally by ansible-test
packaging < 21.0 ; python_version < '3.6' # packaging 21.0 requires Python 3.6 or newer
six < 1.14.0 ; python_version < '2.7' # six 1.14.0 drops support for python 2.6
jinja2 < 2.11 ; python_version < '2.7' # jinja2 2.11 and later require python 2.7 or later
urllib3 < 1.24 ; python_version < '2.7' # urllib3 1.24 and later require python 2.7 or later
pywinrm >= 0.3.0 # message encryption support
wheel < 0.30.0 ; python_version < '2.7' # wheel 0.30.0 and later require python 2.7 or later
idna < 2.6, >= 2.5 # linode requires idna < 2.9, >= 2.5, requests requires idna < 2.6, but cryptography will cause the latest version to be installed instead
paramiko < 2.4.0 ; python_version < '2.7' # paramiko 2.4.0 drops support for python 2.6
pytest < 3.3.0, >= 3.1.0 ; python_version < '2.7' # pytest 3.3.0 drops support for python 2.6
pytest < 5.0.0, >= 4.5.0 ; python_version == '2.7' # pytest 5.0.0 and later will no longer support python 2.7
pytest >= 4.5.0 ; python_version > '2.7' # pytest 4.5.0 added support for --strict-markers
pytest-forked < 1.0.2 ; python_version < '2.7' # pytest-forked 1.0.2 and later require python 2.7 or later
pytest-forked >= 1.0.2 ; python_version >= '2.7' # pytest-forked before 1.0.2 does not work with pytest 4.2.0+ (which requires python 2.7+)
ntlm-auth >= 1.3.0 # message encryption support using cryptography
requests < 2.20.0 ; python_version < '2.7' # requests 2.20.0 drops support for python 2.6
requests-ntlm >= 1.1.0 # message encryption support
requests-credssp >= 0.1.0 # message encryption support
virtualenv < 16.0.0 ; python_version < '2.7' # virtualenv 16.0.0 and later require python 2.7 or later
pyparsing < 3.0.0 ; python_version < '3.5' # pyparsing 3 and later require python 3.5 or later
pyyaml < 5.1 ; python_version < '2.7' # pyyaml 5.1 and later require python 2.7 or later
pycparser < 2.19 ; python_version < '2.7' # pycparser 2.19 and later require python 2.7 or later
mock >= 2.0.0 # needed for features backported from Python 3.6 unittest.mock (assert_called, assert_called_once...)
pytest-mock >= 1.4.0 # needed for mock_use_standalone_module pytest option
xmltodict < 0.12.0 ; python_version < '2.7' # xmltodict 0.12.0 and later require python 2.7 or later
setuptools < 37 ; python_version == '2.6' # setuptools 37 and later require python 2.7 or later
setuptools < 45 ; python_version == '2.7' # setuptools 45 and later require python 3.5 or later
pyspnego >= 0.1.6 ; python_version >= '3.10' # bug in older releases breaks on Python 3.10
MarkupSafe < 2.0.0 ; python_version < '3.6' # MarkupSafe >= 2.0.0. requires Python >= 3.6
jinja2 == 3.0.1  # ansible-core requirement
pyyaml == 5.4.1  # ansible-core requirement
packaging == 21.0  # ansible-doc requirement

# dependencies
MarkupSafe == 2.0.1
pyparsing == 2.4.7
antsibull-changelog == 0.9.0

# dependencies
pyyaml == 5.4.1
docutils == 0.17.1
packaging == 21.0
pyparsing == 2.4.7
rstcheck == 3.3.1
semantic-version == 2.8.5
pyyaml == 5.4.1  # needed for yaml_to_json.py
pyyaml == 5.4.1
pycodestyle == 2.6.0
pylint == 2.9.3
pyyaml == 5.4.1  # needed for collection_detail.py

# dependencies
astroid == 2.6.6
isort == 5.9.3
lazy-object-proxy == 1.6.0
mccabe == 0.6.1
toml == 0.10.2
wrapt == 1.12.1
pyyaml == 5.4.1
voluptuous == 0.12.1
jinja2 == 3.0.1 # ansible-core requirement
pyyaml == 5.4.1  # needed for collection_detail.py
voluptuous == 0.12.1

# dependencies
MarkupSafe == 2.0.1
yamllint == 1.26.0

# dependencies
pathspec == 0.9.0
pyyaml == 5.4.1
mock
pytest
pytest-mock
pytest-xdist
pyyaml  # required by the collection loader (only needed for collections)
ntlm-auth
requests-ntlm
requests-credssp
pypsrp