Overview
The DOOCS Python Interface for Experiments (doocspie) library provides the basic functions for I/O operations with the DOOCS control system, as well as subpackages for recurrent tasks when performing experiments and evaluating data with Python within the context of DOOCS. General information on DOOCS, the Distributed Object-Oriented Control System Framework, can be found here: https://doocs-web.desy.de. Currently, doocspie consists of the components depicted below:
The core
package provides all the low-level functionalities of pydoocs, which represents the Python bindings to
the C++ DOOCS client API. The fundamental higher level functions for I/O operations with the DOOCS control system,
including custom exceptions, are part of the doocspie
package itself. The classes in the abo
package allow
sophisticated synchronous readout utilizing callback functions and/or iterators. The gui
package provides simplified
access to DOOCS property servers, allowing visualization with the Java DOOCS Data Display (JDDD), as well as a
scriptable graphical user interface (GUI) for custom data visualization with PyQt. For our dedicated user beamline
applications, the pyqt
package offers frequently used functionalities to make the GUI code shorter and simpler. The
daq
package provides means for simplified readout using DAQ monitors, and finally, the util
package facilitates
solving typical tasks when analyzing data.
We aim to steadily provide the doocspie library for the latest three Python minor versions, and its Git repository can be found here: https://gitlab.desy.de/flash-python-apps-and-libs/doocspie.