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 python examples/python/plots/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/minimal/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


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

rerun_sdk-0.15.0-cp38-abi3-win_amd64.whl (19.2 MB view details)

Uploaded CPython 3.8+Windows x86-64

rerun_sdk-0.15.0-cp38-abi3-manylinux_2_31_x86_64.whl (27.2 MB view details)

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

rerun_sdk-0.15.0-cp38-abi3-manylinux_2_31_aarch64.whl (26.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.31+ ARM64

rerun_sdk-0.15.0-cp38-abi3-macosx_11_0_arm64.whl (20.9 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

rerun_sdk-0.15.0-cp38-abi3-macosx_10_12_x86_64.whl (21.7 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for rerun_sdk-0.15.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 30e3ae4c5d2502ac5b48bd984334908d2dddbc9d3cd8ac9514388f3cec9abd02
MD5 8401bc343db584b975773b6ffd3d86c5
BLAKE2b-256 af98abdcedf7fd12e28cc2454b87fc988b9d8031ba052ecec6e2dbcf019b1836

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rerun_sdk-0.15.0-cp38-abi3-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 a344b0720194ec8462893b028677f580e9ee88881e693fdfe3e113ff33412601
MD5 99f2ff0fed2266f3e5d8d00586dd5906
BLAKE2b-256 b3d7ac0b4cb81ac0c5d7fad3ff36b0ff5ca774e1e561822773359b62c6d7b7ac

See more details on using hashes here.

File details

Details for the file rerun_sdk-0.15.0-cp38-abi3-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for rerun_sdk-0.15.0-cp38-abi3-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 adfaae3e86e71c12dcdb2015e7706fec83fb24b24c4e15ba8464b4a355c8c304
MD5 21e7376b7fce23e9bfdf74c0ba4f7ace
BLAKE2b-256 305ae3d02f0147ad20aa3a34975d4137afac68b2ef4c52efc572a6b1958c25f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rerun_sdk-0.15.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb2e9c13a2ccbb77dc059b2d0b8064c4335a65eae92e54b00aabffeaa5d1ee52
MD5 4d38662309a60bb759bbe6c0b03f527f
BLAKE2b-256 6295b3373600ef590184946825afa65e9aeda0d941c37b9a8ed0711e6c96e7c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rerun_sdk-0.15.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d323842918690b93f7137ad02fa257f843dfa1c6861707d9245f7d4b0c8a000b
MD5 84dc47842cb88858a3e81667d985e903
BLAKE2b-256 c8dd23413facc03895001f2260621ac7d394e317de0be9f130dffcd4ca1191d1

See more details on using hashes here.

Supported by

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