-
Notifications
You must be signed in to change notification settings - Fork 4
Comparing changes
Open a pull request
base repository: VirtualPlanetaryLaboratory/vplot
base: main
head repository: VirtualPlanetaryLaboratory/vplot
compare: v2.0
- 18 commits
- 21 files changed
- 3 contributors
Commits on Feb 9, 2024
-
Removed title() from reference's to astropy's physical type.
Rory Barnes committedFeb 9, 2024 Configuration menu - View commit details
-
Copy full SHA for cdf6f8c - Browse repository at this point
Copy the full SHA cdf6f8cView commit details
Commits on Sep 3, 2024
-
Updated download-artifact to v4
Rory Barnes committedSep 3, 2024 Configuration menu - View commit details
-
Copy full SHA for 8388801 - Browse repository at this point
Copy the full SHA 8388801View commit details
Commits on Sep 5, 2024
-
Updated tests.yml to only publish unit tests for Ubuntu 22 and Python…
… 3.9.
Rory Barnes committedSep 5, 2024 Configuration menu - View commit details
-
Copy full SHA for 648e7b6 - Browse repository at this point
Copy the full SHA 648e7b6View commit details
Commits on Dec 30, 2025
-
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]>
Configuration menu - View commit details
-
Copy full SHA for d632eb8 - Browse repository at this point
Copy the full SHA d632eb8View commit details -
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]>
Configuration menu - View commit details
-
Copy full SHA for 5ad4322 - Browse repository at this point
Copy the full SHA 5ad4322View commit details -
Reduced testing strategy to just ubuntu-22.04 and python 3.9 to debug…
… GitHub Actions.
Configuration menu - View commit details
-
Copy full SHA for 56257e3 - Browse repository at this point
Copy the full SHA 56257e3View commit details -
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]>Configuration menu - View commit details
-
Copy full SHA for a0e2de0 - Browse repository at this point
Copy the full SHA a0e2de0View commit details -
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]>
Configuration menu - View commit details
-
Copy full SHA for b02dc09 - Browse repository at this point
Copy the full SHA b02dc09View commit details -
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]>
Configuration menu - View commit details
-
Copy full SHA for 3bbef19 - Browse repository at this point
Copy the full SHA 3bbef19View commit details -
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]>
Configuration menu - View commit details
-
Copy full SHA for 921432d - Browse repository at this point
Copy the full SHA 921432dView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for dbc3d5f - Browse repository at this point
Copy the full SHA dbc3d5fView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 8400790 - Browse repository at this point
Copy the full SHA 8400790View commit details -
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.Configuration menu - View commit details
-
Copy full SHA for 3cd9190 - Browse repository at this point
Copy the full SHA 3cd9190View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for f053f85 - Browse repository at this point
Copy the full SHA f053f85View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 6bd881a - Browse repository at this point
Copy the full SHA 6bd881aView commit details
Commits on Feb 15, 2026
-
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]>
Configuration menu - View commit details
-
Copy full SHA for 24d87fb - Browse repository at this point
Copy the full SHA 24d87fbView commit details -
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]>
Configuration menu - View commit details
-
Copy full SHA for 41f43d0 - Browse repository at this point
Copy the full SHA 41f43d0View commit details
Commits on Mar 7, 2026
-
Add lowercase aliases for color constants
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 184b0b9 - Browse repository at this point
Copy the full SHA 184b0b9View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...v2.0