Skip to content

Release v0.15#531

Draft
gtrevisan wants to merge 22 commits into
mainfrom
dev
Draft

Release v0.15#531
gtrevisan wants to merge 22 commits into
mainfrom
dev

Conversation

@gtrevisan gtrevisan added the release New project releases label Mar 20, 2026
gtrevisan and others added 21 commits March 31, 2026 13:18
* add go target to makefile for quick debug run

* do not pass data from cli to avoid mistaken return code

* return 0 if data or 1 if empty

* fixup! return 0 if data or 1 if empty

* fix direct python execution, too

* explicit error code for None output
* update JOSS paper details and DOI

* set JOSS paper as preferred citation

* add bibtex links

from: doi.org/([^\)]*)\)$

to: doi.org/), [BibTeX](https://doi2bib.org/bib/)

* fix indentation for mkdocs

* readd abstract and links to cff

* add SPARC RPP

* readd license to cff

* fixup! readd abstract and links to cff
* unpin to allow numpy 2

* lock deps

* replace numpy trapz, now trapezoid, with scipy trapezoid

* avoid MDSplus fallback for numpy errors

* fixup! avoid MDSplus fallback for numpy errors

* double getattr for resilience
#523)

* Add DataConnection and ProcessConnection ABCs

  Introduce abstract base classes for the backend abstraction layer.
  DataConnection defines the per-shot data access interface (get_data,
  get_data_with_dims, get_dims, cleanup). ProcessConnection defines
  the per-process factory interface (get_shot_connection, from_config).

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* Adapt MDSConnection to implement DataConnection ABC

  ProcessMDSConnection now inherits from ProcessConnection.
  MDSConnection now inherits from DataConnection. shot_id is a
  property, get_data/get_data_with_dims/get_dims accept group as
  alias for tree_name, and get_dims returns tuple instead of list.

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* Split XarrayConnection into process-level and per-shot classes

  ProcessXarrayConnection(ProcessConnection) holds config and creates
  per-shot XarrayDataConnection(DataConnection) instances, replacing
  the old pattern where get_shot_connection() returned self.

  Adds get_data_with_dims() and get_dims() to the Xarray backend.
  cleanup() now closes the DataTree. Backward compat alias preserved.

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* Update consumers to use DataConnection and ProcessConnection ABCs

  Migrates all type annotations, imports, and call sites from concrete
  MDSConnection/XarrayConnection to the ABCs introduced in commits 1-3.
  MAST physics methods now use the per-shot DataConnection interface
  (dropping shot_id from call signatures), and get_mdsplus_class() is
  renamed to get_process_connection() with a deprecated alias.

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* add shebangs

* Address PR #523 review feedback

  - Drop deprecated aliases (XarrayConnection, get_mdsplus_class)
  - Restore machine-specific type hints (MDSConnection for EAST, XarrayDataConnection for MAST)
  - Fix ProcessXarrayConnection.__init__ to initialize attrs before early return
  - Update XarrayDataConnection.get_data return type annotation to match actual behavior
  - Update examples/mdsplus.py to use get_process_connection

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

---------

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>
Co-authored-by: Gregorio L. Trevisan <gtrevisan@users.noreply.github.com>
…nd-agnostic DataConnection (#534)

* Rename mds_conn to data_conn to reflect backend-agnostic DataConnection ABC

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* Add docs page for DataConnection/ProcessConnection ABCs

Fixes unresolved mkdocs cross-reference to DataConnection introduced
in the data_conn rename. The base module had no mkdocstrings block,
so autorefs couldn't resolve the link.

* really minor whitespace changes

* minor docstring and comment changes

* minor rename of process variables

---------

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>
Co-authored-by: gtrevisan <gtrevisan@users.noreply.github.com>
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@v4...v5)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix DummyDatabase.query

* add draft of DIII-D rundb pre-fetcher

* lower logging to debug

* slightly improve readability of df to dict transform

* Revert "fix DummyDatabase.query"

This reverts commit 09165c8.

* write to unique dir, cache to parent
* Update workflow figure

* Update workflow
* add shellcheck-py as dep

* lock deps

* make shellcheck part of the matrix
* add disruption-errors script

* add known errors to ignore file

* fixup! add disruption-errors script

* minor tweaks

* bugfix log parsing

* add a list of actual errors, plus a list of shots

* sort unique for possibly repeated shots
* do not double-cache physics methods

* fixup! do not double-cache physics methods

* cache repeated EAST and CMOD private helpers

Agent-Logs-Url: https://github.com/MIT-PSFC/disruption-py/sessions/05bf619e-f74f-409a-a65a-656f6b52fff3

Co-authored-by: gtrevisan <20228269+gtrevisan@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gtrevisan <20228269+gtrevisan@users.noreply.github.com>
* Fix VERBOSE level not registered in multiprocessing workers

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* Install configured log handlers in spawned workers

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

* Consolidate logger state at module level for spawn/forkserver workers

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>

---------

Signed-off-by: Sameer Chaturvedi <sameerc@mit.edu>
Co-authored-by: Gregorio L. Trevisan <gtrevisan@users.noreply.github.com>
* Check for shotno to determine railed_indices

* Add PR #547 to references

* Centralize the epsoff check in get_ip_parameters and get_rt_ip_parameters to a new get_power_supply_railed physics method

* Update docstring of get_power_supply_railed

* fix get_power_supply_railed calls in get_ip_parameters and get_rt_ip_parameters

* Remove power_supply_railed references in ip & rt_ip methods docstrings & comments

* Minor changes recommended by copilot

* Fix power_supply_railed source in get_time_domain

* Use framework to catch mds error in get_power_supply_railed

* Minor update to docstring to clarify the starting point where the logic was switched

---------

Co-authored-by: Gregorio L. Trevisan <gtrevisan@users.noreply.github.com>
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](actions/upload-pages-artifact@v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add Wietfeldt ITPEA MDC 2026 talk

* Added Zander and Alex S contributions
* offer data getters from params itself

* remove params.data_conn shortcuts

* call data getters from params

* relint all files

* offer data getters from TimeSettingParams, too

* revert changes to get_tree_name_of_nickname calls

* use base class type hints for params getters

* fixup! use base class type hints for params getters

* shorten docstrings for params getters

---------

Co-authored-by: Sameer Chaturvedi <sameerc@mit.edu>
* revamp custom errors

* downgrade to warning all custom errors

* apply some custom errors

* convert KeyError to FetchDataError in xr

* introduce required arg for data getters

* convert KeyError to FetchDataError in get_data_with_dims, too

* apply other custom errors

* more explicit MismatchCalculationError from MastUtilMethods

* remove checks as get_data would raise if needed

---------

Co-authored-by: Sameer Chaturvedi <sameerc@mit.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release New project releases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants