Skip to main content

slamd is a 3D visualization library for Python. pip install, write a few lines, and you have a GPU-accelerated interactive 3D viewer. No event loops, no boilerplate — just set geometry and it shows up.

pip install slamd

Why slamd?

Most 3D visualization in Python is either painfully slow (matplotlib's 3D mode), or requires you to learn a massive framework. slamd is neither.

  • Dead simple — create a visualizer, set geometry, done. The viewer window spawns automatically in a separate process. No event loop, no main thread hijacking, no callbacks.
  • Real 3D rendering — GPU-accelerated OpenGL. Handles millions of points, animated meshes, and real geometry at interactive framerates. This is not a plot library pretending to do 3D.
  • Pose tree — objects live in a transform tree (like ROS TF or a scene graph). Set a parent transform and everything underneath moves. Makes articulated and hierarchical scenes trivial.
  • The right primitives — point clouds, meshes, camera frustums, triads, arrows, polylines, spheres, planes. The stuff you actually need when working with 3D data, robotics, or SLAM.

How is this different from Rerun?

slamd is a stateful viewer, not a logging database. There's no append-only log, no timeline, no timestamps forced onto your data. You have a tree of geometry — you set objects, move them, delete them, and what you see is what's there right now.

Rerun is powerful, but it's a big tool with a lot of concepts. slamd does one thing: show your geometry, right now, with minimal API surface. If you want a data recording platform with time-series scrubbing, use Rerun. If you want to throw some geometry on screen and look at it, use slamd.

Quick Start

import slamd

vis = slamd.Visualizer("Hello world")
scene = vis.scene("scene")
scene.set_object("/origin", slamd.geom.Triad())

That's it. A window opens with an interactive 3D view.

Objects live in a transform tree — move a parent and children follow:

scene.set_object("/robot/camera/frustum", slamd.geom.CameraFrustum(K, w, h, scale=0.2))
scene.set_object("/robot/lidar/cloud", slamd.geom.PointCloud(pts, colors, point_size))

# Move the whole robot — camera and lidar come with it
scene.set_transform("/robot", pose)

Multiple Windows

Create multiple scenes — each gets its own sub-window with ImGui docking. Drag, tab, float, or dock them however you like:

vis = slamd.Visualizer("multi-view")
scene1 = vis.scene("RGB camera")
scene2 = vis.scene("point cloud")

scene1.set_object("/frustum", slamd.geom.CameraFrustum(K, w, h, img, 1.0))
scene2.set_object("/cloud", slamd.geom.PointCloud(pts, colors, 0.3, 0.5))

Geometry

  • Point clouds — slamd.geom.PointCloud
  • Meshes — slamd.geom.Mesh
  • Camera frustums (with image) — slamd.geom.CameraFrustum
  • Arrows — slamd.geom.Arrows
  • Polylines — slamd.geom.PolyLine
  • Spheres — slamd.geom.Sphere / slamd.geom.Spheres
  • Triads — slamd.geom.Triad
  • Planes — slamd.geom.Plane
  • Boxes — slamd.geom.Box

Installation

Wheels on PyPI for Linux and macOS (Python >= 3.11):

pip install slamd

Only runtime dependency is numpy >= 1.23.

Examples

See examples/ for the full set.

License

Apache 2.0 — see LICENSE.

Metadata

Release files for slamd 3.1.0

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

Built distributions (wheels)

Table of built distributions (wheels) for slamd 3.1.0
File
slamd-3.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
slamd-3.1.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
slamd-3.1.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
slamd-3.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
slamd-3.1.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
slamd-3.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
slamd-3.1.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
slamd-3.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
slamd-3.1.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
slamd-3.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 16.4 MB

Release files / slamd-3.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL slamd-3.1.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
169437d73ea76dd33868e5e687221b02fb9b1775ef3e1c85d8af52fd411e88ad
BLAKE2b-256 checksum
How to use checksums
a18b2f5bd17295d979b8fc53c811d25fe949767ec76b6ecec48bed4341dedc38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL slamd-3.1.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
53b1613a0cdccd4c77b671e99ad5b3e66a189208e9f1aec16eed5977328583e3
BLAKE2b-256 checksum
How to use checksums
592a826c4d564e46da1110fbf41b3ddad3e5568eca3b0d42e81639a349472bb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL slamd-3.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f65cb06cce516ad04920b6549b6c609089ac438026fb06752a3ff1edab27d215
BLAKE2b-256 checksum
How to use checksums
c88ce7c936729ae10f249a931f1165f5ad182b3b773a384ea4aa821c14afd8f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL slamd-3.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
792cfa07e4bcea222ec6be83575873defda13c1bf0c8673e9189610882f7be20
BLAKE2b-256 checksum
How to use checksums
250df1bcf83cabf8f94c975439c145846d4a9e5e43f617b5e1c5bb3395b7e511
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL slamd-3.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5e43c0f7a70655d402f12ffdccb4c476768b9cd8e43ede553f75d665c8da73d3
BLAKE2b-256 checksum
How to use checksums
f53a79ee402d2a22dcea41b96dae02c3cc998c671b7d09988321775821127930
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL slamd-3.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4996f0701bcf84ea3383894d7bcadd22c1eaa18e55abaf85bf92d1870066dc09
BLAKE2b-256 checksum
How to use checksums
04983f8983312a13d3a4984f489c322f17a2dc68677c59d1f18b8ac3997f3c4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL slamd-3.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
83834603e280350fcee1eeee750aeaf56407fcbdd83c4d7379fd81ae7f45e871
BLAKE2b-256 checksum
How to use checksums
c307722cf438cf60107da28e9b90f66f66f124eab8991528a38be566dc570c48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL slamd-3.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
08d6d8b3ebf8344ba0a3cfe6e836b95bd9c5eca02626f5e623b8342ed49ae604
BLAKE2b-256 checksum
How to use checksums
ef62a18a435bfb0c54afceb2fed5d964159949ed31fc23671e9fe16412cf9237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL slamd-3.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4d24b40343b3ab8c6bb12fad7541a6423c4e6dfc3f75d5127b69f6431854da22
BLAKE2b-256 checksum
How to use checksums
92d248f53a91223dd682e1ca075e8199b77fab16bc6a44794ed25cb89d4d9866
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release files / slamd-3.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL slamd-3.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ea2ada8b032f4f3de5203728802d3e1d7a269ac7334f85a917a439e6c51d5744
BLAKE2b-256 checksum
How to use checksums
1ef79629cdf3abaf59808466325874d7b59ec8a695f2a20131086cea88fbade8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.1.0 This release

10 release files

3.0.1

10 release files

3.0.0

10 release files

2.1.9

10 release files

2.1.7

6 release files

2.1.6

6 release files

2.1.5

6 release files

2.1.4

6 release files

2.1.3

6 release files

2.1.2

6 release files

2.1.1

6 release files

2.0.1

3 release files

2.0.0

3 release files

0.1.7

3 release files

0.1.6

3 release files

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.0

1 release file

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