vision3d#

This library is a 3D extension of torchvision, providing datasets, tensor types, transforms, ops, metrics, and visualization utilities for 3D perception tasks.

Documentation is available at vision3d.dev.

Warning

vision3d is in active early development. The API may change without notice and documentation may be incomplete.

Requirements#

  • Python 3.12 or newer.

  • PyTorch 2.10 or newer.

  • Recommended: A CUDA-capable NVIDIA GPU for GPU execution.

  • For building from source: the CUDA toolkit matching your PyTorch build.

Installation#

vision3d is published on PyPI as a pre-built wheel and sdist. The wheel is built against the LibTorch Stable ABI and statically links the CUDA runtime, so one wheel works for any Python 3.12+, torch 2.10+, and any NVIDIA driver that supports CUDA 12.8 or newer (Linux driver ≥ 570).

From PyPI#

We recommend using uv as your package manager:

uv add vision3d

Or with pip:

pip install vision3d

From source#

Clone the repository and sync the environment:

git clone https://github.com/yeetypete/vision3d.git
cd vision3d
uv sync --all-extras

uv sync compiles the C++/CUDA extension as part of installing the project. On machines where CUDA is installed but no GPU is visible (for example, inside containers), force a CUDA build with:

FORCE_CUDA=1 TORCH_CUDA_ARCH_LIST="12.0+PTX" uv sync --all-extras

Note

TORCH_CUDA_ARCH_LIST selects which NVIDIA compute capabilities to compile CUDA kernels for (e.g. 12.0 for RTX 50-series). See the PyTorch docs for the full syntax.

To produce a wheel locally:

uv build

By default uv build resolves torch from PyPI, which currently ships the cu130 variant. If your local CUDA toolkit is a different major version, point uv at the matching PyTorch wheel index instead:

uv build --index https://download.pytorch.org/whl/cu128

Replace cu128 with whatever CUDA major version your installed CUDA toolkit ships, e.g. cu130, cu132.

Extras#

  • nuscenes: pulls in nuscenes-devkit for the nuScenes dataset loader.

  • viz: pulls in rerun-sdk for the visualization utilities in vision3d.viz.

Request them at install time, for example: uv add 'vision3d[nuscenes,viz]'.

Contributing#

Contributions are welcome! See CONTRIBUTING.md for how to get started.

License#

vision3d is released under the BSD 3-Clause License.