# EU-Utility - Development Dependencies # ====================================== # These dependencies are required for development, testing, and CI/CD. # They are NOT required for running EU-Utility in production. # # Install with: pip install -r requirements-dev.txt # Or use: pip install -e ".[dev]" # ============================================================================= # ============================================================================= # Testing Framework # ============================================================================= # pytest is the main testing framework pytest>=7.4.0,<8.0.0 # pytest-cov provides code coverage reporting pytest-cov>=4.1.0,<5.0.0 # pytest-mock provides mocking utilities for pytest pytest-mock>=3.11.0,<4.0.0 # pytest-benchmark provides performance benchmarking pytest-benchmark>=4.0.0,<5.0.0 # pytest-qt provides Qt/PyQt6 testing support pytest-qt>=4.2.0,<5.0.0 # pytest-xvfb allows running GUI tests headless on Linux pytest-xvfb>=2.0.0,<3.0.0 # ============================================================================= # Code Quality and Linting # ============================================================================= # black is the code formatter black>=23.0.0,<24.0.0 # flake8 is the linter (style and error checking) flake8>=6.0.0,<7.0.0 # mypy is the static type checker mypy>=1.5.0,<2.0.0 # isort sorts imports automatically isort>=5.12.0,<6.0.0 # pydocstyle checks docstring conventions pydocstyle>=6.3.0,<7.0.0 # ============================================================================= # Security Analysis # ============================================================================= # bandit finds common security issues in Python code bandit>=1.7.5,<2.0.0 # safety checks for known security vulnerabilities in dependencies safety>=2.3.0,<3.0.0 # pip-audit is an alternative to safety for vulnerability scanning # pip-audit>=2.6.0,<3.0.0 # ============================================================================= # Documentation # ============================================================================= # sphinx is the documentation generator sphinx>=7.0.0,<8.0.0 # sphinx-rtd-theme is the Read the Docs theme sphinx-rtd-theme>=1.3.0,<2.0.0 # myst-parser allows writing documentation in Markdown myst-parser>=2.0.0,<3.0.0 # sphinx-autobuild provides live-reload for documentation development # sphinx-autobuild>=2021.3.14,<2.0.0 # ============================================================================= # Build and Packaging # ============================================================================= # build is the modern Python build frontend build>=0.10.0,<1.0.0 # twine uploads packages to PyPI twine>=4.0.0,<5.0.0 # wheel builds wheel distributions wheel>=0.41.0,<1.0.0 # ============================================================================= # Development Tools # ============================================================================= # pre-commit runs checks before commits pre-commit>=3.4.0,<4.0.0 # bump2version manages version bumping # bump2version>=1.0.1,<2.0.0 # pipdeptree shows dependency tree # pipdeptree>=2.13.0,<3.0.0