Skip to content

Columnar API

rerun

class TimeColumn

Bases: TimeColumnLike

A column of index (time) values.

Columnar equivalent to rerun.set_time.

def __init__(timeline, *, sequence=None, duration=None, timestamp=None)

Create a column of index values.

There is no requirement of monotonicity. You can move the time backwards if you like.

You are expected to set exactly ONE of the arguments sequence, duration, or timestamp. You may NOT change the type of a timeline, so if you use duration for a specific timeline, you must only use duration for that timeline going forward.

PARAMETER DESCRIPTION
timeline

The name of the timeline.

TYPE: str

sequence

Used for sequential indices, like frame_nr. Must be integers.

TYPE: Iterable[int] | None DEFAULT: None

duration

Used for relative times, like time_since_start. Must either be in seconds, datetime.timedelta, or numpy.timedelta64.

TYPE: Iterable[int] | Iterable[float] | Iterable[timedelta] | Iterable[timedelta64] | None DEFAULT: None

timestamp

Used for absolute time indices, like capture_time. Must either be in seconds since Unix epoch, datetime.datetime, or numpy.datetime64.

TYPE: Iterable[int] | Iterable[float] | Iterable[datetime] | Iterable[datetime64] | None DEFAULT: None

def timeline_name()

Returns the name of the timeline.

class TimeNanosColumn

Bases: TimeColumnLike

DEPRECATED: A column of time values that are represented as integer nanoseconds.

Columnar equivalent to rerun.set_time_nanos.

def __init__(timeline, times)

Create a column of integer nanoseconds time values.

PARAMETER DESCRIPTION
timeline

The name of the timeline.

TYPE: str

times

An iterable of integer nanosecond time values.

TYPE: Iterable[int]

def timeline_name()

Returns the name of the timeline.

class TimeSecondsColumn

Bases: TimeColumnLike

DEPRECATED: A column of time values that are represented as floating point seconds.

Columnar equivalent to rerun.set_time_seconds.

def __init__(timeline, times)

Create a column of floating point seconds time values.

PARAMETER DESCRIPTION
timeline

The name of the timeline.

TYPE: str

times

An iterable of floating point second time values.

TYPE: Iterable[float]

def timeline_name()

Returns the name of the timeline.

class TimeSequenceColumn

Bases: TimeColumnLike

DEPRECATED: A column of time values that are represented as an integer sequence.

Columnar equivalent to rerun.set_time_sequence.

def __init__(timeline, times)

Create a column of integer sequence time values.

PARAMETER DESCRIPTION
timeline

The name of the timeline.

TYPE: str

times

An iterable of integer time values.

TYPE: Iterable[int]

def timeline_name()

Returns the name of the timeline.

def send_columns(entity_path, indexes, columns, recording=None, strict=None)

Send columnar data to Rerun.

Unlike the regular log API, which is row-oriented, this API lets you submit the data in a columnar form. Each TimeColumnLike and ComponentColumn object represents a column of data that will be sent to Rerun. The lengths of all these columns must match, and all data that shares the same index across the different columns will act as a single logical row, equivalent to a single call to rr.log().

Note that this API ignores any stateful time set on the log stream via the rerun.set_time_* APIs. Furthermore, this will not inject the default timelines log_tick and log_time timeline columns.

PARAMETER DESCRIPTION
entity_path

Path to the entity in the space hierarchy.

See https://www.rerun.io/docs/concepts/entity-path for more on entity paths.

TYPE: str

indexes

The time values of this batch of data. Each TimeColumnLike object represents a single column of timestamps. You usually want to use rerun.TimeColumn for this.

TYPE: Iterable[TimeColumnLike]

columns

The columns of components to log. Each object represents a single column of data.

In order to send multiple components per time value, explicitly create a ComponentColumn either by constructing it directly, or by calling the .columns() method on an Archetype type.

TYPE: Iterable[ComponentColumn]

recording

Specifies the rerun.RecordingStream to use. If left unspecified, defaults to the current active data recording, if there is one. See also: rerun.init, rerun.set_global_data_recording.

TYPE: RecordingStream | None DEFAULT: None

strict

If True, raise exceptions on non-loggable data. If False, warn on non-loggable data. If None, use the global default from rerun.strict_mode()

TYPE: bool | None DEFAULT: None