mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 15:23:03 +02:00
- Add +x to Python scripts with shebangs (3 files) - Remove -x from non-script files like .cpp, .txt, makefile (23 files) - Move shebang to first line in C/imageViewer/lint.sh
192 lines
5.8 KiB
Plaintext
192 lines
5.8 KiB
Plaintext
# ==============================================================================
|
|
# Python Development Dependencies - Linting, Formatting, and Testing
|
|
# ==============================================================================
|
|
# Install with: pip install -r requirements-dev.txt
|
|
# ==============================================================================
|
|
|
|
# Include base requirements
|
|
-r requirements.txt
|
|
|
|
# add-trailing-comma - Add trailing commas
|
|
add-trailing-comma>=3.1.0
|
|
|
|
# autoflake - Remove unused imports and variables
|
|
autoflake>=2.2.0
|
|
|
|
# autopep8 - PEP 8 formatting (alternative formatter)
|
|
autopep8>=2.0.0
|
|
|
|
# ==============================================================================
|
|
# SECURITY LINTERS
|
|
# ==============================================================================
|
|
|
|
# Bandit - Security linter
|
|
bandit>=1.7.0
|
|
|
|
# Black - The uncompromising code formatter (fallback/comparison)
|
|
black>=24.0.0
|
|
|
|
# ==============================================================================
|
|
# SPELL CHECKING
|
|
# ==============================================================================
|
|
|
|
# codespell - Fix common misspellings
|
|
codespell>=2.2.0
|
|
|
|
# Coverage.py - Code coverage measurement
|
|
coverage>=7.4.0
|
|
|
|
# darglint - Check docstrings match function signatures
|
|
darglint>=1.8.0
|
|
|
|
# dead - Find dead code
|
|
dead>=1.5.0
|
|
|
|
# docformatter - Formats docstrings
|
|
docformatter>=1.7.0
|
|
|
|
# fixit - Auto-fix linting errors
|
|
fixit>=2.1.0
|
|
|
|
# Flake8 - Linting tool (wraps pyflakes, pycodestyle, mccabe)
|
|
flake8>=7.0.0
|
|
flake8-annotations>=3.0.0 # Type annotation checks
|
|
flake8-bandit>=4.1.0 # Security checks via bandit
|
|
|
|
# Flake8 plugins for maximum coverage
|
|
flake8-bugbear>=24.0.0 # Additional bug detection
|
|
flake8-comprehensions>=3.14.0 # Better list/dict/set comprehensions
|
|
flake8-docstrings>=1.7.0 # Docstring checks
|
|
flake8-eradicate>=1.5.0 # Dead code detection
|
|
flake8-pie>=0.16.0 # Miscellaneous lints
|
|
flake8-print>=5.0.0 # Detect print statements
|
|
flake8-pyi>=24.0.0 # Type stub file checks
|
|
flake8-pytest-style>=2.0.0 # Pytest style checks
|
|
flake8-return>=1.2.0 # Better return statement checks
|
|
flake8-simplify>=0.21.0 # Simplification suggestions
|
|
|
|
# Hypothesis - Property-based testing
|
|
hypothesis>=6.98.0
|
|
|
|
# ==============================================================================
|
|
# IMPORT CHECKING
|
|
# ==============================================================================
|
|
|
|
# importlib-metadata for import analysis
|
|
importlib-metadata>=7.0.0
|
|
|
|
# ==============================================================================
|
|
# DOCUMENTATION
|
|
# ==============================================================================
|
|
|
|
# pep257 - PEP 257 docstring checker (legacy, use pydocstyle)
|
|
# interrogate - Check docstring coverage
|
|
interrogate>=1.5.0
|
|
|
|
# isort - Import sorting (ruff handles this, but useful standalone)
|
|
isort>=5.13.0
|
|
|
|
# mccabe - McCabe complexity checker
|
|
mccabe>=0.7.0
|
|
|
|
# ==============================================================================
|
|
# TYPE CHECKING
|
|
# ==============================================================================
|
|
|
|
# MyPy - Static type checker
|
|
mypy>=1.8.0
|
|
|
|
# pip-audit - Audit Python packages for known vulnerabilities
|
|
pip-audit>=2.6.0
|
|
|
|
# pipdeptree - Show dependency tree
|
|
pipdeptree>=2.14.0
|
|
|
|
# ==============================================================================
|
|
# PRE-COMMIT
|
|
# ==============================================================================
|
|
|
|
# pre-commit - Git hook management
|
|
pre-commit>=3.6.0
|
|
|
|
# prospector - Python static analysis tool
|
|
prospector>=1.10.0
|
|
|
|
# pycodestyle - Python style guide checker (PEP 8)
|
|
pycodestyle>=2.11.0
|
|
|
|
# pydocstyle - Docstring style checker (PEP 257)
|
|
pydocstyle>=6.3.0
|
|
|
|
# pyflakes - Passive checker of Python programs
|
|
pyflakes>=3.2.0
|
|
|
|
# pylama - Code audit tool (wraps multiple linters)
|
|
pylama>=8.4.0
|
|
|
|
# ==============================================================================
|
|
# LINTERS
|
|
# ==============================================================================
|
|
|
|
# Pylint - Comprehensive Python linter
|
|
pylint>=3.0.0
|
|
|
|
# Pyright - Microsoft's type checker (very strict)
|
|
pyright>=1.1.350
|
|
|
|
# ==============================================================================
|
|
# TESTING
|
|
# ==============================================================================
|
|
|
|
# pytest - Testing framework
|
|
pytest>=8.0.0
|
|
|
|
# pytest plugins
|
|
pytest-cov>=4.1.0 # Coverage plugin
|
|
pytest-randomly>=3.15.0 # Randomize test order
|
|
pytest-sugar>=1.0.0 # Better test output
|
|
pytest-timeout>=2.2.0 # Test timeouts
|
|
pytest-xdist>=3.5.0 # Parallel test execution
|
|
|
|
# ==============================================================================
|
|
# ADDITIONAL TOOLS
|
|
# ==============================================================================
|
|
|
|
# pyupgrade - Upgrade Python syntax
|
|
pyupgrade>=3.15.0
|
|
|
|
# Radon - Code metrics (complexity, maintainability)
|
|
radon>=6.0.0
|
|
|
|
# reorder-python-imports - Reorder imports
|
|
reorder-python-imports>=3.12.0
|
|
|
|
# ==============================================================================
|
|
# CODE FORMATTERS
|
|
# ==============================================================================
|
|
|
|
# Ruff - Extremely fast Python linter and formatter (replaces many tools)
|
|
ruff>=0.8.0
|
|
|
|
# Safety - Check dependencies for known security vulnerabilities
|
|
safety>=2.3.0
|
|
types-python-dateutil>=2.8.0
|
|
types-PyYAML>=6.0.0
|
|
|
|
# Type stubs for common packages
|
|
types-requests>=2.31.0
|
|
types-setuptools>=69.0.0
|
|
|
|
# ==============================================================================
|
|
# CODE QUALITY & DEAD CODE DETECTION
|
|
# ==============================================================================
|
|
|
|
# Vulture - Find dead code
|
|
vulture>=2.10
|
|
|
|
# xenon - Monitor code complexity
|
|
xenon>=0.9.0
|
|
|
|
# yapf - Yet Another Python Formatter (Google's formatter)
|
|
yapf>=0.40.0
|