Welcome to gsply

Ultra-fast Gaussian Splatting PLY I/O Library

gsply is a high-performance Python library for reading and writing Gaussian Splatting PLY files. Built with NumPy and Numba, it achieves 93M Gaussians/sec read and 57M Gaussians/sec write performance through zero-copy optimizations and JIT-compiled compression pipelines. Features 11x faster GPU transfers using zero-copy _base tensor optimization and automatic format state tracking via _format dictionary for seamless in-place conversions between PLY/linear formats and SH/RGB color spaces.

Quick Start

pip install gsply | from gsply import plyread, plywrite | data = plyread("model.ply")

Key Features

  • Zero-copy reads — All data loaded as memory-efficient views into shared buffers

  • Auto-optimized writes — Automatic consolidation for 2.4x faster writes

  • Dual format support — Uncompressed PLY and PlayCanvas compressed (71-74% smaller)

  • Optimal GPU transfer — 11x faster GPU transfers using zero-copy _base tensor (single transfer vs CPU stacking)

  • In-place conversion tracking — Format state tracked automatically (_format dict) for scales, opacities, and colors

  • GPU acceleration — Optional PyTorch integration with seamless CPU↔GPU transfers

  • Mask management — Multi-layer boolean masks with GPU-optimized operations

  • Pure Python — No C++ compilation required, works everywhere Python runs

Performance Highlights

  • Read: 93M Gaussians/sec peak (400K Gaussians in ~6ms)

  • Write: 57M Gaussians/sec peak (400K Gaussians in ~7ms zero-copy, ~19ms standard)

  • Compression: 71-74% size reduction with PlayCanvas format

  • GPU transfer: 11x faster with zero-copy _base optimization (1.99ms vs 22.78ms for 400K Gaussians)

  • Format conversion: In-place operations track format state automatically (PLY ↔ linear, SH ↔ RGB)

Documentation

API Reference

Additional Resources


Documentation built with Sphinx and Furo theme.