Skip to main content

A 3D extension of torchvision.

Project description

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.

Project details


Download files

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

Source Distribution

vision3d-0.3.1.tar.gz (92.2 kB view details)

Uploaded Source

Built Distribution

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

vision3d-0.3.1-cp312-abi3-manylinux_2_28_x86_64.whl (990.4 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ x86-64

File details

Details for the file vision3d-0.3.1.tar.gz.

File metadata

  • Download URL: vision3d-0.3.1.tar.gz
  • Upload date:
  • Size: 92.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":true}

File hashes

Hashes for vision3d-0.3.1.tar.gz
Algorithm Hash digest
SHA256 65fe337b67cbd640a6406b5b2af538c48956b9e7d7d610f6c60e8f0227b82e51
MD5 778759ee269bbdf26263d07c8ed51fbd
BLAKE2b-256 ef07432e59acfbe8f3fb16275bff554c4f2deccc9cdbd6f17974e3f59620721b

See more details on using hashes here.

File details

Details for the file vision3d-0.3.1-cp312-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: vision3d-0.3.1-cp312-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 990.4 kB
  • Tags: CPython 3.12+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","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":true}

File hashes

Hashes for vision3d-0.3.1-cp312-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f537a9f62e1c94472c7e2654aa8cc5160cffd3e8147b9c7452e176e8d6a0b0ef
MD5 d47049fbd8c896bb0b6cd7a0940aa004
BLAKE2b-256 45707e355d26f1331695947be187b8cde86fa0e7f2a91e128012a6006eeb603c

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