Within this repository lies all scripts needed to perform a full partial wave analysis of the neutral
This project uses uv with scikit-build-core and CMake to build both Python packages and C++ executables. The build system supports both debug and release configurations.
- JLab ifarm node - This repository must be on a JLab ifarm node
- uv - Python package manager (installation instructions)
- GlueX environment - Source the environment first:
source config/setup_gluex.sh
Use the provided build script for convenience:
# Quick builds for c++ binaries - outputs to build/debug/ or build/release/
./build_with_env.sh debug # Debug build → build/debug/bin/
./build_with_env.sh release # Release build → build/release/bin/
# Python package builds - outputs to build/python/
./build_with_env.sh dev Debug # Development debug build
./build_with_env.sh dev Release # Development release build
# Wheel builds - outputs to build/python/ and dist/
./build_with_env.sh wheel Debug # Debug wheel
./build_with_env.sh wheel Release # Release wheel (default)debug/release: Executables inbuild/debug/bin/orbuild/release/bin/dev: Python package installed, C++ executables accessible via Python environmentwheel: Self-contained Python wheel with embedded C++ executables
If you prefer to build manually:
# Source the environment first
source config/setup_gluex.sh
# Set build type (Debug or Release)
export CMAKE_BUILD_TYPE=Release
# Install in development mode
uv pip install -e .
# Or build a wheel
uv buildDocumentation is currently compiled by running make html within the docs folder.
TODO: Describe where to find documentation, and maybe a short description of how to make it. Might want to use sphinx + doxygen as described here, but need to look into other suggestions for easiest solution to making dual c++/python docs