PDAL Python plugins allow you to process data with PDAL into Numpy arrays. They support embedding Python in PDAL pipelines with the readers.numpy and filters.python stages.
Installation
PyPI
PDAL Python plugins are installable via PyPI:
uv pip install pdal-plugins
If you are not using uv, pip install pdal-plugins works too.
GitHub
The repository for PDAL’s Python plugins is available at https://github.com/PDAL/python-plugins
Requirements
PDAL 2.6+
Python >=3.9
uv
Numpy
scikit-build-core
pybind11
CMake and Ninja
Development
The project uses uv for Python package installation and builds, with scikit-build-core driving the CMake build.
Create a development environment with the same dependencies used by CI:
mamba env create -f .github/environment.yml
mamba activate test
Install the plugins into that environment and build the C++ tests:
PYTHON=$(python -c 'import sys; print(sys.executable)')
uv pip install --python "$PYTHON" --no-build-isolation -Ccmake.define.WITH_TESTS=ON .
Run the tests from the scikit-build output directory:
export PYTHONHOME=$CONDA_PREFIX
export PATH=$CONDA_PREFIX/bin:$PATH
export WHEEL_DIR=$(python -m scikit_build_core.builder.wheel_tag)
export PDAL_DRIVER_PATH=$(pwd)/build/$WHEEL_DIR/Release
pdal --drivers
$PDAL_DRIVER_PATH/pdal_filters_python_test
$PDAL_DRIVER_PATH/pdal_io_numpy_test
Build source and wheel distributions with uv:
PYTHON=$(python -c 'import sys; print(sys.executable)')
uv build --python "$PYTHON"
Release files for pdal-plugins 1.6.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pdal_plugins-1.6.7.tar.gz | 296.7 kB | Details |
Release files / pdal_plugins-1.6.7.tar.gz
| Download URL | pdal_plugins-1.6.7.tar.gz |
|---|---|
| Size | 296.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c3497c97480da56ffb41ef3db2f8372f0e9ca8a7e2affe44f70e8bcc00e0496
|
|
BLAKE2b-256 checksum How to use checksums |
98a5af9e5c9b8f32e5f65f3188755b6b7ea03061c388d31114abc180e7b15bc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 7, 2026.
Transparency log