hyperstream.utils package

Submodules

hyperstream.utils.decorators module

hyperstream.utils.decorators.check_input_stream_count(expected_number_of_streams)[source]

Decorator for Tool._execute that checks the number of input streams

Parameters:expected_number_of_streams – The expected number of streams
Returns:the decorator
hyperstream.utils.decorators.check_output_format(expected_formats)[source]

Decorator for stream outputs that checks the format of the outputs after modifiers have been applied :param expected_formats: The expected output formats :type expected_formats: tuple, set :return: the decorator

hyperstream.utils.decorators.check_tool_defined(func)[source]

Decorator to check whether a tool stream has been defined before execution :return: the decorator

hyperstream.utils.decorators.timeit(f)[source]

hyperstream.utils.errors module

exception hyperstream.utils.errors.ChannelAlreadyExistsError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.ChannelNotFoundError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.ConfigurationError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.FactorAlreadyExistsError[source]

Bases: exceptions.Exception

message = 'Cannot have duplicate factors - a new factor object should be created'
exception hyperstream.utils.errors.FactorDefinitionError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.IncompatiblePlatesError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.IncompatibleToolError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.LinkageError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.MultipleStreamsFoundError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.NodeAlreadyExistsError[source]

Bases: exceptions.Exception

message = 'Cannot have duplicate nodes'
exception hyperstream.utils.errors.NodeDefinitionError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.PlateDefinitionError[source]

Bases: exceptions.Exception

message = 'Empty values in plate definition and complement=False'
exception hyperstream.utils.errors.PlateEmptyError(plate_id)[source]

Bases: exceptions.Exception

message = 'Plate values for {} empty'
exception hyperstream.utils.errors.PlateNotFoundError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.StreamAlreadyExistsError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.StreamDataNotAvailableError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.StreamNotAvailableError(up_to_timestamp)[source]

Bases: exceptions.Exception

message = 'The stream is not available after {} and cannot be calculated'
exception hyperstream.utils.errors.StreamNotFoundError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.ToolExecutionError(required_intervals)[source]

Bases: exceptions.Exception

message = 'Tool execution did not cover the time interval {}.'
exception hyperstream.utils.errors.ToolInitialisationError[source]

Bases: exceptions.Exception

exception hyperstream.utils.errors.ToolNotFoundError[source]

Bases: exceptions.Exception

hyperstream.utils.errors.handle_exception(exc_type, exc_value, exc_traceback)[source]

hyperstream.utils.serialization module

hyperstream.utils.serialization.func_dump(func)[source]

Serialize user defined function. :param func: The function :return: Tuple of code, defaults and closure

hyperstream.utils.serialization.func_load(code, defaults=None, closure=None, globs=None)[source]

Reload a function :param code: The code object :param defaults: Default values :param closure: The closure :param globs: globals :return:

hyperstream.utils.serialization.func_reconstruct_closure(values)[source]

Deserialization helper that reconstructs a closure :param values: The closure values :return: The closure

hyperstream.utils.time_utils module

hyperstream.utils.time_utils.construct_experiment_id(time_interval)[source]

Construct an experiment id from a time interval :return: The experiment id :type time_interval: TimeInterval :rtype: str

hyperstream.utils.time_utils.datetime2unix(dt)[source]
hyperstream.utils.time_utils.duration2str(x)[source]
hyperstream.utils.time_utils.get_timedelta(value)[source]
hyperstream.utils.time_utils.is_naive(dt)[source]
hyperstream.utils.time_utils.json_serial(obj)[source]

JSON serializer for objects not serializable by default json code

hyperstream.utils.time_utils.reconstruct_interval(experiment_id)[source]

Reverse the construct_experiment_id operation :param experiment_id: The experiment id :return: time interval

hyperstream.utils.time_utils.remove_microseconds(ts)[source]
hyperstream.utils.time_utils.unix2datetime(u)[source]
hyperstream.utils.time_utils.utcnow()[source]

Gets the current datetime in UTC format with millisecond precision :return:

hyperstream.utils.utils module

Module contents