nanover.recording.utilities module

class nanover.recording.utilities.FrameRecordingEvent(*, timestamp: int, message: nanover.protocol.trajectory.get_frame_pb2.GetFrameResponse, prev_frame: nanover.trajectory.frame_data.FrameData, next_frame: nanover.trajectory.frame_data.FrameData)

Bases: object

classmethod make_empty()
message: GetFrameResponse
next_frame: FrameData
prev_frame: FrameData
timestamp: int
class nanover.recording.utilities.RecordingEvent(*, timestamp: int, prev_frame_event: nanover.recording.utilities.FrameRecordingEvent, prev_state_event: nanover.recording.utilities.StateRecordingEvent, next_frame_event: nanover.recording.utilities.FrameRecordingEvent | None, next_state_event: nanover.recording.utilities.StateRecordingEvent | None)

Bases: object

property next_frame
next_frame_event: FrameRecordingEvent | None
property next_state
next_state_event: StateRecordingEvent | None
property prev_frame
prev_frame_event: FrameRecordingEvent
property prev_state
prev_state_event: StateRecordingEvent
timestamp: int
class nanover.recording.utilities.StateRecordingEvent(*, timestamp: int, message: nanover.protocol.state.state_service_pb2.StateUpdate, prev_state: dict, next_state: dict)

Bases: object

classmethod make_empty()
message: StateUpdate
next_state: dict
prev_state: dict
timestamp: int
nanover.recording.utilities.iter_frame_file_full(path: PathLike[str])

Yield an event for every message in the recording that contains the timestamp, message, and frame data before and after the message was applied.

nanover.recording.utilities.iter_recording_max(*, traj: PathLike[str] | None = None, state: PathLike[str] | None = None)

Iterate recording file(s) yielding recording events in timestamp order, with each event containing the full information of previous frame, previous state, current message, next frame, and next state.

nanover.recording.utilities.iter_state_file_full(path: PathLike[str])

Yield an event for every message in the recording that contains the timestamp, message, and state before and after the message was applied.