# Development This page records the current local workflow for Python, native, test, and documentation changes. ## Build the project Install the native dependencies listed in [Installation](../installation.md), then install an editable copy with the test and documentation extras: ```console $ python -m pip install -e '.[test,docs]' ``` The editable install builds the native files once with CMake and places them in `site-packages`. Python changes under `src/` take effect immediately. After a change to C source or `CMakeLists.txt`, run the install command again. `CMakeLists.txt` at the repository root is the only native build definition. `liblaue.so` embeds the GPL-licensed GSL using static `libgsl.a` and `libgslcblas.a` from the build environment, with their symbols hidden by `--exclude-libs`; importing the wheel therefore does not load the environment's `libgsl.so` or OpenBLAS. It has these options, set with `--config-settings=cmake.define.