Professional Python code quality toolkit with enhanced dependency analysis and modern GUI interface.
# Launch the professional GUI interface
python enhanced_launcher.py --gui
# Alternative: Command line argument
python enhanced_launcher.py# Lint current directory with all stages
python -m cascade_linter
# Lint specific directory
python -m cascade_linter /path/to/your/project
# Quick lint (Ruff only)
python -m cascade_linter --ruff-only
# Full analysis with dependency insights
python -m cascade_linter --dependency-analysis# Use the enhanced CLI for advanced features
python -m cascade_linter.cli_enhanced
# Enhanced dependency analysis with details
python -m cascade_linter.cli_enhanced --dependency-analysis --show-details
# Export dependency analysis
python -m cascade_linter.cli_enhanced --dependency-analysis --export-csv analysis.csv- Python 3.9 or higher
- pip (Python package installer)
cd cascade-linter
pip install -r requirements.txt
pip install -r requirements-gui.txt # For GUI interfacepython -m cascade_linter --help
python enhanced_launcher.py --help # GUI launcherThe professional GUI interface provides:
- π¨ Material Design: Modern dark theme with beautiful widgets
- π Real-time Progress: Live progress tracking with animated donuts
- π Analytics Dashboard: Comprehensive code quality metrics
- π§ Auto Fix: Safe automatic code fixes with preview
- π Activity Logs: Structured, colorized logging output
- βοΈ Settings Management: Configurable linter preferences
- π― Export Options: Results export in multiple formats
- Launch:
python enhanced_launcher.py --gui - Add Directory: Click "Add Directory" to select your Python project
- Run Analysis: Choose "Run Analysis" for comprehensive linting
- View Results: Check the Analytics tab for detailed metrics
- Auto Fix: Use "Auto Fix" tab for safe automatic corrections
| Command | Description | Example |
|---|---|---|
python -m cascade_linter |
Lint current directory (all stages) | python -m cascade_linter |
python -m cascade_linter <path> |
Lint specific directory | python -m cascade_linter /home/user/project |
--ruff-only |
Run only Ruff linter | python -m cascade_linter --ruff-only |
--flake8-only |
Run only Flake8 linter | python -m cascade_linter --flake8-only |
--pylint-only |
Run only Pylint linter | python -m cascade_linter --pylint-only |
--bandit-only |
Run only Bandit security linter | python -m cascade_linter --bandit-only |
--mypy-only |
Run only MyPy type checker | python -m cascade_linter --mypy-only |
| Option | Description | Example |
|---|---|---|
--check-only |
Check-only mode (no auto-fixes) | python -m cascade_linter --check-only |
--unsafe-fixes |
Apply potentially unsafe fixes | python -m cascade_linter --unsafe-fixes |
--no-gitignore |
Don't respect .gitignore files | python -m cascade_linter --no-gitignore |
--config <file> |
Use custom config file | python -m cascade_linter --config myconfig.toml |
--debug |
Enable debug output | python -m cascade_linter --debug |
--verbose |
Enable verbose output | python -m cascade_linter --verbose |
| Option | Description | Example |
|---|---|---|
--json |
Output in JSON format | python -m cascade_linter --json |
--json-pretty |
Pretty-printed JSON output | python -m cascade_linter --json-pretty |
--simple-output |
Simplified text output | python -m cascade_linter --simple-output |
--save-log <file> |
Save log to file | python -m cascade_linter --save-log lint.log |
# Analyze project dependencies
python -m cascade_linter.cli_enhanced --dependency-analysis
# With detailed module breakdown
python -m cascade_linter.cli_enhanced --dependency-analysis --show-details# Export to CSV
python -m cascade_linter.cli_enhanced --dependency-analysis --export-csv deps.csv
# Export dependency graph (DOT format)
python -m cascade_linter.cli_enhanced --dependency-analysis --export-graph deps.dot
# Pretty JSON output
python -m cascade_linter.cli_enhanced --dependency-analysis --json-pretty > analysis.json# List missing docstrings
python -m cascade_linter.cli_enhanced --dependency-analysis --list-missing-docstrings
# Custom risk thresholds
python -m cascade_linter.cli_enhanced --dependency-analysis --config-thresholds config.json
# Disable MyPy analysis
python -m cascade_linter.cli_enhanced --dependency-analysis --no-mypy-analysis- π΄ CRITICAL: Modules with high impact (imported by 6+ modules)
- π HIGH: Complex modules (15+ dependencies) or high impact score
- π‘ MEDIUM: Modules with moderate complexity (3+ importers OR 8+ imports)
- π’ LOW: Standard modules with normal dependencies
The health score (0-100) is calculated based on:
- Critical modules: -20 points each
- High-risk modules: -10 points each
- Medium-risk modules: -5 points each
- MyPy errors: Additional penalty
β ENHANCED DEPENDENCY ANALYSIS REPORT
============================================================
Project: /home/user/my-project Analysis time: 0.85s
Files: 42 Import relationships: 187 Local modules: 38
Modules by risk: β 2 | β 4 | βΉ 8 | β 24
β PROJECT HEALTH SCORE: 65/100 (2 critical modules, 3 MyPy errors)
βΉ PRIORITY ACTION ITEMS:
β’ β No circular dependencies detected
β’ β 3 MyPy errors in auth_module (run with --show-errors)
β’ β 2 critical modules need refactoring (core, database)
β’ βΉ Quick Win: ~5 modules likely missing docstrings
# Quick validation before commit
python -m cascade_linter --check-only --simple-output# Full analysis for CI pipeline
python -m cascade_linter --json-pretty > lint-results.json
python -m cascade_linter.cli_enhanced --dependency-analysis --export-csv deps.csv# Comprehensive project analysis
python -m cascade_linter.cli_enhanced --dependency-analysis --show-details --export-csv health-report.csv# Focus on security issues
python -m cascade_linter --bandit-only --verbose# Generate comprehensive quality report
python -m cascade_linter --json-pretty > quality-report.json
python -m cascade_linter.cli_enhanced --dependency-analysis --export-graph deps.dot# Skip slow linters for quick checks
python -m cascade_linter --ruff-only
# Parallel processing (when available)
python -m cascade_linter --parallel
# Skip MyPy for faster analysis
python -m cascade_linter.cli_enhanced --dependency-analysis --no-mypy-analysis# Use timing information
python -m cascade_linter --timing
# Save logs for later analysis
python -m cascade_linter --save-log detailed-analysis.log[tool.cascade-linter]
check_only = false
unsafe_fixes = false
respect_gitignore = true
[tool.cascade-linter.stages]
ruff = true
flake8 = true
pylint = true
bandit = true
mypy = true
[tool.cascade-linter.thresholds]
min_imported_by_for_high_risk = 6
min_impact_score_critical = 75
max_god_module_dependencies = 15# Set default path
export CASCADE_LINTER_PATH="/path/to/default/project"
# Enable debug mode
export CASCADE_LINTER_DEBUG=1
# Set custom config
export CASCADE_LINTER_CONFIG="/path/to/config.toml"-
"Module not found" errors
# Ensure you're in the project directory cd /path/to/cascade-linter python -m cascade_linter
-
Permission errors
# Check file permissions chmod +r your-project-files -
Large project timeouts
# Use selective linting python -m cascade_linter --ruff-only --flake8-only -
Missing dependencies
# Reinstall requirements pip install -r requirements.txt
# Enable verbose debugging
python -m cascade_linter --debug --verbose
# Check configuration
python -m cascade_linter.cli_enhanced --dependency-analysis --debug- Configuration Guide: See
docs/CONFIGURATION.md - Integration Examples: See
docs/INTEGRATIONS.md - Changelog: See
CHANGELOG.md - Contributing: See
CONTRIBUTING.md
- Start Simple: Begin with
--ruff-onlyfor quick feedback - Use Dependencies: Run
--dependency-analysisfor architecture insights - Check Health: Monitor the health score to track code quality trends
- Export Data: Use CSV exports for spreadsheet analysis
- Integrate Early: Add to pre-commit hooks and CI/CD pipelines
After running analysis:
- Address Critical Issues: Fix modules marked as CRITICAL first
- Review Dependencies: Look for circular dependencies and complex modules
- Improve Health Score: Target medium-risk modules for refactoring
- Add Documentation: Use
--list-missing-docstringsto find undocumented modules - Monitor Progress: Run regularly to track improvements
Use GUI when you want:
- Visual progress tracking and real-time feedback
- Interactive analytics dashboard and metrics
- Point-and-click project management
- Export capabilities with visual previews
Use CLI when you want:
- Automation and scripting integration
- CI/CD pipeline integration
- Batch processing of multiple projects
- Lightweight operation without GUI dependencies
For developers: Both interfaces use the same core engine, so results are identical.