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.
Repository links¶
Source repository: https://github.com/TAU-CGL/discopygal
Project page: https://www.cgl.cs.tau.ac.il/projects/discopygal/
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