Beamline objects are the central hub of all devices devices and provide a convenient configuration mechanism for defining component devices.

class mxdc.beamlines.Beamline(console=False)

Base class for all Beamline objects

Initializes a Beamline object from a python configuration file. The devices defined in the configuration file can be accessed by name as attributes of the beamline.


console – if True, initialize console devices as well

The configuration file is loaded as a python module and follows the following conventions:

  • Optionally will also load a local module defined in the file <config-module> for the above example.

  • Global Variables:


  • ready: (bool,)


  • DEFAULTS: dict, default config values for the beamline

  • REQUIRED: list of required device names. All devices on this list must be defined in the config file.


Cleanup devices which can be cleaned up


Check if the current user is an administrator


Check if beamline is ready


Read the configuration file and register all devices. You should not need to call this method directly.


Additional setup tasks should be defined here. This is run after the configuration is loaded and all devices and services have been added to the registry