This directory contains Python scripts for data processing, analysis, and figure generation.
scripts/
├── analysis/ # Data collection and processing scripts
│ ├── collect_dependency_data.py # Fetch PyPI/conda-forge metadata
│ ├── process_dependency_data.py # Clean and aggregate dependency data
│ └── ...
└── plotting/ # Figure generation scripts (12 scripts)
├── generate_architecture_diagram.py # 12 Terraform-based diagrams
├── generate_sleap_dependency_graph.py # SLEAP dependency network
├── generate_qr_codes.py # QR codes for demos
├── plot_software_complexity.py # Dependency growth over time
├── plot_gpu_cost_trends.py # GPU pricing trends
├── plot_gpu_reliance.py # GPU dependency scoring
├── plot_deployment_impact.py # Workshop timeline
├── plot_os_distribution.py # OS analysis
├── plot_configuration_hierarchy.py # LabLink config visualization
├── plot_configuration_hierarchy_simple.py # Simplified config diagram
├── gpu_cost_analysis.py # LabLink session cost breakdown
└── plot_lablink_maintainability.py # LabLink code maintainability metrics
Purpose: Collect and process raw data for analysis figures.
Data collection and processing with caching, API rate limiting, and validation.
Example workflow:
cd scripts/analysis
uv run python collect_dependency_data.py --github-token YOUR_TOKEN
uv run python process_dependency_data.py
# Output: data/processed/dependency_data.csvPurpose: Generate publication-quality figures with consistent styling.
All scripts support:
--preset {paper|poster|presentation}- Font size presets--format {png|pdf|svg|both|all}- Output formats--output-dir- Output location--verbose- Debug logging
Example:
cd scripts/plotting
uv run python plot_gpu_cost_trends.py --preset poster --format pdf--preset paper # 14pt fonts (default)
--preset poster # 20pt fonts (large format)
--preset presentation # 16pt fonts (slides)--format png # 300 DPI raster (default)
--format pdf # Vector for LaTeX
--format both # PNG + PDF
--format all # PNG + PDF + SVGexport LABLINK_TERRAFORM_DIR=../lablink-template/lablink-infrastructure
export SLEAP_PATH=../sleap
export GITHUB_TOKEN=ghp_your_token- generate_architecture_diagram.py - 12 Terraform-based infrastructure diagrams
- generate_sleap_dependency_graph.py - SLEAP dependency network
- generate_qr_codes.py - QR codes for demos
- plot_software_complexity.py - Dependency growth (2000-2025)
- plot_gpu_cost_trends.py - GPU pricing trends (2006-2025)
- plot_deployment_impact.py - Workshop timeline
- plot_os_distribution.py - OS analysis
- plot_gpu_reliance.py - GPU dependency scoring
- plot_configuration_hierarchy.py - Config visualization (detailed)
- plot_configuration_hierarchy_simple.py - Config visualization (simple)
- gpu_cost_analysis.py - LabLink infrastructure cost breakdown for a tutorial session (table, vertical stacked bar, horizontal stacked bar). Supports
--preset {paper,poster,presentation},--format {png,pdf,both},--vms,--hours, and writes a metadata sidecar. - plot_lablink_maintainability.py - Per-package cyclomatic complexity, LOC, and maintainability index (via
radon) for LabLink. Writes PNG + PDF plus a metadata sidecar.
See Figure Documentation for detailed usage of each script.
- Architecture Diagrams - 12 infrastructure diagrams
- Analysis Figures - 8+ analysis figures
- Data Directory - Data sources
- Development Guide - Contributing