Tool (desktop application) for allowing the examination of Time of Flight (ToF) inelastic neutron data, from single crystal, direct geometry experiments.
Create and activate a virtual environment with Pixi. Prerequisites: Pixi installation e.g. for Linux:
curl -fsSL https://pixi.sh/install.sh | sh
Download the repository. Setup/Update the environment
pixi install
Enter the environment
pixi shell
The Shiver environment is activated and the application is ready to use.
Start the application
shiver
To start shiver from within the Mantid workbench, start
mantidworkbench
then run the following in the IPython
console
from shiver import Shiver
s=Shiver()
s.show()
Development/Deployment
Any change to pyproject.toml, e.g. new dependencies, requires updating the pixi.lock file and including it in the commit.
pixi.lock
Testing
To run all tests for shiver
pytest
#or
python -m pytest
To run pre-commit manually
pre-commit run --all-files
Or
To set the pre-commit hook before each git commit
pre-commit install
Automated Jobs
The repository runs automated tests on branches during Pull-Requests and on the main ones: next, main and qa. The jobs are described in .github/workflows/actions.yml:
-
Testing suite
. It includes pytest, pre-commit and code coverage tools -
Conda build
. A new conda package is built and uploaded in a github temporary location (servers). -
Conda Verify
. The new conda package is installed in a test environment and checked, e.g. import shiver. -
Publish
. The new conda package is uploaded in Anaconda Neutrons registry. -
Trigger deploy
. Given that the two above jobs were successful, deployment is triggered. (this is temporarily in comments)
Documentation Updates
When adding new views, presenters and methods, please navigate to docs/source/repo_doc.rst. Add the new feature under the appropriate section following the given template:
.. automodule:: path.to.new.module
:members:
Once complete, rebuild the documentation:
cd SHIVER/docs/
make clean
make html
https://shiver.readthedocs.io/en/latest/