Skip to content

Dynamically Set Active Partition URL and Select Time Window#10557

Merged
ntjohnson1 merged 14 commits into
mainfrom
nick/active_partition
Jul 8, 2025
Merged

Dynamically Set Active Partition URL and Select Time Window#10557
ntjohnson1 merged 14 commits into
mainfrom
nick/active_partition

Conversation

@ntjohnson1
Copy link
Copy Markdown
Member

What

  1. This adds a public method set_active_partition_url on the viewer aligned with set_active_recording_id to dynamically toggle that
  2. This updates dataset.partition_url to take in arguments that can constrain the observed time window
  3. This fixes a variety of paper cuts related to pixi run fast-lint apparently linux users haven't seen these issues even though I think they are actual bugs

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jul 8, 2025

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
578e9bc https://rerun.io/viewer/pr/10557 +nightly +main

Note: This comment is updated whenever you push a commit.

@ntjohnson1 ntjohnson1 added 🧑‍💻 dev experience developer experience (excluding CI) notebook Jupyter notebooks etc include in changelog labels Jul 8, 2025
@jprochazk jprochazk self-requested a review July 8, 2025 16:43
Copy link
Copy Markdown
Member

@jprochazk jprochazk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lint stuff LGTM

What do you think about exposing open and close directly? I feel like users should be able to open more than one partition URL at a time. Not just partition URLs, but any data source.

Review comments are mostly about where open_url would fit in

(I'd be happy to do that work myself as a follow-up)

_width = traitlets.Int(allow_none=True).tag(sync=True)
_height = traitlets.Int(allow_none=True).tag(sync=True)

# TODO(nick): This traitlet is only used for initialization
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could achieve this by calling open_url in the constructor. We'd need to ensure that events sent before the Viewer is ready are buffered like data with _data_queue.

At that point having another queue doesn't seem great, because data, tables, and other events all go through the same interface. We should have a single _event_queue and a helper (_send_buffered or something) to push data into it, or send it directly depending on if the Viewer is ready yet.

Comment thread rerun_py/rerun_bindings/rerun_bindings.pyi Outdated
Comment thread rerun_py/rerun_sdk/rerun/notebook.py Outdated
@ntjohnson1
Copy link
Copy Markdown
Member Author

As you can see I ran into a bit of a headache with CI. I'm punting on open_url for follow up. If you have bandwidth to pick it up that'd be great. Otherwise we can probably check in tomorrow.

@ntjohnson1 ntjohnson1 merged commit 4bf2554 into main Jul 8, 2025
41 checks passed
@ntjohnson1 ntjohnson1 deleted the nick/active_partition branch July 8, 2025 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🧑‍💻 dev experience developer experience (excluding CI) include in changelog notebook Jupyter notebooks etc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants