99 lines
3.1 KiB
Plaintext
99 lines
3.1 KiB
Plaintext
# 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
|