imas.backends.imas_core.imas_interface.LowlevelInterface¶
- class imas.backends.imas_core.imas_interface.LowlevelInterface(lowlevel)¶
Bases:
objectCompatibility object.
Provides a stable API for the rest of IMAS-Python even when the imas.lowlevel interface changes.
Developer notes
When initializing the singleton object, we determine the AL version and redefine all methods that exist in the imported lowlevel module.
If the lowlevel introduces new methods, we need to:
Add a new method with the same name but prefix dropped (e.g. register_plugin for lowlevel.al_register_plugin)
The implementation of this method should provide a proper error message when the method is called and the underlying lowlevel doesn’t provide the functionality. For instance
raise self._minimal_version("5.0").
If the lowlevel drops methods, we need to update the implementation fo the method to provide a proper error message or a workaround.
- __init__(lowlevel)¶
Methods
__init__(lowlevel)begin_arraystruct_action(ctx, path, ...)Wrapper function for AL lowlevel method
begin_arraystruct_actionbegin_dataentry_action(uri, mode)Wrapper function for AL lowlevel method
begin_dataentry_actionbegin_global_action(pulseCtx, ...)Wrapper function for AL lowlevel method
begin_global_actionbegin_slice_action(pulseCtx, dataobjectname, ...)Wrapper function for AL lowlevel method
begin_slice_actionbegin_timerange_action(ctx, path, rwmode, ...)Wrapper function for AL lowlevel method
begin_timerange_actionbind_plugin(path, name)Wrapper function for AL lowlevel method
bind_pluginWrapper function for AL lowlevel method
bind_readback_pluginsbuild_uri_from_legacy_parameters(backendID, ...)Wrapper function for AL lowlevel method
build_uri_from_legacy_parametersclose_pulse(pulseCtx, mode)Wrapper function for AL lowlevel method
close_pulsedelete_data(ctx, path)Wrapper function for AL lowlevel method
delete_dataend_action(ctx)Wrapper function for AL lowlevel method
end_actionWrapper function for AL lowlevel method
get_al_versionget_occurrences(ctx, ids_name)Wrapper function for AL lowlevel method
get_occurrencesiterate_over_arraystruct(aosctx, step)Wrapper function for AL lowlevel method
iterate_over_arraystructread_data(ctx, fieldPath, pyTimebasePath, ...)Wrapper function for AL lowlevel method
read_dataregister_plugin(name)Wrapper function for AL lowlevel method
register_pluginsetvalue_parameter_plugin(parameter_name, ...)Wrapper function for AL lowlevel method
setvalue_parameter_pluginunbind_plugin(path, name)Wrapper function for AL lowlevel method
unbind_pluginWrapper function for AL lowlevel method
unbind_readback_pluginsunregister_plugin(name)Wrapper function for AL lowlevel method
unregister_pluginwrite_data(ctx, pyFieldPath, pyTimebasePath, ...)Wrapper function for AL lowlevel method
write_dataWrapper function for AL lowlevel method
write_plugins_metadata- begin_arraystruct_action(ctx, path, pyTimebase, size)¶
Wrapper function for AL lowlevel method
begin_arraystruct_action
- begin_dataentry_action(uri, mode)¶
Wrapper function for AL lowlevel method
begin_dataentry_action
- begin_global_action(pulseCtx, dataobjectname, rwmode, datapath)¶
Wrapper function for AL lowlevel method
begin_global_action
- begin_slice_action(pulseCtx, dataobjectname, rwmode, time, interpmode)¶
Wrapper function for AL lowlevel method
begin_slice_action
- begin_timerange_action(ctx, path, rwmode, tmin, tmax, dtime, interpolation_method)¶
Wrapper function for AL lowlevel method
begin_timerange_action
- bind_plugin(path, name)¶
Wrapper function for AL lowlevel method
bind_plugin
- bind_readback_plugins(ctx)¶
Wrapper function for AL lowlevel method
bind_readback_plugins
- build_uri_from_legacy_parameters(backendID, pulse, run, user, tokamak, version, options)¶
Wrapper function for AL lowlevel method
build_uri_from_legacy_parameters
- close_pulse(pulseCtx, mode)¶
Wrapper function for AL lowlevel method
close_pulse
- delete_data(ctx, path)¶
Wrapper function for AL lowlevel method
delete_data
- end_action(ctx)¶
Wrapper function for AL lowlevel method
end_action
- get_al_version()¶
Wrapper function for AL lowlevel method
get_al_version
- get_occurrences(ctx, ids_name)¶
Wrapper function for AL lowlevel method
get_occurrences
- iterate_over_arraystruct(aosctx, step)¶
Wrapper function for AL lowlevel method
iterate_over_arraystruct
- read_data(ctx, fieldPath, pyTimebasePath, ualDataType, dim)¶
Wrapper function for AL lowlevel method
read_data
- register_plugin(name)¶
Wrapper function for AL lowlevel method
register_plugin
- setvalue_parameter_plugin(parameter_name, inputData, pluginName)¶
Wrapper function for AL lowlevel method
setvalue_parameter_plugin
- unbind_plugin(path, name)¶
Wrapper function for AL lowlevel method
unbind_plugin
- unbind_readback_plugins(ctx)¶
Wrapper function for AL lowlevel method
unbind_readback_plugins
- unregister_plugin(name)¶
Wrapper function for AL lowlevel method
unregister_plugin
- write_data(ctx, pyFieldPath, pyTimebasePath, inputData)¶
Wrapper function for AL lowlevel method
write_data
- write_plugins_metadata(ctx)¶
Wrapper function for AL lowlevel method
write_plugins_metadata