# DNOS Ansible Collection - Development Requirements
# Based on Ansible team-devtools ecosystem
# Python 3.11+ required (tested with Python 3.11 and 3.12)

# Base runtime requirements
-r requirements.txt

# Ansible DevTools Core Packages
ansible-dev-tools>=24.0.0  # Meta-package with all devtools
ansible-lint>=24.0.0       # Code quality and best practices
ansible-compat>=4.0.0      # Cross-version compatibility
molecule>=6.0.0             # Testing framework
ansible-creator>=24.0.0    # Project scaffolding
tox-ansible>=24.0.0        # Testing automation

# Testing Frameworks (pytest ecosystem)
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-mock>=3.10.0
pytest-ansible>=4.0.0
pytest-xdist>=3.0.0        # Parallel testing
pytest-html>=3.0.0         # HTML reports

# Ansible Core Development
# Tested with Ansible Core 2.16, 2.17, 2.18, and 2.19
ansible-core>=2.16.0
ansible>=8.0.0

# Code Quality Tools (aligned with team-devtools)
black>=23.0.0              # Code formatting
isort>=5.12.0              # Import sorting  
flake8>=6.0.0              # Linting
flake8-pyproject>=1.2.0    # Enable pyproject.toml support for flake8
pylint>=2.17.0             # Advanced linting
mypy>=1.5.0                # Type checking
yamllint>=1.32.0           # YAML linting

# Pre-commit ecosystem
pre-commit>=3.3.0
pre-commit-hooks>=4.4.0

# Documentation Tools
sphinx>=7.0.0
sphinx-rtd-theme>=1.3.0
sphinx-ansible-theme>=0.9.0
antsibull-docs>=1.10.0     # Ansible documentation tools

# Container Development (optional)
ansible-runner>=2.3.0      # For execution environments
ansible-builder>=3.0.0     # For building execution environments

# Type Stubs
types-PyYAML>=6.0.0
types-requests>=2.31.0
types-paramiko>=3.3.0

# Development Utilities
coverage[toml]>=7.0.0      # Coverage with pyproject.toml support
bandit>=1.7.5              # Security analysis
safety>=2.3.0              # Dependency security scanning
