@@ -5,8 +5,8 @@ PDAL Python Plugins
55PDAL Python plugins allow you to process data with PDAL into
66`Numpy <http://www.numpy.org/ >`__ arrays.
77They support embedding Python in PDAL pipelines with the
8- `readers.numpy <https://pdal.io /stages/readers.numpy.html >`__ and
9- `filters.python <https://pdal.io /stages/filters.python.html >`__ stages.
8+ `readers.numpy <https://pdal.org /stages/readers.numpy.html >`__ and
9+ `filters.python <https://pdal.org /stages/filters.python.html >`__ stages.
1010
1111Installation
1212--------------------------------------------------------------------------------
@@ -18,7 +18,9 @@ PDAL Python plugins are installable via PyPI:
1818
1919.. code-block ::
2020
21- pip install pdal-plugins
21+ uv pip install pdal-plugins
22+
23+ If you are not using uv, :code: `pip install pdal-plugins ` works too.
2224
2325GitHub
2426................................................................................
@@ -33,5 +35,47 @@ Requirements
3335
3436* PDAL 2.6+
3537* Python >=3.9
36- * Numpy (eg :code: `pip install numpy `)
37- * scikit-build-core (eg :code: `pip install scikit-build-core `)
38+ * uv
39+ * Numpy
40+ * scikit-build-core
41+ * pybind11
42+ * CMake and Ninja
43+
44+ Development
45+ ================================================================================
46+
47+ The project uses uv for Python package installation and builds, with
48+ scikit-build-core driving the CMake build.
49+
50+ Create a development environment with the same dependencies used by CI:
51+
52+ .. code-block :: bash
53+
54+ mamba env create -f .github/environment.yml
55+ mamba activate test
56+
57+ Install the plugins into that environment and build the C++ tests:
58+
59+ .. code-block :: bash
60+
61+ PYTHON=$( python -c ' import sys; print(sys.executable)' )
62+ uv pip install --python " $PYTHON " --no-build-isolation -Ccmake.define.WITH_TESTS=ON .
63+
64+ Run the tests from the scikit-build output directory:
65+
66+ .. code-block :: bash
67+
68+ export PYTHONHOME=$CONDA_PREFIX
69+ export PATH=$CONDA_PREFIX /bin:$PATH
70+ export WHEEL_DIR=$( python -m scikit_build_core.builder.wheel_tag)
71+ export PDAL_DRIVER_PATH=$( pwd) /build/$WHEEL_DIR /Release
72+ pdal --drivers
73+ $PDAL_DRIVER_PATH /pdal_filters_python_test
74+ $PDAL_DRIVER_PATH /pdal_io_numpy_test
75+
76+ Build source and wheel distributions with uv:
77+
78+ .. code-block :: bash
79+
80+ PYTHON=$( python -c ' import sys; print(sys.executable)' )
81+ uv build --python " $PYTHON "
0 commit comments