Row View¶
Tables are tabular: they consist of rows, where each row is a dictionary mapping column names to values. The row view is the foundational representation of data in 3LC — it is what gets stored on disk and what the Dashboard displays. A row represents a sample or a metric value, but under the hood storage is column-centric (Parquet), allowing operations like filtering, aggregation, and column selection to be performed efficiently.
What Is a Row?¶
A row is a flat dictionary of serializable primitives. Values are integers, floats, strings, structs, or lists thereof. What a value looks like in a row depends on the column’s storage pattern:
Inline columns store the data directly — scalars, dicts, or nested lists.
External columns store a URL string pointing to an individual resource (file, S3 object, etc.).
Chunked columns store URL references to system-managed binary files where multiple values are packed together for efficiency (the system resolves these transparently). This is primarily used for large data such as point clouds that are not suitable for inline storage.
For example, a row in an image classification table with an inline label and a file-stored image:
{
"image": "../../bulk_data/samples/table/image/0000000.png",
"label": 2,
"weight": 1.0,
}
The "image" value is a relative URL pointing to the actual image file. The Dashboard resolves and displays these URLs
as images because the column’s Schema declares it as an image URL.
Accessing Rows¶
To access the row view of a table, use the table_rows property:
import tlc
table = tlc.Table.from_url("path/to/table.json")
# Get the first row as an ImmutableDict
row = table.table_rows[0]
# ImmutableDict({'image': '../../bulk_data/samples/table/image/0000000.png', 'label': 2, 'weight': 1.0})
Row View vs. Sample View¶
The row view always contains serializable data suitable for storage and Dashboard visualization. For ML workflows, 3LC also provides a sample view — a convenience layer that loads bulk data and applies transforms, returning training-ready Python objects like PIL Images or NumPy arrays. See Sample View for details.