# Development and Testing Dependencies
# These packages are only needed for development, testing, and code quality checks
# Install with: pip install -r requirements-dev.txt

# Code Quality & Linting
ruff>=0.1.0              # Fast Python linter and formatter (replaces flake8, black, isort)
mypy>=1.7.0              # Static type checker
bandit>=1.7.5            # Security vulnerability scanner
pandas-stubs>=2.0.0      # Type stubs for pandas
types-requests>=2.31.0   # Type stubs for requests

# Testing
pytest>=7.4.0            # Testing framework
pytest-cov>=4.1.0        # Coverage plugin for pytest
pytest-asyncio>=0.21.0   # Async test support (already in main requirements)
testcontainers[postgres,minio,mongodb,redis]>=4.15.0  # E2E suite (e2e/): real MongoDB, Redis, PostgreSQL,
                         # MinIO and NATS containers; `testcontainers.community.*` namespace

# Development Tools
ipython>=8.12.0          # Enhanced Python shell
ipdb>=0.13.13            # IPython debugger
python-dotenv>=1.0    # local dev only: app/seed read .env if present (in-cluster env comes from Helm)

# gRPC code generation (regenerate ingestor/proto/*_pb2*.py) — not needed
# at runtime: the generated stubs are committed. Kept out of requirements.txt
# because workers install only from the cluster package index.
grpcio-tools>=1.60
