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: VirtualPlanetaryLaboratory/vplot
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: VirtualPlanetaryLaboratory/vplot
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.0
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 21 files changed
  • 3 contributors

Commits on Feb 9, 2024

  1. Configuration menu
    Copy the full SHA
    cdf6f8c View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. Updated download-artifact to v4

    Rory Barnes committed Sep 3, 2024
    Configuration menu
    Copy the full SHA
    8388801 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Updated tests.yml to only publish unit tests for Ubuntu 22 and Python…

    … 3.9.
    Rory Barnes committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    648e7b6 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2025

  1. Add comprehensive test suite and code coverage

    - Expand test suite from 11 to 46 tests (92.55% coverage achieved)
    - Add test_command_line.py with 11 CLI tests
    - Add 15 new tests to test_autoplot.py
    - Add 8 new tests to test_figure.py (scatter, log axes, subplots, etc.)
    - Create vplot/__main__.py for module execution support
    - Add .coveragerc for coverage configuration matching vspace
    - Update GitHub Actions workflow with codecov integration
    - Configure Python 3.9-3.12 testing matrix
    - Add modernization plan to .claude/claude.md
    
    Coverage breakdown:
    - command_line.py: 100%
    - colors.py: 100%
    - __init__.py: 100%
    - auto_plot.py: 98.39%
    - figure.py: 90.05%
    - Total: 92.55%
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
    RoryBarnes and claude committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    d632eb8 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'download-artifact' resolving test workflow conflicts

    Resolved conflicts in .github/workflows/tests.yml:
    - Kept actions/setup-python@v5 (more standard than conda setup)
    - Kept flexible test result publishing condition (runner.os == 'Linux')
    
    No breaking changes to source code - only test expansions and coverage.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
    RoryBarnes and claude committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    5ad4322 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    56257e3 View commit details
    Browse the repository at this point in the history
  4. Update GitHub Actions workflow to match vspace testing strategy

    Changes:
    - Use ubuntu-22.04 (explicit version) instead of ubuntu-latest
    - Update to actions/checkout@v5 (from v4)
    - Add diagnostic test step before full test suite
    - Increase test timeout from 10 to 20 minutes
    - Add -s flag to pytest for subprocess output visibility
    - Update conditional checks from ubuntu-latest to ubuntu-22.04
    - Standardize step names ("Install VPLanet", "Publish test results")
    - Remove "Clone vplot repo" name (use default from vspace)
    
    Testing limited to ubuntu-22.04 and Python 3.9 until GitHub Actions is debugged.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
    RoryBarnes and claude committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    a0e2de0 View commit details
    Browse the repository at this point in the history
  5. Improve comments in test_figure.py for clarity

    Clarified that vplanet.run() will either run the simulation or load
    existing output depending on whether log files exist.
    
    Note: Tests currently fail in CI due to "(null)" units in public vplanet
    version. This is a known limitation already fixed in vplanet-private and
    will be resolved when migrating to vplanet-private.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
    RoryBarnes and claude committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    b02dc09 View commit details
    Browse the repository at this point in the history
  6. Remove diagnostic test step from CI workflow

    The diagnostic test was blocking the full test run from executing. Since
    we know tests will fail due to the vplanet "(null)" units issue (a known
    limitation in public vplanet), we should run all tests to see which ones
    pass and get full coverage data.
    
    Removing the diagnostic step allows the full test suite to run and provides
    better visibility into which tests are affected by the vplanet issue versus
    other potential problems.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
    RoryBarnes and claude committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    3bbef19 View commit details
    Browse the repository at this point in the history
  7. Modernize dependencies and testing infrastructure (Stage 1)

    Dependency Updates:
    - numpy: 1.19.2+ → 2.0.0+
    - matplotlib: 3.3.4+ → 3.9.0+
    - astropy: 4.1.0/6.0.0+ → 6.1.0+
    - pytest: 6.2.4+ → 8.0.0+
    - pytest-cov: 2.11.1+ → 4.1.0+
    - sphinx: 4.2.0 → 8.0.0+
    - setuptools_scm: unversioned → 8.0+
    
    Python Support:
    - Updated to support Python 3.9-3.14 (dropped 3.6-3.8)
    - environment.yml: python=3.8 → python>=3.9,<3.15
    
    CI/CD Improvements:
    - Expanded test matrix to Python 3.9-3.13 on ubuntu-22.04
    - Added TODO for full OS matrix (ubuntu-24.04, macos) after vplanet-private
    - Added pytest configuration to pyproject.toml
    
    Configuration:
    - pyproject.toml: Added [tool.pytest.ini_options] with minversion=8.0
    - Removed deprecated test dependencies (nose, parameterized, pytest-env, etc.)
    - Standardized version constraints across setup.py and environment.yml
    
    This is a breaking release (v2.0) with no backward compatibility for Python <3.9.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
    RoryBarnes and claude committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    921432d View commit details
    Browse the repository at this point in the history
  8. Fix pytest configuration to remove timeout dependency

    Removed --timeout=300 from pyproject.toml addopts since pytest-timeout
    plugin may not be installed in all environments. The timeout is still
    enforced in GitHub Actions via the workflow configuration.
    
    This completes Stage 1 (Dependency Updates) of the v2.0 modernization plan.
    RoryBarnes committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    dbc3d5f View commit details
    Browse the repository at this point in the history
  9. Add comprehensive documentation for v2.0 release (Stage 2)

    Created new documentation infrastructure:
    
    1. docs/quickstart.rst - Comprehensive quickstart guide covering:
       - Installation requirements and instructions
       - Command-line interface usage with examples
       - Python API usage (auto_plot, manual plotting, scatter, log axes)
       - Feature overview (automatic labeling, colors, legends)
       - Troubleshooting section
       - Migration guide from v1.x
    
    2. docs/index.rst - Updated to include quickstart in toctree
    
    3. HISTORY.rst - Complete v2.0.0 release notes documenting:
       - Breaking changes (Python 3.9+ requirement, dependency updates)
       - New features (46 tests, 92.55% coverage, enhanced CI/CD)
       - Technical improvements
       - No API changes (backward compatible API)
       - Migration guide
       - Known limitations
    
    This completes Stage 2 (Documentation Infrastructure) of the v2.0
    modernization plan.
    RoryBarnes committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    8400790 View commit details
    Browse the repository at this point in the history
  10. Convert vplot codebase to Hungarian notation (Stage 3)

    This is a breaking change implementing Hungarian notation throughout the
    codebase per VPL style guide. IMPORTANT: User-facing matplotlib parameters
    remain unchanged (xlog, ylog, max_label_length, etc.) to maintain
    matplotlib compatibility.
    
    Changes by file:
    
    1. vplot/colors.py:
       - red → sRed, orange → sOrange, pale_blue → sPaleBlue,
         dark_blue → sDarkBlue, purple → sPurple
    
    2. vplot/figure.py (374 lines - most critical):
       - _get_array_info() → ftupleGetArrayInfo()
       - _ax_observer() → fnAxObserver()
       - _add_labels() → fnAddLabels()
       - _format_axes() → fnFormatAxes()
       - figure_wrapper() → fnFigureWrapper()
       - mpl_figure → fnMplFigure
       - All internal variables converted (unit→sUnit, body→sBody, etc.)
       - Improved comments (removed "HACK" language, more explanatory)
       - VPLOTFigure parameters UNCHANGED (xlog, ylog, etc. kept as-is)
    
    3. vplot/auto_plot.py:
       - auto_plot() → flistAutoPlot()
       - Parameters: path→sPath, sysname→sSysname, group→sGroup,
         bodies→listBodies, params→listParams, show→bShow
       - All internal variables converted
       - Fixed typo: "Kewyord" → "Keyword"
       - Updated docstring to reflect new parameter names
    
    4. vplot/command_line.py:
       - _entry_point() → fnEntryPoint()
       - parser → parserArgs
       - Updated argparse destinations to match new parameter names
       - Updated to call flistAutoPlot()
    
    5. vplot/__init__.py:
       - Updated import: auto_plot → flistAutoPlot
    
    6. vplot/__main__.py:
       - Updated import: _entry_point → fnEntryPoint
    
    7. setup.py:
       - Updated entry point: _entry_point → fnEntryPoint
    
    Tests not yet updated - will fail until test conversion is complete.
    
    This completes Stage 3 (Hungarian Notation Conversion) of the v2.0
    modernization plan. Next: update tests to match new notation.
    RoryBarnes committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    3cd9190 View commit details
    Browse the repository at this point in the history
  11. Update tests to use Hungarian notation function names

    Updated all test files to use the new Hungarian notation function names:
    - auto_plot() → flistAutoPlot()
    - _entry_point() → fnEntryPoint()
    - _add_labels() → fnAddLabels()
    - _format_axes() → fnFormatAxes()
    
    Tests will not run successfully until vplanet is updated to vplanet-private
    due to known "(null)" unit handling issue in public version. This does not
    affect the correctness of the Hungarian notation conversion.
    
    This completes the test update portion of Stage 3.
    RoryBarnes committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    f053f85 View commit details
    Browse the repository at this point in the history
  12. Fix test parameter names for Hungarian notation (tests now pass!)

    Updated tests/test_autoplot.py to use Hungarian notation parameter names:
    - show → bShow
    - group → sGroup
    - bodies → listBodies
    - params → listParams
    
    Temporarily downgraded astropy requirement from 6.1.0 to 6.0.0 for Python 3.9
    compatibility (astropy 6.1.0 requires Python 3.10+).
    
    Test results after regenerating vplanet output with vplanet-private:
    - All 18 test_figure.py tests: PASS ✓
    - All 16 test_autoplot.py tests: PASS ✓
    - Total: 34/34 core tests passing locally with 88.30% coverage
    
    This confirms the Hungarian notation conversion is functionally correct.
    Command-line tests require setuptools entry point reinstallation.
    RoryBarnes committed Dec 30, 2025
    Configuration menu
    Copy the full SHA
    6bd881a View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2026

  1. Fix auto-legend using generic physical types as labels

    The legend auto-labeling fallback used unit physical_type (e.g. "angle",
    "dimensionless") when parameter descriptions were missing. This produced
    spurious legend entries on scatter plots with derived quantities. Remove
    the physical_type fallback from legend creation while preserving it for
    axis labels where it remains useful. Also fix "Dimensionless" case
    mismatch that prevented the dimensionless filter from ever matching
    astropy's lowercase "dimensionless" output.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    RoryBarnes and claude committed Feb 15, 2026
    Configuration menu
    Copy the full SHA
    24d87fb View commit details
    Browse the repository at this point in the history
  2. Skip auto-labeling on inner axes of shared-axis layouts

    When subplots share axes (e.g. sharex=True), inner axes intentionally
    have empty labels. The auto-labeling in fnAddLabels was overriding this
    by setting labels from data metadata on all axes, making hidden labels
    visible. Now checks is_last_row()/is_first_col() with shared-axis
    sibling count before auto-labeling xlabel/ylabel. Inset axes (no
    subplotspec) are unaffected.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    RoryBarnes and claude committed Feb 15, 2026
    Configuration menu
    Copy the full SHA
    41f43d0 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2026

  1. Add lowercase aliases for color constants

    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    RoryBarnes and claude committed Mar 7, 2026
    Configuration menu
    Copy the full SHA
    184b0b9 View commit details
    Browse the repository at this point in the history
Loading