# 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.

# 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==21.3.1; python_version == '3.6'
pip==23.3; python_version == '3.7'
pip==25.0; python_version >= '3.8'

# setuptools 59.7.0 removed support for py36
setuptools==59.6.0; python_version == '3.6'
setuptools==65.5.1; python_version == '3.7'
setuptools==70.0.0; python_version >= '3.8'

wheel==0.33.5; python_version == '3.6'
wheel==0.38.1; python_version >= '3.7'


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

# nocaselist 2.0 requires typing-extensions>=3.10 (on py>=3.6)
# safety 3.0 requires typing-extensions>=4.7.1 (used on py>=3.7)
typing-extensions==3.10.0; python_version == '3.6'
typing-extensions==4.7.1; python_version >= '3.7' and python_version <= '3.9'


# Indirect dependencies for installation (must be consistent with requirements.txt, if present)

# None


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

# Unit test direct dependencies (e.g. imports into testcases):

# pytest
pytest==7.0.0

# Install test direct dependencies:

# virtualenv
virtualenv==20.2.1; python_version <= '3.7'
virtualenv==20.26.6; python_version >= '3.8'

# six (used by virtualenv, tox, probably others)
six==1.14.0; python_version <= '3.11'
six==1.16.0; python_version >= '3.12'


# Indirect dependencies for test (must be consistent with test-requirements.txt, if present)

# packaging (used by pytest, safety)
packaging==21.3; python_version == '3.6'
packaging==22.0; python_version >= '3.7'

# pluggy (used by pytest, tox)
pluggy==0.13.1


# Indirect dependencies that must be handled early (must be consistent with dev-requirements.txt)

# tox and flake8 have requirements on importlib-metadata
importlib-metadata==2.1.3; python_version <= '3.7'


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

# Coverage reporting (no imports, invoked via coveralls script):
coverage==5.0
pytest-cov==2.7.0
coveralls==3.3.0

# Safety CI by pyup.io
# Safety is run only on Python >=3.7
safety==3.0.1; python_version >= '3.7'
safety-schemas==0.0.1; python_version >= '3.7'
# TODO: Change to dparse 0.6.4 once released
dparse==0.6.4b0; python_version >= '3.7'
ruamel.yaml==0.17.21; python_version >= '3.7'
Authlib==1.2.0; python_version == '3.7'
Authlib==1.3.1; python_version >= '3.8'
marshmallow==3.15.0; python_version >= '3.7'
pydantic==1.10.13; python_version >= '3.7'
typer==0.12.0; python_version >= '3.7'
typer-cli==0.12.0; python_version >= '3.7'
typer-slim==0.12.0; python_version >= '3.7'
# safety 3.4.0 requires psutil~=6.1.0
psutil~=6.1.0; python_version >= '3.7'

# Click is used by safety
Click==8.0.2

# PyYAML is pulled in by dparse
PyYAML==5.3.1

# Tox
tox==3.21.0

# Sphinx (no imports, invoked via sphinx-build script):
# Sphinx is used only on Python>=3.8
Sphinx==7.1.0; python_version == '3.8'
Sphinx==7.2.0; python_version >= '3.9'
docutils==0.18.1; python_version >= '3.8'
sphinx-git==10.1.1; python_version >= '3.8'
GitPython==3.1.41; python_version >= '3.8'
Pygments==2.15.0; python_version >= '3.8'
sphinx-rtd-theme==2.0.0; python_version >= '3.8'
sphinxcontrib-applehelp==1.0.4; python_version >= '3.8'
sphinxcontrib-devhelp==1.0.2; python_version >= '3.8'
sphinxcontrib-htmlhelp==2.0.1; python_version >= '3.8'
sphinxcontrib-jquery==4.1; python_version >= '3.8'
sphinxcontrib-jsmath==1.0.1; python_version >= '3.8'
sphinxcontrib-qthelp==1.0.3; python_version >= '3.8'
sphinxcontrib-serializinghtml==1.1.5; python_version == '3.8'
sphinxcontrib-serializinghtml==1.1.9; python_version >= '3.9'
sphinxcontrib-websupport==1.2.4; python_version >= '3.8'
autodocsumm==0.2.12; python_version >= '3.8'
Babel==2.9.1; python_version >= '3.8'

# PyLint (no imports, invoked via pylint script) - does not support py3:
pylint==2.13.0; python_version == '3.6'
pylint==2.15.0; python_version >= '3.7' and python_version <= '3.11'
pylint==3.0.3; python_version >= '3.12'
astroid==2.11.0; python_version == '3.6'
astroid==2.12.4; python_version >= '3.7' and python_version <= '3.11'
astroid==3.0.2; python_version >= '3.12'
typed-ast==1.4.0; python_version >= '3.6' and python_version <= '3.7' and implementation_name=='cpython'
lazy-object-proxy==1.4.3
wrapt==1.14
isort==4.3.8
tomlkit==0.10.1
dill==0.3.4; python_version == '3.6'
dill==0.3.6; python_version >= '3.7' and python_version <= '3.11'
dill==0.3.7; python_version >= '3.12'
platformdirs==2.2.0; python_version == '3.6'
platformdirs==3.9.1; python_version >= '3.7'

# Flake8 and dependents (no imports, invoked via flake8 script):
flake8==3.9.0; python_version <= '3.7'
flake8==4.0.0; python_version >= '3.8' and python_version <= '3.9'
flake8==5.0.0; python_version >= '3.10'
mccabe==0.6.0; python_version <= '3.9'
mccabe==0.7.0; python_version >= '3.10'
pycodestyle==2.7.0; python_version <= '3.7'
pycodestyle==2.8.0; python_version >= '3.8' and python_version <= '3.9'
pycodestyle==2.9.0; python_version >= '3.10'
pyflakes==2.3.0; python_version <= '3.7'
pyflakes==2.4.0; python_version >= '3.8' and python_version <= '3.9'
pyflakes==2.5.0; python_version >= '3.10'
entrypoints==0.3.0

# Twine (no imports, invoked via twine script):
twine==3.0.0
readme-renderer==23.0

# Mypy (no imports, invoked via mypy script)
mypy==0.971; python_version == '3.6'
mypy==1.2.0; python_version >= '3.7'

# Package dependency management tools
pipdeptree==2.2.0

# Package dependency management tools
pipdeptree==2.2.0
pip-check-reqs==2.3.2; python_version >= '3.6' and python_version <= '3.7'
pip-check-reqs==2.4.3; python_version >= '3.8' and python_version <= '3.11'
pip-check-reqs==2.5.1; python_version >= '3.12'


# Indirect dependencies with special constraints:

# pytz (used by TBD)
pytz==2019.1

# colorama (used by tox, pytest)
colorama==0.4.5


# Other indirect dependencies (not in any requirements file):

alabaster==0.7.9
appdirs==1.4.4
args==0.1.0
attrs==19.2.0
bleach==3.3.0
certifi==2024.7.4
chardet==3.0.3
contextlib2==0.6.0
distlib==0.3.7
docopt==0.6.1
filelock==3.2.0; python_version == '3.6'
filelock==3.12.2; python_version == "3.7"
# safety 3.4.0 requires filelock~=3.16.1
filelock~=3.16.1; python_version >= "3.8"
gitdb==4.0.1
httpx==0.28.1; python_version >= '3.8'  # used by safety 3.4.0
id==1.5.0
# idna>3 requires using requests >=2.26.0
idna==3.7
imagesize==1.3.0
Jinja2==3.0.0; python_version == '3.6'
Jinja2==3.1.6; python_version >= '3.7'
keyring==17.0.0
levenshtein==0.25.1
MarkupSafe==2.0.0
more-itertools==5.0.0
nltk==3.9
pkginfo==1.4.2
py==1.11.0
pydantic==1.10.13
pyparsing==2.4.7
python-dateutil==2.6.0
pyzmq==16.0.4; python_version <= '3.11'
pyzmq==25.1.1; python_version >= '3.12'
requests==2.26.0; python_version == '3.6'
requests==2.31.0; python_version == '3.7'
requests==2.32.2; python_version >= '3.8'
requests-mock==1.6.0
requests-toolbelt==0.8.0
rfc3986==1.3.0
rich==12.0.0
roman-numerals-py==1.0.0; python_version >= '3.9'  # used by Sphinx>=8.2.0
smmap==3.0.1
snowballstemmer==2.0.0
tenacity==8.5.0; python_version >= '3.8'  # used by safety 3.4.0
toml==0.10.0
# tomli 2.0.0 removed support for py36
tomli==1.1.0; python_version == '3.6'
tomli==2.0.1; python_version >= '3.7'
tqdm==4.14; python_version == '3.6'
tqdm==4.66.3; python_version >= '3.7'
urllib3==1.26.19
wcwidth==0.1.7
webencodings==0.5.1
zipp==3.6.0; python_version <= '3.7'
zipp==3.9.1; python_version >= '3.8'
