🎉 Enhance public APIs and add new features#31
Merged
Conversation
…nd utility functions
…perture positions, and add line of sight calculations.
…proved readability Cache the matplotlib's triangulation for the first creation
…ute setting in conf.py
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #31 +/- ##
==========================================
- Coverage 63.90% 62.89% -1.01%
==========================================
Files 46 48 +2
Lines 2820 3043 +223
Branches 468 491 +23
==========================================
+ Hits 1802 1914 +112
- Misses 813 923 +110
- Partials 205 206 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request expands CHERAB-IMAS public APIs and adds new grid/observer utilities, with accompanying documentation/config updates and new tests to validate bolometer line-of-sight (LOS) handling.
Changes:
- Expose additional public entry points (e.g.,
wall.load2d/load3d, bolometer LOS helpers) and add LOS extraction/interpolation utilities. - Introduce
UnstructGrid3Dand refine GGD mesh APIs (type hints, subset selection helpers, plotting style controls, label formatting). - Update built-in bolometer dataset cylindrical-coordinate handling + LOS fields, and update docs/CSS plus a new
.nblinkenvironment definition.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/observer/test_bolometer.py | Adds tests for LOS extraction and interpolated LOS spacing. |
| src/cherab/imas/ids/wall/init.py | Exposes load2d/load3d modules as public API. |
| src/cherab/imas/ids/bolometer/_los.py | Adds LOS extraction and interpolation utilities for bolometer IDS. |
| src/cherab/imas/ids/bolometer/init.py | Exposes get_los() / get_los_interp() as public API. |
| src/cherab/imas/ggd/unstruct_3d_mesh.py | Adds new UnstructGrid3D implementation. |
| src/cherab/imas/ggd/unstruct_2d_mesh.py | Tightens typing around cell indices and subset selection; improves plotting styles/labels. |
| src/cherab/imas/ggd/unstruct_2d_extend_mesh.py | Adds typing/helpers, plotting improvements, and changes subset behavior for extended grids. |
| src/cherab/imas/ggd/base_mesh.py | Introduces CellSelection + as_index_array() and updates abstract method signatures. |
| src/cherab/imas/ggd/init.py | Exposes base_mesh and newly added UnstructGrid3D. |
| src/cherab/imas/datasets/_builtin.py | Updates bolometer mock data to use cylindrical helpers and populate LOS fields. |
| pyproject.toml | Removes license-files entry. |
| docs/source/conf.py | Refactors repo/link settings, adjusts Sphinx theme options, and updates nbsphinx_prolog templating. |
| docs/source/_static/custom.css | Adds MathJax display/overflow styling (and commented dark-theme tweaks). |
| .nblink/environment.yml | Adds a conda environment definition for notebook linking/build workflows. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
… fixes, and removals
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Key changes include:
Reveal
load2dandload3dmodules as public APIs.Enhance
base_meshandunstruct_2d_extend_meshwith type hints and utility functions.Add line of sight handling functions and update
_bolo_datafor cylindrical coordinates.Introduce
UnstructGrid3Dclass and improve plotting styles inGGDGridandUnstructGrid2D.Update CSS MathJax configuration for Myst-parser daller representation
Remove unnecessary license-files entry from
pyproject.toml.Add environment configuration for
cherab-imas-nblink.Include test scripts for line of sight handling.
Update axis labels in
UnstructGrid2Dfor better readability.