# QuantRS2 Development Requirements
# Additional dependencies for development, testing, and debugging

# Core requirements (included from requirements.txt)
-r requirements.txt

# Testing frameworks
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-xdist>=3.0.0         # Parallel test execution
pytest-benchmark>=4.0.0      # Performance benchmarking
pytest-mock>=3.10.0         # Mocking utilities
pytest-asyncio>=0.21.0      # Async test support
hypothesis>=6.70.0           # Property-based testing

# Code quality and formatting
black>=23.0.0                # Code formatter
isort>=5.10.0               # Import sorting
flake8>=6.0.0               # Linting
mypy>=1.0.0                 # Type checking
pylint>=2.17.0              # Advanced linting
bandit>=1.7.0               # Security linting
safety>=2.3.0               # Dependency vulnerability scanning

# Documentation
sphinx>=6.0.0
sphinx-rtd-theme>=1.2.0
sphinx-autodoc-typehints>=1.23.0
myst-parser>=1.0.0          # Markdown support for Sphinx
nbsphinx>=0.9.0             # Jupyter notebook support

# Development tools
pre-commit>=3.0.0           # Git hooks
ipdb>=0.13.0                # Enhanced debugger
pdb++>=0.10.0               # Better PDB
bpython>=0.24               # Enhanced Python REPL

# Performance profiling
memory-profiler>=0.60.0     # Memory usage profiling
line-profiler>=4.0.0        # Line-by-line profiling
py-spy>=0.3.0               # Sampling profiler
snakeviz>=2.2.0             # Profile visualization
pyinstrument>=4.4.0         # Statistical profiler

# Jupyter and interactive development
jupyter>=1.0.0
jupyterlab>=4.0.0
jupyter-widgets>=8.0.0
ipywidgets>=8.0.0
nbconvert>=7.0.0

# Quantum development libraries (optional)
qiskit>=0.45.0
cirq>=1.2.0
pennylane>=0.33.0
pyquil>=4.0.0
strawberryfields>=0.21.0
mitiq>=0.28.0
openqasm3>=0.4.0

# Machine learning and data science
scikit-learn>=1.3.0
tensorflow>=2.13.0
torch>=2.0.0
pandas>=2.0.0
matplotlib>=3.7.0
plotly>=5.17.0
seaborn>=0.12.0
networkx>=3.1.0
sympy>=1.12.0

# Visualization and plotting
graphviz>=0.20.0            # Graph visualization
pydot>=1.4.0                # Graph creation
bokeh>=3.2.0                # Interactive visualization
altair>=5.0.0               # Statistical visualization

# Build and packaging
build>=0.10.0               # Build frontend
twine>=4.0.0                # Package uploading
wheel>=0.40.0               # Wheel building
setuptools-scm>=7.1.0       # Version management

# Database and storage
sqlalchemy>=2.0.0           # Database ORM
alembic>=1.11.0             # Database migrations
redis>=4.6.0                # Redis client
psycopg2-binary>=2.9.0      # PostgreSQL adapter

# Web development
flask>=2.3.0                # Web framework
flask-cors>=4.0.0           # CORS support
fastapi>=0.100.0            # Modern API framework
uvicorn>=0.23.0             # ASGI server

# Utilities
click>=8.1.0                # CLI framework
tqdm>=4.65.0                # Progress bars
rich>=13.0.0                # Rich text and beautiful formatting
typer>=0.9.0                # Modern CLI framework
pydantic>=2.0.0             # Data validation

# Configuration and environment
python-dotenv>=1.0.0        # Environment variable loading
pyyaml>=6.0.0               # YAML parsing
toml>=0.10.0                # TOML parsing
configparser>=5.3.0         # Configuration file parsing

# Async and concurrency
asyncio>=3.4.3
aiohttp>=3.8.0              # Async HTTP client
aiofiles>=23.0.0            # Async file operations

# Type hints and static analysis
types-PyYAML>=6.0.0         # Type stubs for PyYAML
types-requests>=2.31.0      # Type stubs for requests
types-setuptools>=68.0.0    # Type stubs for setuptools

# Security and cryptography
cryptography>=41.0.0        # Cryptographic recipes
keyring>=24.0.0             # Secure credential storage

# Monitoring and logging
structlog>=23.0.0           # Structured logging
loguru>=0.7.0               # Enhanced logging
prometheus-client>=0.17.0   # Metrics collection

# Development server and hot reload
watchdog>=3.0.0             # File system monitoring
livereload>=2.6.0           # Auto-reload for development

# Code analysis and metrics
radon>=6.0.0                # Code complexity analysis
vulture>=2.9.0              # Dead code detection
mccabe>=0.7.0               # Complexity checker

# Container and deployment
docker>=6.1.0               # Docker client
kubernetes>=27.2.0          # Kubernetes client

# Version control integration
gitpython>=3.1.0            # Git integration
pygit2>=1.12.0              # Git library bindings

# Data validation and serialization
marshmallow>=3.20.0         # Object serialization
cerberus>=1.3.0             # Data validation

# Benchmarking and performance testing
locust>=2.16.0              # Load testing
py-cpuinfo>=9.0.0           # CPU information
psutil>=5.9.0               # System and process utilities