Python packages useful for the development of the Sirius control system.
Packages | Description |
---|---|
siriuspy |
Sirius control system classes and utility functions used in HLA and IOC applications. |
-
siriuspy.bsmp
- BSMP functionalities. -
siriuspy.clientarch
- Retrieve data from epics archiver. -
siriuspy.clientconfigdb
- Client-side library to interact with Sirius configuration server. -
siriuspy.servweb
- Functions to retrieve data from the static table server. -
siriuspy.currinfo
- Classes for Sirius current information. -
siriuspy.cycle
- Classes for magnet cycling. -
siriuspy.devices
- Classes that implement epics devices. -
siriuspy.diagbeam
- Classes for Beam diagnostics -
siriuspy.epics
- Auxiliary classes for epics functionalities. -
siriuspy.machshift
- Machine shift classes. -
siriuspy.magnet
- Classes and structures useful to represent magnet properties. -
siriuspy.meas
- Beam measurements classes. -
siriuspy.namesys
- Functionalities to deal with names for Sirius naming system. -
siriuspy.optics
- Constants, functions and data related to Sirius beam optics. -
siriuspy.opticscorr
- Optical corrections. -
siriuspy.posang
- Position and Angle corrections. -
siriuspy.ramp
- Library used to perform booster ramp operations. -
siriuspy.search
- Search methods for various data structures retrieved from the static tables of the control system constants server. -
siriuspy.sofb
- Classes for Slow Orbit Feedback system. -
siriuspy.timesys
- Functionalities related to Sirius timing subsystem. -
siriuspy.callbacks.py
- (module) Implementation of general function callback mechanism similar to Epics PV callbacks. -
siriuspy.csdev.py
- (module) General control system device funcstion adn data structures. -
siriuspy.envars.py
- (module) Configuration of environment variables. -
siriuspy.thread.py
- (module) Thread classes. -
siriuspy.util.py
- General useful functions and constants
See the repository's requirements.txt file.
cd siriuspy
./setup.py install
Before making pull-requests to master
branch, unittests can be run.
-
To run all integration unittests, issue the following commands
cd sirius pytest tests/
-
To run unittests for specific subpackages or modules, for example, issue
cd siriuspy pytest tests/devices/ pytest tests/pwrsupply/test_csdev.py