GitPedia

Pyntcloud

pyntcloud is a Python library for working with 3D point clouds.

From daavoo·Updated June 19, 2026·View on GitHub·

**pyntcloud** is a Python library for working with 3D point clouds leveraging the power of the Python scientific stack. The project is written primarily in Python, distributed under the MIT License license, first published in 2016. It has gained significant community traction with 1,499 stars and 229 forks on GitHub. Key topics include: 3d, 3d-deep-learning, 3d-graphics, 3d-models, 3d-point-clouds.

Latest release: v0.3.1
July 31, 2022View Changelog →

Making point clouds fun again

pyntcloud logo

pyntcloud is a Python library for working with 3D point clouds leveraging the power of the Python scientific stack.

Installation

bash
pip install pyntcloud

Quick Overview

You can access most of pyntcloud's functionality from its core class: PyntCloud.

With PyntCloud you can perform complex 3D processing operations with minimum lines of
code. For example you can:

  • Load a PLY point cloud from disk.
  • Add 3 new scalar fields by converting RGB to HSV.
  • Build a grid of voxels from the point cloud.
  • Build a new point cloud keeping only the nearest point to each occupied voxel center.
  • Save the new point cloud in numpy's NPZ format.

With the following concise code:

python
from pyntcloud import PyntCloud cloud = PyntCloud.from_file("some_file.ply") cloud.add_scalar_field("hsv") voxelgrid_id = cloud.add_structure("voxelgrid", n_x=32, n_y=32, n_z=32) new_cloud = cloud.get_sample("voxelgrid_nearest", voxelgrid_id=voxelgrid_id, as_PyntCloud=True) new_cloud.to_file("out_file.npz")

Integration with other libraries

pyntcloud offers seamless integration with other 3D processing libraries.

You can create / convert PyntCloud instances from / to many 3D processing libraries using the from_instance / to_instance methods:

python
import open3d as o3d from pyntcloud import PyntCloud # FROM Open3D original_triangle_mesh = o3d.io.read_triangle_mesh("diamond.ply") cloud = PyntCloud.from_instance("open3d", original_triangle_mesh) # TO Open3D cloud = PyntCloud.from_file("diamond.ply") converted_triangle_mesh = cloud.to_instance("open3d", mesh=True) # mesh=True by default
python
import pyvista as pv from pyntcloud import PyntCloud # FROM PyVista original_point_cloud = pv.read("diamond.ply") cloud = PyntCloud.from_instance("pyvista", original_point_cloud) # TO PyVista cloud = PyntCloud.from_file("diamond.ply") converted_triangle_mesh = cloud.to_instance("pyvista", mesh=True)

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from daavoo/pyntcloud via the GitHub API.Last fetched: 6/21/2026