SliceSpan

class SliceSpan(start, stop, data_slices)[source]

Bases: ExecutionSpan

An ExecutionSpan for data stored in a sliceable format.

This type of execution span references pub result data by assuming that it is a sliceable portion of the (row major) flattened data. Therefore, for each pub dependent on this span, the constructor accepts a single slice object, along with the corresponding shape of the data to be sliced.

Parameters:
  • start (datetime) – The start time of the span, in UTC.

  • stop (datetime) – The stop time of the span, in UTC.

  • data_slices (dict[int, tuple[ShapeType, slice]]) – A map from pub indices to pairs (shape_tuple, slice).

Attributes

duration

The duration of this span, in seconds.

pub_idxs
size
start

The start time of the span, in UTC.

stop

The stop time of the span, in UTC.

Methods

contains_pub(pub_idx)[source]

Return whether the pub with the given index has data with dependence on this span.

Parameters:

pub_idx (int | Iterable[int]) – One or more pub indices from the original primitive call.

Returns:

Whether there is dependence on this span.

Return type:

bool

filter_by_pub(pub_idx)[source]

Return a new span whose slices are filtered to the provided pub indices.

For example, if this span contains slice information for pubs with indices 1, 3, 4 and [1, 4] is provided, then the span returned by this method will contain slice information for only those two indices, but be identical otherwise.

Parameters:

pub_idx (int | Iterable[int]) – One or more pub indices from the original primitive call.

Returns:

A new filtered span.

Return type:

SliceSpan

mask(pub_idx)[source]

Return an array-valued mask specifying which parts of a pub result depend on this span.

Parameters:

pub_idx (int) – The index of the pub to return a mask for.

Returns:

An array with the same shape as the pub data.

Raises:

KeyError – if the pub is not included in the span

Return type:

ndarray[Any, dtype[bool]]