https://rerun.io logo
Join Discord
Powered by
  • Finding target of `rr.log` python
    s

    salmon-branch-15262

    12/08/2025, 7:02 PM
    I have lots of threads, threads-of-threads, and multiprocessing in a codebase. One thread starts the server. E.g. it calls: -
    rr.init("dimos", spawn=False, strict=True)
    -
    rr.serve_grpc(port=9095)
    -
    <custom html server with embedded rerun viewer>
    Another thread calls:
    Copy code
    py
    # I assume init needs to be called once per thread
    rr.init("dimos", spawn=False, strict=True)
    
    # try to send any msg
    rr.log("logs", rr.TextLog("this entry has loglevel TRACE", level=rr.TextLogLevel.TRACE))
    On the viewer, I never see any messages on the timeline. How can I know where/what the
    rr.log
    message is targeting? how does it know what grpc address to send to?
    0
    o
    • 2
    • 1
  • Python API: Download Viewer's Active Blueprint
    s

    salmon-branch-15262

    12/08/2025, 4:03 PM
    I know the user can download a .rbl file, but it would be really nice if our python tool could download the .rbl file for the user and set the default blueprint to whatever the user last had. Is there a way to ask the viewer for a blueprint file?
    0
    s
    • 2
    • 1
  • Commercial Offering Timeline
    e

    echoing-book-61704

    12/06/2025, 2:22 AM
    Hi, I just subscribed to the waitlist presented on the rerun website, and typed out my needs in the form. Now, I am wondering if there's a timeline to the release of the commercial offering. Is there a date for the first release?
    0
  • Scrolling Window implementation failing
    s

    straight-church-75988

    12/05/2025, 2:03 PM
    I'm trying to transmit data over BLE to a script and log it on a rerun window. Right now, the pattern is that of a sine wave . However, after a few minutes of continuous logging, the peaks become extremely close and the data undecipherable. I tried to fix it by using the method stated here https://rerun.io/docs/howto/visualization/fixed-window-plot with this blueprint
    Copy code
    rr.send_blueprint(
        rrb.TimeSeriesView(
            origin="ecg",
            time_ranges=rrb.VisibleTimeRange(
                "time",
                start=rrb.TimeRangeBoundary.cursor_relative(seconds=-5.0),
                end=rrb.TimeRangeBoundary.cursor_relative(),
            ),
        ),
    )
    data is being transmitted like this through a notify call back
    Copy code
    hrs.append(heart_rate)
        timestamps.append(time.time())
        times = rr.TimeColumn("timestamp", timestamp=timestamps)
        rr.send_columns("ecg",indexes=[times],columns=rr.Scalars.columns(scalars=hrs))
        time.sleep(0.25)
    However, in the rerun UI visible time offset is shown as default despite being explicitly set
    Copy code
    start=rrb.TimeRangeBoundary.cursor_relative(seconds=-5.0),
                end=rrb.TimeRangeBoundary.cursor_relative(),
    After correcting this manually and sending data, after ~30 seconds it gets squashed togheter. is there a way to prevent this and only show a limited frame? (also, how do i prevent time offset from being default) any help would be appreciated. (the same squashing behaviour can be noticed, albeit slower by observing the initial waveform of the example for this) (it could just be me though) (squashing effect) https://cdn.discordapp.com/attachments/1446502151827492966/1446502222946107464/image.png?ex=693437ac&is=6932e62c&hm=014d8077681960b062ff9896f149b396cd28625627eac212168e2f955f0c4c6a&
    0
    • 1
    • 3
  • Best way to display text / numbers in 3d scene?
    g

    gentle-night-55372

    12/01/2025, 10:15 PM
    Hello, from what I can tell the only way to display text is through annotations. Is this correct? I'm essentially trying to show planned velocity for specific poses along a path. I'm not sure if using annotations would be correct in this case! Thanks.
    0
    o
    • 2
    • 1
  • open multiple remote urls
    k

    kind-gigabyte-35088

    11/27/2025, 6:26 PM
    Hi, what is the correct syntax for embedding multiple remote URLs in the Rerun web viewer? I tried the following format, but it only loads the content of the first URL: http://127.0.0.1:9090/?url=http...file0.rrd&url=http...file1.rrd https://cdn.discordapp.com/attachments/1443669236332499045/1443669236571705385/Screenshot_2025-11-27_at_19.24.41.png?ex=6929e940&is=692897c0&hm=d631e4b59c1a5834747afd801a2d3348666516186c0b042c27704df0847f7f9a&
    0
    e
    • 2
    • 2
  • Transform Lookups and "Frozen" transforms
    b

    bright-london-54300

    11/23/2025, 12:44 PM
    I am trying to reimplement the behaviour of ROS rviz markers in rerun. I know there's an example out there, but this question is about a specific behaviour of said markers. https://docs.ros.org/en/noetic/api/visualization_msgs/html/msg/Marker.html Notice that the message has
    Copy code
    bool frame_locked                    # If this marker should be frame-locked, i.e. retransformed into its frame every timestep
    If this is set to true, then when the marker is published like an entity on the entity tree in rerun, it'll follow Transform3D and get propagated. The trouble is, is there support for the behaviour when the field is false? (I.e. the marker should "freeze" in place relative to the root coordinate frame, regardless of where the parent is moving. If there is no such capability, what's the best way to, at runtime, do a lookup of the transform tree to figure out the transform from root to leaf entity so that the entity can be placed relative to the root instead, to freeze it?
    0
    e
    o
    • 3
    • 5
  • Is camera distortion considered for projection?
    k

    kind-gigabyte-35088

    11/21/2025, 6:06 PM
    Hi, when 3D entities are projected to camera image, e.g. Boxes3D, is camera distortion considered? If I wanna implement the projection/unprojection, which code should I modify?
    0
    o
    • 2
    • 3
  • Keep AnnotationContext legend persistently visible in UI
    s

    steep-beach-35312

    11/21/2025, 4:03 PM
    Hi all, Is there a way to persistently display the AnnotationContext legend in the viewer UI, either through a panel setting or via blueprints? Currently (video): I can see the annotation colors/labels by clicking on an entity in the hierarchy and expanding the "context" section in the Selection Panel. However, the legend disappears as soon as I click elsewhere (e.g., selecting objects in the 3D view). I'm looking for a way to keep the annotation legend always visible while I interact with other entities in the scene (even if I toggle off labels on top of each object). I couldn't find a relevant panel or blueprint option for this. Has anyone found a workaround? Thanks! https://cdn.discordapp.com/attachments/1441459045197283420/1441459046568689664/Screen_Recording_2025-11-21_at_11.01.28_AM.mov?ex=6921ded9&is=69208d59&hm=6a2cf24230704a2eba05d93a647937789ea5066963ff4817b24cf07edf24be5c&
    0
    e
    • 2
    • 1
  • Camera projections broken after Rerun version upgrade
    i

    important-holiday-85916

    11/21/2025, 2:12 AM
    I recently upgraded my rerun-sdk from 0.22.0 to 0.26.0. Prior to this change, when projecting 3D bounding boxes into my camera frames, they aligned well. After this change, they are not even close, they don't even land in the image plane. The 3D view still shows that all my camera frames are properly aligned w.r.t the 3D bboxes. Is there anything that changed between these two versions that might explaint his? Here are some code snippets showing my implementation:
    Copy code
    def __init__(self):
        rr.log(WORLD_FRAME, rr.ViewCoordinates.RIGHT_HAND_Z_UP, static=True)
    
    def _log_ego_pose(self):
        rr.log(
            f"{WORLD_FRAME}/{EGO_VEHICLE_FRAME}",
            rr.Transform3D(
                translation=ego_from_world_matrix[:3, 3],
                mat3x3=ego_from_world_matrix[:3, :3],
            ),
        )
    
     def _log_image_data(self):
          for i, (img, K_mat, c2e) in enumerate(zip(images, intrinsics, camera2ego)):
              cam_entity = f"{WORLD_FRAME}/{EGO_VEHICLE_FRAME}/camera_{camera_names[i]}"
              rr.log(cam_entity, rr.Transform3D(translation=c2e[:3, 3], mat3x3=c2e[:3, :3]))
              rr.log(
                  cam_entity,
                  rr.Pinhole(image_from_camera=K_mat[:3, :3], resolution=[img.shape[2], img.shape[1]]),
              )
              rr.log(f"{cam_entity}/image", rr.Image(image_np).compress(jpeg_quality=JPEG_QUALITY))
    0
    e
    • 2
    • 7
  • Sending compressed images as columns
    b

    bright-lunch-70421

    11/20/2025, 10:59 PM
    I'm looking at https://rerun.io/docs/howto/logging/send-columns#updating-an-image-over-time-in-a-single-operation which is pretty handy for seeing how to use the Columnar API to send images. However, with the "regular" API I am able to send a compressed image by adding
    .compress()
    -- is there an equivalent here when using
    send_columns()
    ? Thanks!
    0
    e
    • 2
    • 2
  • URDF Animation Questions
    b

    bright-lunch-70421

    11/17/2025, 1:48 PM
    Hello all! I'm just getting started with rerun and I've been playing with the URDF file loading support from 0.24 onwards. Have some questions/feedback. Based on the [animated URDF example](https://github.com/rerun-io/rerun/blob/7ac9d608c483c5a5c58e883ad9a0cecc3881f82c/examples/rust/animated_urdf/src/main.rs), am I correct in assuming the best path forward for updating the position of a model with joint angles over time is: For each link, * Compute the forward kinematics (pose of the link) * Find its hierarchical path in the log * Set the new transform Some additional things I ran into: 1. Our URDFs definitely have collada (
    .dae
    ) files and I see those aren't yet supported, so +1ing that existing issue 2. We are doing some processing of the file (via
    xacro
    ) so we actually already have the string contents of the file. Is there a way to avoid having to write these contents to a temp file and then load them in rerun via
    log_file_from_path?
    It doesn't seem like
    log_file_from_contents
    did what I expected, but maybe I'm using it wrong? 3. In the animated URDF example, there is the
    UrdfTree
    utility which allows traversing the URDF and getting the correct paths for setting transforms. But there are no Python bindings to this at the moment, from what I see -- is that right? I can work around this by using other libraries like
    yourdfpy
    or
    pinocchio
    on the Python side, but of course they don't offer the same
    get_joint_child()
    and
    get_link_path()
    functions right out of the box to get the hierarchical structure that rerun puts the entities in. 4. +1 to another issue I found to configure whether to show visual and/or collision meshes more easily. Thanks!
    0
    o
    • 2
    • 6
  • Set Color Alpha value for Boxes3D
    k

    kind-gigabyte-35088

    11/07/2025, 2:34 PM
    Hi, I try to set Boxes3D.colors with alpha value, but is seems not working. Any idea? https://cdn.discordapp.com/attachments/1436363152890658949/1436364282639028276/Screenshot_2025-11-07_at_15.38.14.png?ex=690f55fb&is=690e047b&hm=90489447ee4ee12716ac31cafbcd1ed7e0d33b890ca5be0da8223b2e56c781b1&
    0
    e
    • 2
    • 4
  • 3D primitives flicker when overlapping.
    f

    freezing-apple-3911

    11/03/2025, 6:40 AM
    Hi all, A similar issue (https://github.com/rerun-io/rerun/issues/6600) in 2D view has been reported and has been resolved. But I'm unsure how to resolve flickering in 3D view, and I couldn't find any sample code of using
    DrawOrder
    . The figure shows a occupancy grid in 3D view, where black boxes (obstacles) overlapped with traversable grids. https://cdn.discordapp.com/attachments/1434794293272248520/1434794526848979084/Screenshot_2025-11-03_at_14.29.34.png?ex=6909a008&is=69084e88&hm=cc822a2bbef85bd117337223a0e1e5cc96d5c23f4f59042aea811fe2d5547c5e&
    0
    e
    b
    • 3
    • 4
  • `ModuleNotFoundError` when use `uv`
    f

    freezing-apple-3911

    10/25/2025, 5:40 AM
    Hi all, I have tried install
    rerun-sdk
    via
    conda
    and
    uv
    (a package manager), and the later failed. Specifically: 1. Conda (success)
    Copy code
    bash
    ➜ which python
    /opt/homebrew/Caskroom/miniforge/base/bin/python
    ➜ which pip
    /opt/homebrew/Caskroom/miniforge/base/bin/pip
    ➜ pip install rerun-sdk
    ...
    ➜ python -c "import rerun.blueprint"
    # OK
    2. UV (failed)
    Copy code
    bash
    ➜ uva
    [INFO] Activate Python venv: .venv (via .venv/bin/activate)
    ➜ which python
    /private/tmp/rr-test/.venv/bin/python
    ➜ which pip
    /private/tmp/rr-test/.venv/bin/pip
    ➜ uv add rerun-sdk
    Resolved 8 packages in 361ms
    Installed 6 packages in 25ms
     + attrs==25.4.0
     + numpy==2.2.6
     + pillow==12.0.0
     + pyarrow==22.0.0
     + rerun-sdk==0.26.1
     + typing-extensions==4.15.0
    ➜ uv add rerun
    Resolved 9 packages in 285ms
    Installed 1 package in 4ms
     + rerun==1.0.30
    ➜ python -c "import rerun" # rerun can be imported
    ➜ python -c "import rerun.blueprint" # rerun.blueprint failed
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'rerun.blueprint'
    For both methods, the`rerun` cli and python library are successfully installed, but
    rerun.blueprint
    failed. I'm wondering is there any limitation if
    rerun
    is installed via a python package manager? Thanks.
    0
    s
    • 2
    • 2
  • Can I control the visibility of Horizontal or Vertical panels via the Python API?
    s

    steep-beach-35312

    10/20/2025, 9:48 PM
    Hi all — hopefully a quick (maybe dumb 😅) question: Is there a way to toggle visibility in the Python API for a Horizontal or Vertical rerun.blueprint panel? I tried something like this:
    Copy code
    python
    rrb.Horizontal(
        rrb.TimeSeriesView(origin="/error1", visible=True), # <- this is ok
        rrb.TimeSeriesView(origin="/error2", visible=False),
        rrb.TimeSeriesView(origin="/error3", visible=True),
        column_shares=[1, 1, 1],
        visible=False,  # <- this doesn't seem to be accepted
        name="Metrics",
    )
    but got this error:
    Copy code
    python
    Horizontal.__init__() got an unexpected keyword argument 'visible'
    I might have missed it in the docs — I noticed there’s an eye icon next to Horizontal and Vertical containers in the GUI, similar to individual content containers, that lets me toggle visibility, so I was wondering if there’s a programmatic equivalent. Rerun version: 0.26.0 Python version: 3.13.7 Linux Thanks!
    0
    b
    • 2
    • 2
  • unavailable conda-forge 0.25 version
    b

    busy-bear-52582

    10/16/2025, 6:50 AM
    I can't update to the latest version with my conda workflow. Do you plane to make it available ?
    0
    e
    • 2
    • 1
  • Tips for faster compile?
    g

    gentle-night-55372

    10/15/2025, 4:31 PM
    Hello! I'm using rerun for a ROS2 project but the build times are very long (10min+!) Any tips?
    0
    e
    • 2
    • 4
  • GrpcSink Memory Limit
    l

    little-forest-57077

    10/10/2025, 9:27 PM
    On the topic of set_sinks() with GrpcSink(), I'm seeing that my application memory continues to grow unbounded if there is no server for the sink to connect to...does anyone know if there is a way to limit the amount of data that GrpcSink() can buffer when it is failing to connect to a server?
    0
  • Callback for replayed data
    b

    big-window-52699

    10/10/2025, 7:49 AM
    I have been studying the Rerun Rust SDK examples to find a way to retrieve the latest during replay. So far, I have studied the ViewerEvents and ChunkStoreEvents structures. I've observed that the ViewerEventKind::TimeUpdate successfully provides me with the current time as the replay progresses, but it does not provide the actual data (e.g., an rr.Image or sensor data) for that timestamp. I can do a viewer extension as in viewer_callbacks example and in eframe::App::update query the latest instance for entity for the time received from ViewerEvents. But this seems quite clumsy. I do not really want to extend the viewer. What I really need is an event that comes every time a specific entity instance updates during replay. Is there such an event? Could someone please point me in the correct direction or confirm if this type of event is not directly supported?
    0
    o
    • 2
    • 2
  • Integration with ML FLow
    i

    important-holiday-85916

    10/09/2025, 12:48 AM
    Hi, I've been using Rerun to generate visuals for my AV ML training runs. We use ML Flow to log all our results, so I'm also using ML Flow to log rrd files for each training and validation step. Currently, to view the generated rrd files, I need to download them to my computer from the ML FLow UI and then launch Rerun and select that file. I know we're able to directly view rerun files from the browser, so I'm wondering if there is a way to log artifacts in ML Flow in a way that I can just click on my rrd file in ML FLow and it open up a viewer in the browser? Thanks in advance for the help!
    0
    b
    i
    • 3
    • 4
  • Reconnecting same client with same recording id results in lag, low framerate
    b

    breezy-secretary-38820

    10/07/2025, 4:42 PM
    I can make a reproducible example on github unless this is a known problem already, and can provide a video immediately. I'm using rust in Linux as the client, 0.25.1 rerun-sdk from pip install. I think it may also involve multiple processes logging at the same time, then recycling one or the other. The initial few connections work smoothly, then reconnecting one and the frame rate in rerun goes super low, and typically I have to kill everything and restart rerun to get an acceptable frame rate and to be able to use the rerun gui.
    0
    e
    • 2
    • 2
  • Can I extract VideoStream from .rrd ?
    r

    rhythmic-oyster-56744

    10/06/2025, 11:47 AM
    Hi There 👋 When I load a recording with
    rr.dataframe.load_recording
    ,
    recording.schema()
    doesn't list the columns related to VideoStream. Is it possible to extract a video from an .rrd file? Thank you!
    0
    o
    b
    • 3
    • 6
  • Pull for adding hierarchical data visualization
    w

    wide-memory-11949

    10/03/2025, 8:41 AM
    Hi everyone! I'm currently using Rerun at work for robotics, and my team could really benefit from the ability to visualize our protobuf messages with a tree view, so I went ahead and filed a feature request here: https://github.com/rerun-io/rerun/issues/11413. When browsing recent discussions it seems like there may already be pull for this (I saw others asking about custom protobuf schemas) so I wanted to know if anyone is already tracking a similar feature and when it would likely make it into an upcoming release? If it's not on anyone's immediate radar then we may try to contribute it ourselves. If that's the case then would appreciate any pointers on what needs to be done to extend the data tree view to user-logged structs.
    0
    b
    • 2
    • 1
  • Issue with translating from Protobuf
    k

    kind-airline-57079

    09/27/2025, 1:13 AM
    Hi! I am trying to use the experimental version of rerun for mcap visualization, and when I ran it on my mcap file, I got this error : (venv) allenbiju@Allens-MacBook-Pro-2 viz % rerun cooperscenes_test_full_revised.mcap [2025-09-27T00:56:12Z INFO re_data_loader::load_file] Loading "cooperscenes_test_full_revised.mcap"… Error: "cooperscenes_test_full_revised.mcap" -> No data-loader support for "cooperscenes_test_full_revised.mcap" My mcap data is protobuf data, is that the reason I can't run it? Or is there a different reason? Also if it is because my data is not in the correct format, what is the correct format? Thank you!
    0
    s
    • 2
    • 5
  • Video glitching during image streaming - frame transitions not smooth
    a

    adorable-airplane-36966

    09/26/2025, 2:13 PM
    Hi, Rerun noob here! I'm running into an issue while tryning to stream geotagged images using rr.Image. The fram transitions are really glitchy, and there's a noticeable delay between images in the attached video. This happens even after i downsized my images from 2448x2028 px down to 256x256. Setup: - Rerun: version 0.24.1 - Python: 3.10.17 - OS: Ubuntu 24.04.3 LTS - Kernel: 6.8.0-83-generic Since i'm still learning Rerun, it's totally possible I'm missing something obvious. Would love some guidance on whether this is a known issue or if I'm doing something wrong https://cdn.discordapp.com/attachments/1421137493885059093/1421137494539501610/simplescreenrecorder-2025-09-25_14.09.08.mkv?ex=68d7f0ee&is=68d69f6e&hm=c5e2ecc642997b1b523d1c126f32f002978623006b8c17f1eadfe2c5b942a728& https://cdn.discordapp.com/attachments/1421137493885059093/1421137494883172443/message.txt?ex=68d7f0ee&is=68d69f6e&hm=fde7d9777b86aa01e46f71bcd8eb13151871fb2304bdbc29ea71165677aa89c8&
    0
    e
    • 2
    • 1
  • Visualizing Trace Spans
    b

    bright-london-54300

    09/24/2025, 11:25 PM
    Heya! I am looking to visualize some trace data for processes that are running on my robot. Do we have any suitable archetypes or visualisers that might be able to show something like this hierarchical trace (screenshot added)? Like a plot type or something? https://cdn.discordapp.com/attachments/1420551819376988190/1420551820090282095/trace-example.png?ex=68d5cf7a&is=68d47dfa&hm=a83eece918a1dd319d634df668f080c1bc59d6a148d45970a610c93276380bf9&
    0
    e
    • 2
    • 1
  • URDF Loader does not respect scale parameter of meshes
    s

    silly-laptop-31985

    09/19/2025, 10:21 PM
    If you load a urdf whose mesh objects have a scale different than 1,1,1, the scaling is not done correctly and the meshes are displayed in their original size. To Reproduce: log a urdf normally log a urdf after chaging the scale parameter
    Copy code
    from urdf_parser_py.urdf import URDF
    robot = URDF.from_xml_file(self.__urdf_path)
    for link in robot.links:
        if link.visual is not None:
            geom = link.visual.geometry
                if geom.scale is not None:
                    geom.scale = [2.0, 2.0, 2.0]
    rr.log_file_from_contents(
               urdf_path,
               robot.to_xml_string().encode("utf-8"),
               static=True,
    )
    Expected behavior The meshes have different sizes depending on the scale OS: Ubuntu 22.04 Rerun version: 0.25.1 Additional context Many STLs are in mm so they need scale=0.001 0.001 0.001 to be properly displayed as URDFs
    0
    o
    b
    • 3
    • 19
  • Using `trunk serve` in WSL
    g

    gorgeous-painting-39913

    09/16/2025, 12:38 PM
    Moving to trunk’s discord server.
    0
  • Is it possible to invert a colormap?
    m

    mysterious-jewelry-48173

    09/13/2025, 3:13 PM
    Is there some easy way to invert a colormap? Most recent depth estimation methods use red for near and blue for far but the
    "Turbo"
    colormap does it the other way around. In Matplotlib I could use
    "Spectral"
    and then
    "Spectral_r"
    to invert it but there doesn't seem to be a
    "Turbo_r"
    colormap in Rerun. https://cdn.discordapp.com/attachments/1416441589835763902/1416441590456516709/Screenshot_2025-09-13_at_17.07.40.png?ex=68c6db87&is=68c58a07&hm=064edc1d7d4e781629b2bb916b6a1f0f64b6c895ff2684368310e434b4626247& https://cdn.discordapp.com/attachments/1416441589835763902/1416441590985134091/Screenshot_2025-09-13_at_17.12.53.png?ex=68c6db87&is=68c58a07&hm=841421261ec4b03074883a72084d044f0376960346f8b0508ccf234ef7b4dcac&
    0
    o
    e
    • 3
    • 10