Merged
Conversation
…ng between DD 3 and 4. Fixes #31.
Select `imas_core` when the URI starts with `imas:`, otherwise use the netCDF backend. This change allows using NCZarr [1] as storage engine (when it is enabled in the netCDF4 python module) by using `file://`, `s3://` or `https://` style URIs. [1] https://docs.unidata.ucar.edu/nug/current/nczarr_head.html
Pytest runs successfully with numpy 2.x, so we should be able to remove this restriction.
We request `ids_properties/homogeneous_time` and `ids_properties/version_put/data_dictionary` in two separate calls to the backend before actually getting all data. This is fine for local backends, but UDA would fetch the data three times: 1. When determining the DD version and if the IDS exists 2. When determining whether the IDS uses homogeneous time 3. When actually reading the data This commit adds a `datapath="ids_properties"` to the first two cases. This results in UDA only fetching the IDS properties in points 1 and 2. The full IDS is now requested once by UDA, in point 3.
This reverts commit 33e6b7e.
…ert_ids call This prevents polluting the output of the CLI `imas convert` and explict `imas.convert_ids` calls with lots of repeated warnings.
Co-authored-by: Maarten Sebregts <110895564+maarten-ic@users.noreply.github.com>
The Data Dictionary definitions are now provided by the `imas-data-dictionaries` package.
Co-authored-by: Maarten Sebregts <110895564+maarten-ic@users.noreply.github.com>
To migrate deprecated fields. See #55 for more details.
- Catch when an IDS is new in 3.42.0 before attempting to migrate obsolete nodes - Fix issue with migrating obsolete structures and AoS (
…ions on put() And fix an example in the multi-DD documentation.
Implicit conversion between major versions of the DD is almost always giving incorrect results, so it's better to disallow this instead of emitting warnings (which people usually don't read). This commit changes the warnings that were previously emitted into runtime errors. The errors refer to the (updated) documentation, which provides an example that does work correctly.
- Errorbars were not cleared by `unset_coordinate()`, this is fixed now - Use imas.util.tree_iter in unset_coordinate, which is more clear than visit_children and performs slightly better - Simplify some checks in `maybe_set_random_value()`
maarten-ic
reviewed
Dec 11, 2025
Collaborator
maarten-ic
left a comment
There was a problem hiding this comment.
Some small comments. Could you please fix CI as well before tagging the release?
SimonPinches
approved these changes
Dec 11, 2025
Collaborator
Author
Indeed, tests were failing because the mdsplus backend is not available in the current |
maarten-ic
approved these changes
Dec 12, 2025
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.
For release notes, see https://github.com/iterorganization/IMAS-Python/blob/release/2.1/docs/source/changelog.rst#whats-new-in-imas-python-210