Beamlines Plugin System
PyStream supports per-facility plugin packs. Each beamline lives in its own subdirectory and provides one or more toolbar buttons.
Selecting a beamline
Edit src/pystream/beamline_config.py:
ACTIVE_BEAMLINE = 'bl32ID' # or None to disable
See the Configuration Guide.
Using beamline tools
Click Beamlines in the top toolbar to show the beamlines bar, pick a beamline, then select a tool.
Built-in beamlines
bl32ID — APS 32-ID TXM imaging and tomography tools.
Adding a new beamline
Create
src/pystream/beamlines/bl<ID>/with an__init__.py.In
__init__.py, import each plugin class and list them in__all__:from .my_tool import MyToolDialog __all__ = ['MyToolDialog']
Each plugin class is a
QDialog(orQWidget) with class attributesBUTTON_TEXT = "..."andHANDLER_TYPE = 'singleton'.Set
ACTIVE_BEAMLINE = 'bl<ID>'inbeamline_config.pyand restart.
For launching standalone GUI scripts as separate processes, see the Launcher Guide.