Skip to main content

Rerun.io logger for USD and NVIDIA Omniverse apps

Documentation PyPI

:construction: This is a development preview. Expect breaking changes before 1.0.0 :construction:

Contents

https://github.com/user-attachments/assets/82e33c38-f8a1-4f3b-8c7f-5c28904d86b5

Install

  1. You can install usd-rerun-logger from PyPI:
pip install usd-rerun-logger
  1. Install OpenUSD (pxr). This is a user-managed dependency to avoid version conflicts (e.g. with isaac-sim which bundles its own version).
    • If you use an Omniverse app like Isaac Sim or Isaac Lab: You can skip this step.
    • Otherwise, install the standard library from PyPI:
      pip install usd-core
      

Log generic USD Scenes

This utility can traverse any standard USD scene and log transforms, geometries and color textures to Rerun.io.

API reference

Executable examples

This is the lowest level logger. See IsaacLabRerunLogger or the LogRerun wrapper for higher level APIs

To log a simple scene:

from pxr import Usd
from usd_rerun_logger import UsdRerunLogger

# Init Rerun.io
rr.init("orange_example", spawn=True)
# Create the USD Stage
stage = Usd.Stage.Open("orange.usd")
# Log the stage
logger = UsdRerunLogger(stage)
logger.log_stage()

Log Isaac Sim scenes

from usd_rerun_logger import UsdRerunLogger

rr.init("IsaacSim", spawn=True)
logger = UsdRerunLogger(world.stage, path_filter=["!*BlackGrid*"])

while app_running:
    world.step()
    # Set the simulation time on the timeline (see the full examples)
    rr.set_time(timeline="sim", duration=sim_time)
    logger.log_stage()

Log Isaac Lab InteractiveScenes

To make training faster, Isaac Lab doesn't update the USD Stage and the latest transforms are only available through the InteractiveScene API. The IsaacLabRerunLogger will merge the 3D objects and initial poses from the USD stage with the transforms parsed from the InteractiveScene.

API reference

from usd_rerun_logger import IsaacLabRerunLogger

rr.init("IsaacLab", spawn=True)
logger = IsaacLabRerunLogger(env.scene)
while looping:
    env.step(action)
    rr.set_time(timeline="sim_steps", sequence=env.common_step_counter)
    logger.log_scene()

Log Gymnasium environments

LogRerun is a drop-in replacement for Gymnasium's RecordVideo wrapper. Using Rerun.io instead of recording videos has multiple benefits, like no need to worry about camera angles, and file size doesn't increase linearly with the length of the run.

API reference

Executable examples

from usd_rerun_logger import LogRerun

env = gym.make("Isaac-Reach-Franka-v0", cfg=FrankaReachEnvCfg())
rr.init("franka_example", spawn=True)
env = LogRerun(env)
env.reset()
for _ in range(100):
    action_np = env.action_space.sample()
    action = torch.as_tensor(action_np)
    env.step(action)

Known limitations

  • Not all shaders are supported. In OpenUSD, color textures can be represented in a wide variety of ways, many of them specific to certain implementations. We try to support as many shader formats as possible. Please open an issue when you have a .usd* file that we fail to parse properly.

Also, see the issues for features we're still working on.

Metadata

Release files for usd-rerun-logger 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for usd-rerun-logger 0.5.0
File Size Uploaded
usd_rerun_logger-0.5.0.tar.gz 15.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for usd-rerun-logger 0.5.0
File Interpreter ABI Platform
usd_rerun_logger-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.0 kB

Release files / usd_rerun_logger-0.5.0.tar.gz

Download URL usd_rerun_logger-0.5.0.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e7414dbee74b7ad52278cfe912a4bd162f689a4beb15c57ab58a9a04c592d79b
BLAKE2b-256 checksum
How to use checksums
3342f52d8d7c89fa83ad560faaee5af871a8989f2c56ce8c36393e5804333509
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / usd_rerun_logger-0.5.0-py3-none-any.whl

Download URL usd_rerun_logger-0.5.0-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c0ca1057b47fef1adf45c71a9f73aad7293470c420417ebc6994cb67814e898
BLAKE2b-256 checksum
How to use checksums
ad7000974b114538556120a885ef2536851d305cb70b7cf84fd352262126aa0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page