A modern, elegant approach to working with eOn.
We provide a pixi environment for reproducible builds:
pixi installThen build and install:
pixi run bash -c "meson setup bbdir \
--prefix=$CONDA_PREFIX --libdir=lib \
--buildtype release --wipe 2>/dev/null \
|| meson setup bbdir --prefix=$CONDA_PREFIX \
--libdir=lib --buildtype release"
pixi run meson install -C bbdirThe server is accessed through python -m eon.server. The eonclient binary
is automatically made available in the activated environment.
This is the preferred method.
cd client
# in pixi, add --prefix=$CONDA_PREFIX --libdir=lib
meson setup bbdir --buildtype=debug -Dbuild_tests=true
meson test -C bbdirPerformance benchmarks use ASV with results posted on PRs via asv-perch:
# Validate benchmarks
pixi run bash -c "pip install asv && asv check"
# Quick local run
pixi run bash -c "asv machine --yes && \
asv run -E 'existing:$(which python)' --quick"Run pre-commit before submitting pull requests:
uvx prek run --all-filesFor best results, install the git hook:
uvx prek installWe have both Catch2 unit tests, and also ApprovalTests. For adding new
approval tests, first build them with meson compile, run them to approve, and
then re-run to make sure things pass with meson test.