Python point cloud processing library — the Python alternative to PDAL
Project description
pywolken
Python point cloud processing library — the Python alternative to PDAL.
No C++ compilation required. Pure Python with NumPy, SciPy, laspy, pyproj.
Installation
pip install pywolken
Optional extras:
pip install pywolken[raster] # + GeoTIFF export (rasterio)
pip install pywolken[viz] # + matplotlib, plotly
pip install pywolken[dask] # + parallel processing
pip install pywolken[mesh] # + 3D mesh (open3d)
pip install pywolken[all] # everything
Features
- I/O: LAS/LAZ, PLY (ASCII + binary), CSV/TXT/XYZ, GeoTIFF
- 15 Filters: range, crop, merge, decimation, assign, expression, reprojection, ground classification (SMRF), height above ground, outlier removal, surface normals, voxel downsampling, DBSCAN clustering, raster colorization, spatial sorting
- JSON Pipelines: PDAL-compatible declarative processing chains
- Raster: DEM generation (IDW/mean/nearest/TIN), hillshade (Horn's method), GeoTIFF export
- 3D Mesh: 2.5D Delaunay triangulation, OBJ/STL/PLY export
- Streaming: Memory-bounded chunked processing for huge files
- Parallel: Optional Dask integration for multi-file and multi-chunk processing
- CLI:
pywolken info,pywolken pipeline,pywolken convert,pywolken merge
Quick Start
import pywolken
# Read any format (auto-detected)
pc = pywolken.read("terrain.laz")
print(pc) # PointCloud(45,266,951 points, dims=[X, Y, Z, Intensity, ...])
# Filter
ground = pc.mask(pc["Classification"] == 2)
# Write to any format
pywolken.write(ground, "ground.laz")
pywolken.write(ground, "ground.ply")
pywolken.write(ground, "ground.csv")
JSON Pipeline
import json
pipeline = pywolken.Pipeline(json.dumps({
"pipeline": [
"input.laz",
{"type": "filters.ground"},
{"type": "filters.range", "limits": "Classification[2:2]"},
{"type": "filters.decimation", "step": 10},
"output.las"
]
}))
count = pipeline.execute()
CLI
pywolken info terrain.laz
pywolken convert input.laz output.ply
pywolken pipeline workflow.json -v
pywolken merge tile1.laz tile2.laz -o merged.laz
Full Documentation
- English — complete API reference, all filter options, examples, and architecture guide
- Deutsch — vollständige API-Referenz, alle Filteroptionen, Beispiele und Architektur
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pywolken-0.1.1.tar.gz
(67.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pywolken-0.1.1-py3-none-any.whl
(57.8 kB
view details)
File details
Details for the file pywolken-0.1.1.tar.gz.
File metadata
- Download URL: pywolken-0.1.1.tar.gz
- Upload date:
- Size: 67.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56ef7e60dbe82fff7cb5fbe522cc5be35f9054c731f77bbcea98a28eb7f646ed
|
|
| MD5 |
8b88d9f87d7168fd374e069131724c8f
|
|
| BLAKE2b-256 |
74eaf8600fedfb4ad83ae2aba71786cd9a3b59dbb056aba46e2773918355e03c
|
File details
Details for the file pywolken-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pywolken-0.1.1-py3-none-any.whl
- Upload date:
- Size: 57.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b343de4b4e2d6b3d6051315193083cb2cf37c2a66c9b288ed76c5720bcc229e
|
|
| MD5 |
30ee832bffd2fa48fc87e01fa4951d91
|
|
| BLAKE2b-256 |
9caf0aae3d8c7a732be256d5d6e977f42b6170eeb9303ed6dbd2664be77e35af
|