Additional information for developers

This page explains how to work on DiscoPygal from source. Use it when you want to edit the code, build distribution artifacts, or run the project in development mode.

Working from source

Clone the repository and enter it:

git clone https://github.com/TAU-CGL/discopygal.git
cd discopygal

Editable install with uv

Install the project in editable mode:

uv venv
uv sync
uv pip install -e .

Use this mode when you want changes in the repository to be available immediately.

uv workflow

Create and synchronize the project environment:

uv venv
uv sync

Use a specific Python version when needed:

uv python install 3.12
uv venv --python 3.12
uv sync

Activate the environment with:

source .venv/bin/activate

On Windows PowerShell, activate with:

.\.venv\Scripts\Activate.ps1

If you add a new dependency while developing, use:

uv add <package>

For development-only dependencies, use:

uv add --dev <package>

Manual build workflow

If you want to build the wheel manually, install CGALPY and then build the package.

Install CGALPY:

uv pip install git+https://bitbucket.org/taucgl/cgal-python-bindings/src/master/

Build and install the wheel:

uv pip install build
python ./scripts/build_package.py
uv pip install dist/discopygal-taucgl-<version>-py3-none-any.whl

Testing

Run the unit tests after installation or code changes:

python -m unittest