Skip to main content

The Rerun Logging SDK

Project description

The Rerun Python Log SDK

Use the Rerun SDK to log data like images, tensors, point clouds, and text. Logs are streamed to the Rerun Viewer for live visualization or to file for later use.

Rerun Viewer

Install

pip3 install rerun-sdk

ℹ️ Note: The Python module is called rerun, while the package published on PyPI is rerun-sdk.

Example

import rerun as rr
import numpy as np

rr.init("rerun_example_app", spawn=True)

positions = np.vstack([xyz.ravel() for xyz in np.mgrid[3 * [slice(-5, 5, 10j)]]]).T
colors = np.vstack([rgb.ravel() for rgb in np.mgrid[3 * [slice(0, 255, 10j)]]]).astype(np.uint8).T

rr.log("points3d", rr.Points3D(positions, colors=colors))

Resources

Logging and viewing in different processes

You can run the viewer and logger in different processes.

In one terminal, start up a viewer with a server that the SDK can connect to:

python3 -m rerun

In a second terminal, run the example with the --connect option:

python3 examples/python/car/main.py --connect

From Source

Setup:

  • Install the Rust toolchain: https://rustup.rs/
  • git clone git@github.com:rerun-io/rerun.git && cd rerun
  • Run ./scripts/setup_dev.sh.
  • Make sure cargo --version prints 1.74.0 once you are done

Building

To build from source and install Rerun into your current Python environment run:

python3 -m pip install --upgrade pip
pip3 install -r rerun_py/requirements-build.txt
pip3 install "./rerun_py"

ℹ️ Note: If you are unable to upgrade pip to version >=21.3, you need to pass --use-feature=in-tree-build to the pip3 install command.

Development

To set up a new virtualenv for development:

just py-dev-env
# For bash/zsh users:
source venv/bin/activate
# Or if you're using fish:
source venv/bin/activate.fish

Build, test, and run

For ease of development you can build and install in "editable" mode. This means you can edit the rerun Python code without having to re-build and install to see changes.

# Build the SDK and install in develop mode into the virtualenv
# Re-run this if the Rust code has changed!
source venv/bin/activate
just py-build

Test

# Run the unit tests
just py-test

# Run the linting checks
just py-lint

# Run an example
python examples/python/car/main.py

Building an installable Python Wheel

The Python bindings to the core Rust library are built using https://github.com/PyO3/pyo3.

To build an installable Python wheel run:

pip install -r rerun_py/requirements-build.txt
maturin build -m rerun_py/Cargo.toml --release

By default the wheels will be built to target/wheels (use the -o flag to set a different output directory).

Now you can install rerun in any Python3 environment using:

pip3 install target/wheels/*.whl

Viewing the docs locally

The rerun python docs are generated using mkdocs

Install the doc requirements:

pip install -r rerun_py/requirements-doc.txt

Serve the docs:

mkdocs serve -f rerun_py/mkdocs.yml -w rerun_py

or

just py-docs-serve

For information on how the docs system works, see: docs/writing_docs.md

Troubleshooting

You can run with RUST_LOG=debug to get more output out of the rerun SDK.

If you are using an Apple-silicon Mac, make sure rustc -vV outputs host: aarch64-apple-darwin. If not, this should fix it:

rustup set default-host aarch64-apple-darwin && rustup install 1.74

If you want to switch back, this is how:

rustup set default-host x86_64-apple-darwin && rustup install 1.74

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rerun_sdk-0.14.0-cp38-abi3-win_amd64.whl (18.5 MB view details)

Uploaded CPython 3.8+Windows x86-64

rerun_sdk-0.14.0-cp38-abi3-manylinux_2_31_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.31+ x86-64

rerun_sdk-0.14.0-cp38-abi3-macosx_11_0_arm64.whl (20.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

rerun_sdk-0.14.0-cp38-abi3-macosx_10_12_x86_64.whl (20.9 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file rerun_sdk-0.14.0-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for rerun_sdk-0.14.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4743b2c4b3820cab7e184d4daa37a43e3e53f5853d89297a010230b3043890d0
MD5 1bc659a8007a3e2740612549313f2347
BLAKE2b-256 dc93fea2ae0dbfd5afa393a5e76ffdd645f4b643c6fca7eabdfe02b7cd0197f7

See more details on using hashes here.

File details

Details for the file rerun_sdk-0.14.0-cp38-abi3-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for rerun_sdk-0.14.0-cp38-abi3-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 1d2753221203d068e7852cd2c379c2b7f07d4a3edac96a6361f163fd35cc2784
MD5 b15d0db8bf2d21599e62f1634410c0df
BLAKE2b-256 90bf2e6255c14d71d44e032baf20bb8e80450d6dc500e7d1e8b66a648c6fda28

See more details on using hashes here.

File details

Details for the file rerun_sdk-0.14.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rerun_sdk-0.14.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8bc7f2a526526c3aaf41376ab3069347f2b8ab5f65b50b3b5dcfde20813b2c02
MD5 f0b60ffa242eba0cda9783e31e31f845
BLAKE2b-256 306486337cb71e3c567e16359f80d9cc6d6b1fc6b3b8c6d36e24f3583138b357

See more details on using hashes here.

File details

Details for the file rerun_sdk-0.14.0-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rerun_sdk-0.14.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d046db1e1a695fefd2bb3df21447ca4ce0d3c25687919bdb66f921cf36ef11b2
MD5 ec5a3078725da56e98495ba741d7dd6e
BLAKE2b-256 196d504a2444a9b0cee38b8a9f3a27dbc711663589ddf16078d9c44ff25e1929

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page