# Pip constraints file for install and development dependencies.
#
# This file specifies constraints that match the minimum versions specified in
# the requirement files for install and development. They are used for example
# when setting up test environments with the minimum versions of any dependent
# packages.


# Note: The included file is processed by Pip but ignored by the Safety tool.
# Thus, safety with the 'all' profile actually only checks development packages,
# but that's ok since the 'install' profile checks the install packages.
-c minimum-constraints-install.txt


# Direct dependencies for development and indirect dependencies for development
# that are needed for some reason (must be consistent with dev-requirements.txt)

# Unit test (imports into testcases):
# pytest 4.3.1 solves an issue on Python 3 with minimum package levels
# pytest 5.0.0 has removed support for Python < 3.5
pytest==4.3.1; python_version <= '3.6'
pytest==4.4.0; python_version >= '3.7' and python_version <= '3.9'
pytest==6.2.5; python_version >= '3.10'
pluggy==0.13.0
colorama==0.3.9; python_version == '2.7'
colorama==0.4.5; python_version >= '3.6'
importlib-metadata==2.1.3; python_version <= '3.5'
importlib-metadata==4.8.3; python_version == '3.6'
importlib-metadata==6.6.0; python_version >= '3.7'

# Coverage reporting (no imports, invoked via coveralls script):
coverage==5.0; python_version == '2.7' or python_version >= '3.6'
pytest-cov==2.7.0; python_version == '2.7' or python_version >= '3.6'
# Links are not allowed in constraint files - minimum ensured by dev-requirements.txt:
# git+https://github.com/andy-maier/coveralls-python.git@andy/add-py27#egg=coveralls; python_version == '2.7'
coveralls==3.3.0; python_version >= '3.6'

# 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.2; python_version == '3.8'
Authlib==1.6.5; python_version >= '3.9'
marshmallow==3.15.0; python_version >= '3.7'
pydantic==1.10.13; python_version >= '3.7'
pydantic_core==2.20.0; python_version >= '3.7'
typer==0.12.1; python_version >= '3.7'
typer-cli==0.12.1; python_version >= '3.7'
typer-slim==0.12.1; python_version >= '3.7'
# The following used by safety and Sphinx
Levenshtein==0.25.1

# Tox
tox==2.5.0
# tox 3.17 requires six>=1.14.0

more-itertools==5.0.0

# Virtualenv
virtualenv==16.1.0; python_version <= '3.6'
virtualenv==20.26.6; python_version >= '3.7'

# 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'
# Sphinx 8.2.0 started using roman-numerals-py
roman-numerals-py==4.1.0
roman-numerals==4.1.0

# PyLint (no imports, invoked via pylint script)
pylint==2.13.0; python_version >= '3.6' and python_version <= '3.10'
pylint==2.15.0; python_version == '3.11'
pylint==3.0.1; python_version >= '3.12'
astroid==2.11.0; python_version >= '3.6' and python_version <= '3.10'
astroid==2.12.4; python_version == '3.11'
astroid==3.0.1; python_version >= '3.12'
# typing-extensions is covered in minimum-constraints-install.txt
typed-ast==1.4.0; python_version >= '3.6' and python_version < '3.8' and implementation_name=='cpython'
lazy-object-proxy==1.4.3; python_version >= '3.6'
wrapt==1.12; python_version >= '3.6' and python_version <= '3.10'
wrapt==1.14; python_version >= '3.11'
isort==4.3.8
tomlkit==0.10.1; python_version >= '3.7'
dill==0.3.4; python_version >= '3.6' and python_version <= '3.10'
dill==0.3.7; python_version >= '3.11'
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.8.0; 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.6.0; python_version <= '3.9'
pycodestyle==2.9.0; python_version >= '3.10'
pyflakes==2.2.0; python_version <= '3.9'
pyflakes==2.5.0; python_version >= '3.10'
entrypoints==0.3.0
functools32==3.2.3.post2; python_version == '2.7'  # technically: python_version < '3.2'

# Ruff checker
ruff==0.3.5; python_version >= '3.7'

# Twine (no imports, invoked via twine script):
twine==1.15.0; python_version == '2.7'
twine==2.0.0; python_version >= '3.6'
readme-renderer==23.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'

Jinja2==2.8.1; python_version <= '3.6'
Jinja2==3.1.6; python_version >= '3.7'

subprocess32==3.5.4; python_version == '2.7'


# Indirect dependencies for development that are not in dev-requirements.txt.

alabaster==0.7.9
appdirs==1.4.3
appnope==0.1.0
args==0.1.0
atomicwrites==1.2.1
attrs==18.2.0; python_version <= '3.9'
attrs==19.2.0; python_version >= '3.10'
backports.functools-lru-cache==1.5; python_version < "3.3"
bleach==3.3.0; python_version == '2.7'
bleach==3.3.0; python_version >= '3.6'
chardet==3.0.2
clint==0.5.1
configparser==4.0.2; python_version < '3.2'
contextlib2==0.6.0
# dataclasses is used by safety>=2.3.1 on (only) py36
dataclasses==0.8; python_version == '3.6'
docopt==0.6.1
enum34==1.1.6; python_version == "2.7"
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'
functools32==3.2.3.post2; python_version < "3.2"
# Safety issue #52510 affected <=0.18.2
future==0.18.3
futures==3.3.0; python_version < "3.2"
# gitdb2 is a mirror Pypi name for certain gitdb versions.
gitdb2==2.0.0; python_version == '2.7'
gitdb2==2.0.0; python_version == '3.6'
gitdb==4.0.8; python_version >= '3.7'
html5lib==0.999999999
httpx==0.28.1; python_version >= '3.8'  # used by safety 3.4.0
id==1.5.0
imagesize==1.3.0
jsonschema==2.6.0
keyring==18.0.0
linecache2==1.0.0
# Jinja2 3.x requires MarkupSafe>=2.0
MarkupSafe==1.1.1; python_version <= '3.6'
MarkupSafe==2.0.0; python_version >= '3.7'
mistune==0.8.1
nltk==3.9
pandocfilters==1.4.1
pathlib2==2.2.1
pbr==1.8.0
pexpect==4.2.1
pkginfo==1.4.2
pickleshare==0.7.4
ptyprocess==0.5.1
py==1.11.0
pytz==2016.10; python_version <= '3.9'
pytz==2019.1; python_version >= '3.10'
rfc3986==1.4.0
qtconsole==4.2.1
requests-toolbelt==0.8.0
rich==12.0.0; python_version >= '3.6'
scandir==1.9.0
sh==1.12.14
simplegeneric==0.8.1
singledispatch==3.4.0.3; python_version == "2.7"
smmap2==2.0.1
snowballstemmer==2.0.0
tenacity==8.5.0; python_version >= '3.8'  # used by safety 3.4.0
terminado==0.6
testpath==0.3
toml==0.10.0
tomli==1.1.0; python_version == '3.6'
tomli==2.0.1; python_version >= '3.7'
tornado==4.4.2; python_version == '2.7'
tornado==6.1; python_version == '3.6'
tornado==6.2; python_version == '3.7'
tornado==6.4.2; python_version == '3.8'
tornado==6.5; python_version >= '3.9'
tqdm==4.28.1; python_version <= '3.6'
tqdm==4.66.3; python_version >= '3.7'
traceback2==1.4.0
traitlets==4.3.1
webencodings==0.5.1
widgetsnbextension==1.2.6
zipp==0.5.2; python_version <= '3.7'
zipp==3.19.1; python_version >= '3.8'
