# ==============================================================================
# effGen Framework - Development Requirements
# Python version: >=3.10
# ==============================================================================

# ==============================================================================
# Testing Framework
# ==============================================================================
pytest>=7.4.0
pytest-asyncio>=0.21.0
pytest-cov>=4.1.0
pytest-mock>=3.12.0
pytest-timeout>=2.2.0
pexpect>=4.9.0

# ==============================================================================
# Code Formatting
# ==============================================================================
black>=23.12.0
isort>=5.13.0

# ==============================================================================
# Linting & Type Checking
# ==============================================================================
flake8>=6.1.0
mypy>=1.7.0
pylint>=3.0.0
ruff>=0.1.0

# ==============================================================================
# Security & Code Quality
# ==============================================================================
bandit>=1.7.5
safety>=2.3.0

# ==============================================================================
# Documentation
# ==============================================================================
sphinx>=7.2.0
sphinx-rtd-theme>=2.0.0
sphinx-autodoc-typehints>=1.25.0
myst-parser>=2.0.0

# ==============================================================================
# Build & Distribution
# ==============================================================================
build>=1.0.0
twine>=4.0.0
wheel>=0.42.0
# setuptools>=77 required for PEP 639 license expressions (see [build-system]);
# also lets `pip install -e . --no-build-isolation` work in a dev env.
setuptools>=77.0.0

# ==============================================================================
# Development Utilities
# ==============================================================================
ipython>=8.18.0
ipdb>=0.13.13
pre-commit>=3.5.0

# ==============================================================================
# Performance Profiling
# ==============================================================================
memory-profiler>=0.61.0
line-profiler>=4.1.0
py-spy>=0.3.14

# ==============================================================================
# Type Stubs
# ==============================================================================
types-PyYAML>=6.0.12
types-requests>=2.31.0
types-setuptools>=69.0.0

# ==============================================================================
# Additional Testing Tools
# ==============================================================================
hypothesis>=6.92.0
faker>=21.0.0
responses>=0.24.0

# ==============================================================================
# Code Coverage Reporting
# ==============================================================================
coverage[toml]>=7.3.0
codecov>=2.1.13
