Bluesky tools for beamlines managed by the spectroscopy group.
"Don't fly in anything with a Capissen 38 engine, they fall right out of the sky."
First, download the package from github:
$ git clone https://github.com/spc-group/haven.git
$ cd havenHaven uses pixi for managing environments and dependencies, and running tasks.
If pixi is not installed, follow the instructions here.
Haven uses configuration files for most of the instrument-specific
details (PV prefixes, etc). Deciding which configuration files to use
is handled by Pixi. Each instrument has a Pixi feature with
environmental variables that point to the correct configuration files
to use. See pixi.toml for existing examples.
To start an iPython session with all the instrument features loaded, use:
$ pixi run ipythonThe default environment does not connect to any real hardware, and is meant for demonstration purposes.
To select a real beamline, provide an environment using -e <beamline> or
--environment <beamline>:
pixi run ipython -e 25idcFirefly is a user-facing application for controlling the beamlines managed by the spectroscopy group. It can be started using:
$ pixi run fireflyFirefly uses the same pixi environments described above.
To make changes to the window layouts using Qt Designer, use:
$ pixi run designerA bluesky queueserver instance can be launched using
$ pixi run qserverThe specifics of the queueserver are determined by environmental
variables in the instrument-specific Pixi features (pixi.toml).
Haven's default run-engine configuration requires a Tiled instance for writing data. A Tiled server can be started using
$ pixi run tiled
Configuration is handled by the configuration file referenced by the
$TILED_CONFIG in pixi.toml.
To run tests for a specific package, use:
$ pixi run test-haven
$ pixi run test-firefly
To run all tests as well as linting and type-checking, use:
$ pixi run test-all
Documentation is stored in docs/ and built using Sphinx:
$ pixi run make-docs
Coming soon…