# Pip requirements file for packages needed for development.


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

# PEP517 package builder, used in Makefile
build>=1.0.0
virtualenv>=21.3.0
python-discovery>=1.2.2
pyproject-hooks>=1.1.0

# Change log
towncrier>=22.8.0

# Unit test (e.g. 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'

# Coverage reporting (no imports, invoked via coveralls script):
# coveralls 3.3.0 pins coverage to <7.0, causing pip backtracking to happen. Pinning
#   it to <7.0 in this file saves the time for backtracking, but requires to
#   occasionally check for new versions of coveralls without pinning.
coverage>=5.0,<7.0
pytest-cov>=2.7.0
coveralls>=3.3.0

# Safety CI by pyup.io
safety>=3.8.1
safety-schemas>=0.0.16
dparse>=0.6.4
ruamel.yaml>=0.19.1
Authlib>=1.6.12
marshmallow>=3.26.2
pydantic>=2.12.0
pydantic_core>=2.41.1
typer>=0.16.0
typer-cli>=0.16.0
typer-slim>=0.16.0
# safety 3.8.1 depends on ruststore>=0.10.4 only on Python>=3.10
truststore>=0.10.4; python_version >= '3.10'

# PyYAML is pulled in by dparse
# PyYAML is also pulled in by dparse and python-coveralls
# PyYAML 6.0 has wheel archives for Python 3.6 - 3.11
# PyYAML 6.0.0 fails install since Cython 3 was released, see issue
#   https://github.com/yaml/pyyaml/issues/724.
# PyYAML 6.0.2 provides wheel archives for Python 3.13 on Windows
PyYAML>=6.0.2

# Tox
# tox 3.17 requires six>=1.14.0 - covered in requirements.txt
tox>=3.21.0

# Sphinx (no imports, invoked via sphinx-build script):
Sphinx>=7.2.0
# Sphinx 7.1.0 pins docutils to <0.21
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.14
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

# Twine (no imports, invoked via twine script):
twine>=3.0.0
readme-renderer>=43.0
# importlib-metadata is used by twine and others
importlib-metadata>=4.8.3

# Mypy (no imports, invoked via mypy script)
mypy>=1.17.1

# Package dependency management tools
pipdeptree>=2.24.0
pip-check-reqs>=2.5.1

# packaging (used by pytest, safety)
# setuptools>=77.0.0 requires packaging>=24.2 to work properly
packaging>=24.2

# pytz (used by TBD)
pytz>=2019.1

# colorama (used by tox, pytest)
# tox 3.21.0 depends on colorama>=0.4.1 for platform_system == "Windows"
# pylint>=2.15 requires colorama>=0.4.5
colorama>=0.4.5
