pypcd4
Read and write PCL .pcd files in python
What it is and what it does
pypcd4 is a modern Python library for reading, writing, and manipulating Point Cloud Data (PCD) files. It provides a PointCloud class that wraps point data and supports conversion to and from NumPy arrays, filtering by slicing or boolean masks, concatenation of multiple clouds, and integration with ROS PointCloud2 messages. The library depends on numpy for array operations, pydantic for data validation, and python-neo-lzf for compression support.
Typical workflows include loading PCD files from disk, extracting specific fields or subsets of points, transforming the data via NumPy, and saving results back to PCD format. It is designed for robotics and 3D perception applications where point cloud data is common, and offers convenience methods for common operations like field selection and point filtering without requiring manual NumPy indexing.
Use it for:
- Load a PCD file, filter points by spatial coordinates, and save the result for downstream processing.
- Convert between PCD and NumPy array formats to integrate point cloud data with machine learning pipelines.
- Merge multiple PCD files into a single point cloud using concatenation for multi-sensor fusion.
- Convert ROS PointCloud2 messages to PCD files for offline analysis or archival.
- Extract specific fields (e.g., x, y, z, intensity) from a point cloud for visualization or analysis.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pypcd4 reads, writes, and manipulates Point Cloud Data (PCD) files, converting between PCD format, NumPy arrays, and ROS PointCloud2 messages.
Yes. pypcd4 is actively maintained, has no known vulnerabilities, installs with low friction, and is licensed permissively. It fills a clear need for point cloud I/O in Python with modern syntax and ROS integration. Suitable for robotics, 3D perception, and scientific computing workflows.
Install
pypcd4 on PyPI
pip
pip install pypcd4uv
uv add pypcd4poetry
poetry add pypcd4Installing pypcd4
Before you install
Low install friction; pure Python wheel with three runtime dependencies (numpy, pydantic, python-neo-lzf). Active maintenance with recent commits and stable production status.
License in practice
BSD 3-Clause permissive license allows commercial and private use with attribution; no viral copyleft restrictions.
Quickstart
pip install pypcd4
from pypcd4 import PointCloud
import numpy as np
pc = PointCloud.from_path("point_cloud.pcd")
array = pc.numpy()
pc_filtered = pc[pc.pc_data["x"] > 0.5]
pc_filtered.save("filtered.pcd")
Verify before relying
- Whether ROS integration requires ROS to be installed and sourced, or if rosbags library alone suffices for reading/writing
- Performance characteristics when concatenating or filtering large point clouds (thousands or millions of points)
Package facts
| License | BSD 3-Clause License Copyright (c) 2018, Daniel Maturana Copyright (c) 2023-present, MAP IV, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification,… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.8.2) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — numpy, pydantic, python-neo-lzf |
| Maintenance | actively maintained — 219 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 85,364/month — #13,927 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pypcd4-1.4.3-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pystac-ext-pointcloudExtends PySTAC to support the Point Cloud…
permissive · top 5,000 on PyPI
rosbagsRead, write, convert, and deserialize ROS bag…
permissive · top 15,000 on PyPI
netCDF4netcdf4 provides a Python interface to read,…
permissive · top 5,000 on PyPI
meshioplusplusmeshioplusplus reads and writes mesh files in…
permissive · top 15,000 on PyPI
quadrilateral-fitterFits the smallest-area quadrilateral that…
permissive · top 15,000 on PyPI
mplibMPlib provides motion planning algorithms for…
permissive · top 15,000 on PyPI
fabioFabIO reads and writes 2D X-ray detector images…
permissive · top 15,000 on PyPI
fitsiofitsio reads and writes FITS (Flexible Image…
copyleft · top 15,000 on PyPI
pylercpylerc encodes and decodes raster image data…
permissive · top 15,000 on PyPI