You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for Tables (read dataframes) as first-class entries in the Rerun viewer and Python SDK, enabling direct dataframe visualization and better integration with notebook workflows.
This issue is mostly AI generated 🤖. The original internal proposal was written by @abey79 and @grtlr.
Background and problem
The current chunk-centric storage/visualization infrastructure, while excellent for unaligned data, introduces unnecessary friction when dealing with simple dataframes:
Dataframes must be deconstructed to fit the current logging API
Complex blueprint creation is required to emulate dataframe display
The "recording" user experience isn't optimal for dataframe visualization
Grounding use-cases
Send a dataframe from a notebook/script to the viewer
Load and display a remote table in the viewer
Enhanced dataframe display compared to traditional notebook/HTML-based tools
Better integration with other viewer features
How to describe, demo and evaluate
Success metrics:
Implementation of a simplified but functional Table support in the viewer
Successful integration with Python SDK
Basic table visualization functionality
Support for atomic table operations (drop & replace)
Designs and plans
Key implementation components:
New RerunClient top-level object for viewer connection
Table storage using Vec
Integration with existing StoreHub/StoreBundle architecture
UI updates including renamed "Stores" panel and table-specific viewing mode
### Related
* Supersedes #9456
* Closes#9348
* Closes#8443
* Part of #8692
* Part of #9455
### What
This adds minimal support for `send_table` to `re_grpc_client` and
implements a new experimental API in the Python SDK:
```py
client = ViewerClient(addr="rerun+http://0.0.0.0:9876")
client.send_table(
"Hello from Python",
pa.RecordBatch.from_pydict({
"id": [1, 2, 3],
"url": ["https://www.rerun.io", "https://github.com/rerun-io/rerun", "https://crates.io/crates/rerun"],
}),
)
```
### Testing
Either via the snippet:
```sh
pixi run py-build
pixi run -e py python docs/snippets/all/howto/send_table.py
```
Or via the notebook that was updated in this PR.
Summary description
Add support for Tables (read dataframes) as first-class entries in the Rerun viewer and Python SDK, enabling direct dataframe visualization and better integration with notebook workflows.
This issue is mostly AI generated 🤖. The original internal proposal was written by @abey79 and @grtlr.
Background and problem
The current chunk-centric storage/visualization infrastructure, while excellent for unaligned data, introduces unnecessary friction when dealing with simple dataframes:
Grounding use-cases
How to describe, demo and evaluate
Success metrics:
Designs and plans
Key implementation components:
Table storage using Vec
Tasks
TableStore
for in-memory storage AddTableStore
for table/dataframe entries + basic UI #9437TableStore
for table/dataframe entries + basic UI #9437Non-goals and won't do
The text was updated successfully, but these errors were encountered: