Neutron data reduction software for the VULCAN instrument, at SNS@ORNL
This project uses Pixi as the single tool for managing environments, dependencies, packaging, and task execution.
Follow the installation instructions from the Pixi website, or use:
curl -fsSL https://pixi.sh/install.sh | bashRun the following command to create and activate the project environment with all dependencies:
pixi installUse the following command to list all project-defined tasks:
pixi runExample tasks:
build-pypi: build the PyPI wheelbuild-conda: build the Conda packagetest: run the test suiteconda-publish,pypi-publish: publish the built artifactsclean-*: clean build artifacts
Activate the Pixi environment:
pixi shellThen, for development:
- Run tests:
pixi run test - Run linting:
ruff check . - Perform editable install:
pip install --no-deps -e .
This ensures your environment remains clean and all tasks are reproducible.
- 📦 Unified packaging for both PyPI and Conda via
pixi build - 🐍 Python 3.11+ compatibility
- ⚙️ Versioning handled by
versioningit, derived from Git tags - 🧪 Testing with
pytestand code coverage reporting - 🧼 Linting & formatting with
ruff - 🚀 Task automation via
pixi run - 🔁 Supports CLI and optional GUI through modular structure in
src/vnext/
On SNS Analysis systems, the pixi run conda-build task will fail due to sqlite3 file locking issue.
This is most likely due to the user directory being a shared mount,
which interferes with pixi and conda environment locking.