# Pip requirements file for development dependencies.


# Direct and necessary indirect dependencies for development (must be consistent
# with minimum-constraints-develop.txt)

# Build distribution archive
build>=1.1.1

# Change log
towncrier>=22.8.0

# Unit test (imports into testcases):
pytest>=8.0.2; python_version == '3.9'
pytest>=9.0.3; python_version >= '3.10'
pluggy>=1.3.0; python_version == '3.9'
pluggy>=1.5.0; python_version >= '3.10'
# pylint>=2.15 requires colorama>=0.4.5
colorama>=0.4.5
# flake8 up to 6.0.0 has not yet adjusted to the removed interfaces in importlib-metadata 5.0 and fails with AttributeError
importlib-metadata>=6.6.0

# Coverage reporting (no imports, invoked via coveralls script):
# coverage is pinned to <7.0 to speed up pip; coveralls 3.3 also pins coverage<7.0
coverage>=5.0,<7.0
pytest-cov>=2.7.0
coveralls>=3.3.0

# Safety CI by pyup.io
safety>=3.7.0
safety-schemas>=0.0.16
dparse>=0.6.4
ruamel.yaml>=0.17.21
# click is handled in install
Authlib>=1.6.11
marshmallow>=4.0.1; python_version == '3.9'
marshmallow>=4.3.0; python_version >= '3.10'
pydantic>=2.12.0
pydantic_core>=2.41.1
# typer >=0.17.0 causes import issue for safety, see https://github.com/pyupio/safety/issues/778
typer>=0.12.1,<0.17.0
typer-cli>=0.12.1,<0.17.0
typer-slim>=0.12.1,<0.17.0
# psutil is handled in install
filelock>=3.16.1; python_version == '3.9'
filelock>=3.24.2; python_version >= '3.10'

# Tox
tox==3.21.0

more-itertools>=4.0.0

# Virtualenv
virtualenv>=21.3.0
python-discovery>=1.2.2

# Sphinx (no imports, invoked via sphinx-build script):
Sphinx>=7.2.0
docutils>=0.18.1
sphinx-git>=10.1.1
GitPython>=3.1.50
Pygments>=2.20.0
sphinx-rtd-theme>=2.0.0
sphinxcontrib-applehelp>=1.0.4
sphinxcontrib-devhelp>=1.0.2
sphinxcontrib-htmlhelp>=2.0.1
sphinxcontrib-jquery>=4.1
sphinxcontrib-jsmath>=1.0.1
sphinxcontrib-qthelp>=1.0.3
sphinxcontrib-serializinghtml>=1.1.9
sphinxcontrib-websupport>=1.2.4
autodocsumm>=0.2.12
Babel>=2.11.0

# PyLint (no imports, invoked via pylint script)
pylint>=3.3.3; python_version == '3.9'
pylint>=4.0.4; python_version >= '3.10'
astroid>=3.3.8; python_version == '3.9'
astroid>=4.0.2; python_version >= '3.10'
lazy-object-proxy>=1.4.3
wrapt>=1.14
# platformdirs is also used by tox
platformdirs>=4.3.6
isort>=5.0.9
tomlkit>=0.10.1
dill>=0.3.7

# Flake8 and dependents (no imports, invoked via flake8 script):
flake8>=6.1.0
mccabe>=0.7.0
pycodestyle>=2.11.0
pyflakes>=3.1.0
entrypoints>=0.3.0

# Ruff checker
ruff>=0.3.5

# Package dependency management tools
pipdeptree>=2.24.0
# pip-check-reqs 2.3.2 is needed to have proper support for pip<=21.3.
# pip-check-reqs 2.4.3 fixes a speed issue on Python 3.11 and requires pip>=21.2.4
# pip-check-reqs 2.5.0 has issue https://github.com/r1chardj0n3s/pip-check-reqs/issues/143
pip-check-reqs>=2.4.3,!=2.5.0; python_version <= '3.11'
pip-check-reqs>=2.5.1; python_version >= '3.12'

# Jinja2 is used by Sphinx, and pip needs explicit versions for this
# otherwise indirect dependency.
Jinja2>=3.1.5


# Dependencies from install that are needed for consistency (e.g. because pinned)

# Click 8.2 made some attributes read-only and click-repl 0.2.0/0.3.0 does not
#   support that yet, see https://github.com/click-contrib/click-repl/issues/128
Click>=8.0.2,<8.2
