nanover.recording.cli.split_cli module

Split a NanoVer recording into multiple parts.

Example when used as a cli:

# show the help
nanover-split-recording --help

# split a recording whenever the frame resets
nanover-split-recording recording.nanover.zip

# split a recording whenever the simulation counter key changes and include a custom key's value in the resulting filenames
nanover-split-recording recording.nanover.zip -s system.simulation.counter -n puppeteer.simulation-name
nanover.recording.cli.split_cli.get_value(event: RecordingEvent, key: str)
nanover.recording.cli.split_cli.main()
nanover.recording.cli.split_cli.make_key_change_predicate(key: str)
nanover.recording.cli.split_cli.make_key_name_template(key: str)
nanover.recording.cli.split_cli.name_basic(*, input_stem: str, index: int, last_event: RecordingEvent)
nanover.recording.cli.split_cli.split_on_frame_reset(event: RecordingEvent)
nanover.recording.cli.split_cli.split_on_sim_counter_change(event: RecordingEvent)
nanover.recording.cli.split_cli.split_recording(path: ~os.PathLike[str], *, split_predicate: ~typing.Callable[[~nanover.recording.reading.RecordingEvent], bool] = <function split_on_frame_reset>, name_template=<function name_basic>)
Parameters:
  • path – Path of a NanoVer recording

  • split_predicate – Predicate function that takes information about the next frame and returns True if the

recording should split at this point. :param name_template: Function that generates a filename for each recording.