Skip to content

Use datapath with UDA when fetching IDS properties #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

maarten-ic
Copy link
Collaborator

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.

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.
@maarten-ic maarten-ic requested a review from DaanVanVugt April 23, 2025 08:44
Copy link
Collaborator

@DaanVanVugt DaanVanVugt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if using this argument with AL4 is there a reasonable behaviour? Or should we 'protect' our users from that by checking versions?

@maarten-ic
Copy link
Collaborator Author

if using this argument with AL4 is there a reasonable behaviour? Or should we 'protect' our users from that by checking versions?

We only supply this argument when using the UDA backend, which is not relevant to AL4 IIRC.
This is internal API and not directly called by end users.

@maarten-ic maarten-ic requested a review from olivhoenen April 24, 2025 07:08
@maarten-ic
Copy link
Collaborator Author

Actually, I think at this point it's impossible to use IMAS-Python with AL4: with AL4, there is no imas_core module, and importing the legacy imas module is impossible (since that's the module name of this module).

I'll create a ticket to remove legacy AL4 support from the code

@olivhoenen
Copy link
Collaborator

olivhoenen commented Apr 25, 2025

I agree that we do not need to have compatibility with the AL4 lowlevel API (cleaning can be done in a forthcoming PR before the next release).

@olivhoenen olivhoenen merged commit f4ebddc into iterorganization:develop Apr 25, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants