# Requirements only for development (testing, code style, ...)
#   python_version: 3.10
# ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────

# --------------------------------------------------------------------------------------------------------------------
# --- For Mypy:
# --------------------------------------------------------------------------------------------------------------------

# mypy needs these to be installed
pydantic==2.5.1
pydantic-settings==2.1.0
loguru==0.6.0
types-redis==4.6.0 # type checking for redis

# --------------------------------------------------------------------------------------------------------------------
# --- Utilities
# --------------------------------------------------------------------------------------------------------------------

# Command line utility to show dependency tree of packages
pipdeptree==2.2.1

# --------------------------------------------------------------------------------------------------------------------
# --- Code Style Tools:
# --------------------------------------------------------------------------------------------------------------------

# Mypy has a powerful type system with features such as type inference,
# gradual typing, generics and union types.
mypy==1.7.0

# Black applyies automatic formatting to the codebase
black==23.1.0

# Ruff formatting
ruff==0.1.6

# --------------------------------------------------------------------------------------------------------------------
# --- Testing:
# --------------------------------------------------------------------------------------------------------------------

# Framework to write small tests, yet scales to support complex functional testing for applications and libraries.
pytest==7.4.3

# Pytest plugin for measuring coverage.
pytest-cov==3.0.0

# Pytest plugin for paralell execution
pytest-xdist==2.5.0

# Pytest pluging in order to split test execution
pytest-split==0.8.0

# Pytest plugin for mocking
pytest-mock==3.11.1

# set environment variables in pytest tests
pytest-env==1.1.1

# asyncio support for pytest
pytest-asyncio==0.21.1
# --------------------------------------------------------------------------------------------------------------------
# --- Documentation:
# --------------------------------------------------------------------------------------------------------------------

pydoc-markdown==4.8.2

# --------------------------------------------------------------------------------------------------------------------
# Management of commit hooks.
# --------------------------------------------------------------------------------------------------------------------

# A framework for managing and maintaining multi-language pre-commit hooks.
pre-commit==2.19.0
