Updating to template version 1.3.2
CI for detector_group_bec / test (pull_request) Successful in 31s
CI for detector_group_bec / test (push) Successful in 30s

This commit was merged in pull request #6.
This commit is contained in:
2026-05-20 10:42:02 +02:00
parent dc8ac3cc18
commit 70a8d73531
5 changed files with 49 additions and 1 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
# It is needed to track the repo template version, and editing may break things.
# This file will be overwritten by copier on template updates.
_commit: v1.2.8
_commit: v1.3.2
_src_path: https://github.com/bec-project/plugin_copier_template.git
make_commit: false
project_name: detector_group_bec
@@ -0,0 +1,12 @@
"""
Scan components for detector_group_bec.
The scan components module allows you to define custom components that can be used in your scans.
These components can be used to encapsulate reusable logic, interact with devices, or perform specific actions during the scan lifecycle.
"""
from bec_server.scan_server.scans.scan_components import ScanComponents
class DetectorGroupBecScanComponents(ScanComponents):
"""Scan components for detector_group_bec."""
@@ -0,0 +1,33 @@
"""
Scan modifier plugin for detector_group_bec.
The scan modifier allows you to modify the scan lifecycle and run custom actions before or after the scan hook or replace the scan hook entirely.
Note that the scan_modifier module must be registered as a plugin in the pyproject.toml file for it to be recognized by the BEC framework and that
there can only be one scan_modifier plugin registered at a time. If you need to run multiple scan modifiers, you can create a single scan
modifier plugin that runs multiple actions in sequence with conditional logic to determine which actions to run based on the scan context.
"""
from bec_server.scan_server.scans.scan_modifier import ScanModifier, scan_hook_impl
class DetectorGroupBecScanModifier(ScanModifier):
"""
Scan modifier for detector_group_bec.
By inheriting from the ScanModifier base class, you get access to currently running scan (self.scan), the devices (self.dev), the scan info (self.scan_info),
the scan components (self.components) and the scan actions (self.actions).
"""
def __init__(self, **kwargs):
"""Initialize the scan modifier."""
super().__init__(**kwargs)
# Example of running code before the scan stage for a specific scan
# @scan_hook_impl("stage", "before")
# def before_stage(self):
# """Run before the stage hook."""
# self.actions.send_client_info("Custom stage logic executed by ScanModifier.")
# if self.scan_info.scan_name == "example_scan":
# self.dev.samx.set(20)
+3
View File
@@ -41,6 +41,9 @@ plugin_file_writer = "detector_group_bec.file_writer"
[project.entry-points."bec.scans"]
plugin_scans = "detector_group_bec.scans"
[project.entry-points."bec.scans.scan_modifier"]
plugin_scan_modifier = "detector_group_bec.scans.scan_customization.scan_modifier"
[project.entry-points."bec.scans.metadata_schema"]
plugin_metadata_schema = "detector_group_bec.scans.metadata_schema"