Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NoahZhao/pythonplot.com
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: tdhopper/pythonplot.com
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 19 commits
  • 16 files changed
  • 4 contributors

Commits on Sep 17, 2020

  1. Configuration menu
    Copy the full SHA
    a336a48 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f618b14 View commit details
    Browse the repository at this point in the history
  3. Merge pull request tdhopper#20 from nicolaskruchten/px

    switch from graph_objects to px
    tdhopper authored Sep 17, 2020
    Configuration menu
    Copy the full SHA
    f5fcc4b View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. fix url

    tdhopper authored Oct 15, 2020
    Configuration menu
    Copy the full SHA
    1a0be7e View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2021

  1. try to update node

    tdhopper authored Apr 2, 2021
    Configuration menu
    Copy the full SHA
    91aff31 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2025

  1. Modernize Python dependencies to 2025 standards

    - Update Python 3.6 → 3.11 in runtime.txt
    - Create pyproject.toml with modern project metadata
    - Update all plotting libraries to latest versions:
      - plotly 4.10 → 5.24+ (no authentication needed)
      - plotnine → 0.13+ (better ggplot2 compatibility)
      - altair → 5.0+ (major version bump)
      - statsmodels 0.11 → 0.14+ (security fixes)
      - seaborn, pandas, matplotlib to latest
    - Remove deprecated packages:
      - altair-saver (use native rendering)
      - chart-studio (not needed with plotly v5)
      - duplicate selenium entry
    - Update rpy2 to 3.5+ for Python 3.11 compatibility
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    c69894b View commit details
    Browse the repository at this point in the history
  2. Add R package setup script for separate R installation

    Create setup_r.sh to install required R packages (ggplot2, mgcv)
    without requiring conda. Works with system R installations via
    Homebrew, apt, or CRAN.
    
    This allows using uv for Python dependencies while maintaining
    R integration through rpy2 with a separate R installation.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    0f330d3 View commit details
    Browse the repository at this point in the history
  3. Migrate build system from conda to uv

    - Add 'setup' target to install dependencies with uv
    - Update 'dev_environment' to use new setup process
    - Remove 'plotly_auth' target (no longer needed with plotly v5)
    - Update .PHONY declarations
    - Add informative messages about conda → uv migration
    
    Core build targets (render, qrender, test) remain unchanged.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    bf5b5f4 View commit details
    Browse the repository at this point in the history
  4. Migrate CI/CD from Travis CI to GitHub Actions

    Add .github/workflows/deploy.yml with:
    - R 4.3 setup via r-lib/actions
    - Python 3.11 setup
    - uv for dependency installation
    - Firefox/geckodriver for selenium
    - xvfb for headless rendering
    - pytest test execution
    - Netlify deployment:
      - Production: master branch
      - Preview: other branches
    
    Required GitHub secrets:
    - NETLIFY_AUTH_TOKEN
    - NETLIFY_SITE_ID
    
    This modernizes CI from deprecated Travis CI to GitHub Actions
    with improved caching and faster builds.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    edb7a82 View commit details
    Browse the repository at this point in the history
  5. Deprecate plotly authentication script

    Mark .travis/authenticate_plotly.py as deprecated with explanation.
    
    With plotly v5+, credentials are not required for local rendering.
    Plotly authentication is only needed for uploading to Chart Studio.
    This project renders plots locally to PNG using Kaleido, so no
    authentication is necessary.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    291f9f4 View commit details
    Browse the repository at this point in the history
  6. Update documentation for modernized infrastructure

    README.md:
    - Add modern development setup instructions with uv
    - Document system R installation requirements
    - Add build commands and CI/CD information
    - Clarify plotly no longer needs authentication
    
    CLAUDE.md:
    - Update all dependency versions and requirements
    - Document new uv-based setup process
    - Add comprehensive CI/CD section
    - Update technical constraints and configuration files
    - Add GitHub Actions workflow documentation
    
    Both files now reflect Python 3.11+, uv package manager,
    and GitHub Actions deployment to Netlify.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    2497c2a View commit details
    Browse the repository at this point in the history
  7. Add migration and testing documentation

    MIGRATION_NOTES.md:
    - Comprehensive overview of all changes made
    - Detailed dependency update table
    - Next steps and setup instructions
    - Potential issues and rollback plan
    - Success criteria checklist
    
    TESTING_CHECKLIST.md:
    - Environment setup verification steps
    - Build testing procedures
    - Known migration issues to watch for
    - CI/CD testing guide
    - Performance check recommendations
    
    These documents provide guidance for the first build with
    modernized dependencies and help identify compatibility issues.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    b7198f3 View commit details
    Browse the repository at this point in the history
  8. Fix default make target for Netlify deployment

    Change default 'all' target from 'render s3_upload' to just 'render'
    since deployment is now handled by Netlify via GitHub Actions.
    
    - 'make' or 'make all' now just builds the site
    - 'make deploy' added for manual S3 upload if needed
    - S3 upload is legacy, kept for backward compatibility
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    35f7c98 View commit details
    Browse the repository at this point in the history
  9. Add automatic dependency setup to Makefile

    Use Make's dependency system to automatically install dependencies
    before building. This follows standard Make patterns:
    
    - Create .setup_done sentinel file after successful setup
    - Make render and run_nb depend on .setup_done
    - Running 'make' will now automatically run setup if needed
    - Setup only runs once (or after 'make clean')
    - Add .setup_done to .gitignore
    
    Now users can just run 'make' and everything works.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    27b8428 View commit details
    Browse the repository at this point in the history
  10. Switch to uv sync for proper dependency management

    Replace `uv pip install -r requirements.txt` with `uv sync` to use
    modern uv workflow with pyproject.toml:
    
    - Use `uv sync` to create venv and install dependencies
    - Use `uv run` prefix for all Python/Jupyter commands
    - Remove build-system from pyproject.toml (not a package)
    - Fix deprecation warning (tool.uv.dev-dependencies → dependency-groups)
    - Add .venv/ and uv.lock to .gitignore
    
    Benefits:
    - Avoids "externally managed" Python installation errors
    - Uses proper virtual environment isolation
    - Follows modern uv best practices
    - Automatic venv creation and management
    
    Tested: `make` now successfully creates venv and installs all Python
    dependencies. Only requires system R to be installed separately.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    9d523fd View commit details
    Browse the repository at this point in the history
  11. Fix seaborn API compatibility for 0.13+

    Replace deprecated 'size' parameter with 'height' in seaborn calls:
    - sns.lmplot(..., size=12) → height=12
    - FacetGrid(..., size=10) → height=10
    
    The 'size' parameter was renamed to 'height' in seaborn 0.11+
    and removed entirely in 0.13+.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    a55cc38 View commit details
    Browse the repository at this point in the history
  12. Fix all seaborn and Altair compatibility issues

    Seaborn fixes (0.13+ compatibility):
    - Fix remaining FacetGrid size -> height parameters (3 instances)
    - Update all .pipe(sns.FacetGrid, size=X) calls
    
    Altair fixes (5.0+ compatibility):
    - Add vl-convert-python dependency for PNG export
    - Update Altair renderer configuration to use 'png' mode with vl-convert
    - Remove deprecated selenium-based PNG rendering
    
    These changes ensure all plotting libraries work with their 2025 versions.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    7f31ca9 View commit details
    Browse the repository at this point in the history
  13. Add Chrome installation for Kaleido v1 support

    Kaleido v1+ requires Chrome for image rendering. Add automatic
    Chrome installation to setup process:
    
    - Update Makefile to run kaleido_get_chrome after uv sync
    - Update GitHub Actions workflow to install Chrome
    - Update pyproject.toml to note Kaleido v1+ requirement
    - Update requirements.txt
    
    This ensures Plotly static image export works with Kaleido v1.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <[email protected]>
    tdhopper and claude committed Nov 4, 2025
    Configuration menu
    Copy the full SHA
    e7639cc View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    900bf71 View commit details
    Browse the repository at this point in the history
Loading