# 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>=20.26.6
pyproject-hooks>=1.1.0

# Change log
towncrier>=22.8.0

# Unit test (e.g. imports into testcases):
pytest>=8.0.2

# 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.6.1; python_version == '3.8'
safety>=3.7.0; python_version >= '3.9'
safety-schemas>=0.0.14; python_version == '3.8'
safety-schemas>=0.0.16; python_version >= '3.9'
dparse>=0.6.4
ruamel.yaml>=0.17.21
click>=8.0.2
Authlib>=1.6.5
marshmallow>=3.15.0
pydantic>=2.8.0; python_version == '3.8'
pydantic>=2.12.0; python_version >= '3.9'
pydantic_core>=2.20.0; python_version == '3.8'
pydantic_core>=2.41.1; python_version >= '3.9'
# typer >=0.17.0 causes import issue for safety, see https://github.com/pyupio/safety/issues/778
typer>=0.16.0
typer-cli>=0.16.0
typer-slim>=0.16.0
# safety 3.4.0 depends on psutil~=6.1.0
psutil~=6.1.0

# 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.21 requires importlib-metadata>=0.12 on Python<=3.7
tox>=3.21.0

# Sphinx (no imports, invoked via sphinx-build script):
Sphinx>=7.2.0
docutils>=0.18.1
sphinx-git>=10.1.1
GitPython>=3.1.41
Pygments>=2.15.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.1.0
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.14.1; python_version == '3.8'
mypy>=1.17.1; python_version >= '3.9'

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

# pluggy (used by pytest, tox)
pluggy>=1.3.0

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

# 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
