Installation¤
Stable release¤
This pulls a pre-built wheel (the C++ Clipper2 extension is already compiled), so no build tools are needed.
Development with uv¤
compas_cnc compiles a C++ extension (a Clipper2 wrapper) via scikit-build-core +
nanobind, so a development install needs a C++17 compiler, CMake (>=3.15) and Git.
The project environment is managed with uv.
Set up the environment:
git clone https://github.com/BRG-research/compas_cnc.git
cd compas_cnc
uv venv --python 3.12 # create .venv
Install the build backend, then the package itself with build isolation off (so the extension is rebuilt against this environment):
Add -Ceditable.rebuild=true to the last command to auto-recompile the extension on
import while developing.
Running¤
The examples use the COMPAS Viewer for visualisation:
Run the test suite with:
Documentation¤
To build and serve the documentation locally: