imas.backends.imas_core.imas_interface.LowlevelInterface

class imas.backends.imas_core.imas_interface.LowlevelInterface(lowlevel)

Bases: object

Compatibility 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_action

begin_dataentry_action(uri, mode)

Wrapper function for AL lowlevel method begin_dataentry_action

begin_global_action(pulseCtx, ...)

Wrapper function for AL lowlevel method begin_global_action

begin_slice_action(pulseCtx, dataobjectname, ...)

Wrapper function for AL lowlevel method begin_slice_action

begin_timerange_action(ctx, path, rwmode, ...)

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, ...)

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, ...)

Wrapper function for AL lowlevel method read_data

register_plugin(name)

Wrapper function for AL lowlevel method register_plugin

setvalue_parameter_plugin(parameter_name, ...)

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, ...)

Wrapper function for AL lowlevel method write_data

write_plugins_metadata(ctx)

Wrapper 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


Last update: 2026-01-28