mx-bluesky 1.5.5__py3-none-any.whl → 1.5.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. mx_bluesky/_version.py +2 -2
  2. mx_bluesky/beamlines/i02_1/parameters/__init__.py +0 -0
  3. mx_bluesky/beamlines/i02_1/parameters/gridscan.py +35 -0
  4. mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +6 -3
  5. mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +3 -1
  6. mx_bluesky/beamlines/i04/thawing_plan.py +15 -8
  7. mx_bluesky/beamlines/i24/jungfrau_commissioning/do_external_acquisition.py +44 -0
  8. mx_bluesky/beamlines/i24/jungfrau_commissioning/do_internal_acquisition.py +46 -0
  9. mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_utils.py +73 -0
  10. mx_bluesky/common/device_setup_plans/robot_load_unload.py +2 -1
  11. mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +29 -5
  12. mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +7 -8
  13. mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +6 -6
  14. mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +30 -22
  15. mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +73 -15
  16. mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -20
  17. mx_bluesky/common/parameters/components.py +1 -0
  18. mx_bluesky/common/parameters/device_composites.py +2 -2
  19. mx_bluesky/common/parameters/gridscan.py +67 -49
  20. mx_bluesky/hyperion/__main__.py +16 -3
  21. mx_bluesky/hyperion/baton_handler.py +39 -9
  22. mx_bluesky/hyperion/device_setup_plans/smargon.py +13 -8
  23. mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +19 -8
  24. mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +2 -2
  25. mx_bluesky/hyperion/external_interaction/agamemnon.py +6 -2
  26. mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +10 -2
  27. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +37 -1
  28. mx_bluesky/hyperion/parameters/constants.py +1 -0
  29. mx_bluesky/hyperion/parameters/device_composites.py +2 -2
  30. mx_bluesky/hyperion/parameters/gridscan.py +3 -3
  31. mx_bluesky/hyperion/plan_runner.py +2 -4
  32. mx_bluesky/hyperion/plan_runner_api.py +43 -0
  33. {mx_bluesky-1.5.5.dist-info → mx_bluesky-1.5.7.dist-info}/METADATA +2 -2
  34. {mx_bluesky-1.5.5.dist-info → mx_bluesky-1.5.7.dist-info}/RECORD +38 -32
  35. {mx_bluesky-1.5.5.dist-info → mx_bluesky-1.5.7.dist-info}/WHEEL +0 -0
  36. {mx_bluesky-1.5.5.dist-info → mx_bluesky-1.5.7.dist-info}/entry_points.txt +0 -0
  37. {mx_bluesky-1.5.5.dist-info → mx_bluesky-1.5.7.dist-info}/licenses/LICENSE +0 -0
  38. {mx_bluesky-1.5.5.dist-info → mx_bluesky-1.5.7.dist-info}/top_level.txt +0 -0
@@ -8,11 +8,13 @@ import pydantic
8
8
  from blueapi.core import BlueskyContext
9
9
  from bluesky.preprocessors import run_decorator, set_run_key_decorator, subs_wrapper
10
10
  from bluesky.utils import MsgGenerator
11
+ from dodal.devices.baton import Baton
11
12
  from dodal.devices.oav.oav_parameters import OAVParameters
12
13
 
13
14
  import mx_bluesky.common.xrc_result as flyscan_result
14
15
  from mx_bluesky.common.parameters.components import WithSnapshot
15
16
  from mx_bluesky.common.utils.context import device_composite_from_context
17
+ from mx_bluesky.common.utils.exceptions import CrystalNotFoundException
16
18
  from mx_bluesky.common.utils.log import LOGGER
17
19
  from mx_bluesky.common.xrc_result import XRayCentreEventHandler
18
20
  from mx_bluesky.hyperion.experiment_plans.robot_load_then_centre_plan import (
@@ -36,6 +38,8 @@ from mx_bluesky.hyperion.parameters.rotation import RotationScanPerSweep
36
38
  class LoadCentreCollectComposite(RobotLoadThenCentreComposite, RotationScanComposite):
37
39
  """Composite that provides access to the required devices."""
38
40
 
41
+ baton: Baton
42
+
39
43
 
40
44
  def create_devices(context: BlueskyContext) -> LoadCentreCollectComposite:
41
45
  """Create the necessary devices for the plan."""
@@ -51,8 +55,9 @@ def load_centre_collect_full(
51
55
  * Load the sample if necessary
52
56
  * Move to the specified goniometer start angles
53
57
  * Perform optical centring, then X-ray centring
54
- * If X-ray centring finds a diffracting centre then move to that centre and
55
- * do a collection with the specified parameters.
58
+ * If X-ray centring finds one or more diffracting centres then for each centre
59
+ that satisfies the chosen selection function,
60
+ move to that centre and do a collection with the specified parameters.
56
61
  """
57
62
 
58
63
  get_hyperion_config_client().refresh_cache()
@@ -81,12 +86,18 @@ def load_centre_collect_full(
81
86
  )
82
87
  def plan_with_callback_subs():
83
88
  flyscan_event_handler = XRayCentreEventHandler()
84
- yield from subs_wrapper(
85
- robot_load_then_xray_centre(
86
- composite, parameters.robot_load_then_centre, oav_config_file
87
- ),
88
- flyscan_event_handler,
89
- )
89
+ try:
90
+ yield from subs_wrapper(
91
+ robot_load_then_xray_centre(
92
+ composite, parameters.robot_load_then_centre, oav_config_file
93
+ ),
94
+ flyscan_event_handler,
95
+ )
96
+ except CrystalNotFoundException:
97
+ if parameters.select_centres.ignore_xtal_not_found:
98
+ LOGGER.info("Ignoring crystal not found due to parameter settings.")
99
+ else:
100
+ raise
90
101
 
91
102
  locations_to_collect_um: list[np.ndarray]
92
103
  samples_to_collect: list[int]
@@ -12,7 +12,7 @@ from dodal.devices.attenuator.attenuator import BinaryFilterAttenuator
12
12
  from dodal.devices.backlight import Backlight
13
13
  from dodal.devices.detector.detector_motion import DetectorMotion
14
14
  from dodal.devices.eiger import EigerDetector
15
- from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScan
15
+ from dodal.devices.fast_grid_scan import PandAFastGridScan, ZebraFastGridScanThreeD
16
16
  from dodal.devices.flux import Flux
17
17
  from dodal.devices.focusing_mirror import FocusingMirrorWithStripes, MirrorVoltages
18
18
  from dodal.devices.i03 import Beamstop
@@ -72,7 +72,7 @@ class RobotLoadThenCentreComposite:
72
72
  backlight: Backlight
73
73
  detector_motion: DetectorMotion
74
74
  eiger: EigerDetector
75
- zebra_fast_grid_scan: ZebraFastGridScan
75
+ zebra_fast_grid_scan: ZebraFastGridScanThreeD
76
76
  flux: Flux
77
77
  oav: OAV
78
78
  pin_tip_detection: PinTipDetection
@@ -1,5 +1,6 @@
1
1
  import dataclasses
2
2
  import json
3
+ import os
3
4
  import re
4
5
  import traceback
5
6
  from collections.abc import Sequence
@@ -27,7 +28,6 @@ from mx_bluesky.hyperion.parameters.components import Wait
27
28
  from mx_bluesky.hyperion.parameters.load_centre_collect import LoadCentreCollect
28
29
 
29
30
  T = TypeVar("T", bound=WithVisit)
30
- AGAMEMNON_URL = "http://agamemnon.diamond.ac.uk/"
31
31
  MULTIPIN_PREFIX = "multipin"
32
32
  MULTIPIN_FORMAT_DESC = "Expected multipin format is multipin_{number_of_wells}x{well_size}+{distance_between_tip_and_first_well}"
33
33
  MULTIPIN_REGEX = rf"^{MULTIPIN_PREFIX}_(\d+)x(\d+(?:\.\d+)?)\+(\d+(?:\.\d+)?)$"
@@ -191,7 +191,11 @@ def _get_pin_type_from_agamemnon_collect_parameters(
191
191
 
192
192
 
193
193
  def _get_next_instruction(beamline: str) -> dict:
194
- return _get_parameters_from_url(AGAMEMNON_URL + f"getnextcollect/{beamline}")
194
+ return _get_parameters_from_url(get_agamemnon_url() + f"getnextcollect/{beamline}")
195
+
196
+
197
+ def get_agamemnon_url() -> str:
198
+ return os.environ.get("AGAMEMNON_URL", "http://agamemnon.diamond.ac.uk/")
195
199
 
196
200
 
197
201
  def _get_withvisit_parameters_from_agamemnon(parameters: dict) -> tuple:
@@ -23,6 +23,7 @@ from mx_bluesky.common.external_interaction.callbacks.sample_handling.sample_han
23
23
  )
24
24
  from mx_bluesky.common.external_interaction.callbacks.xray_centre.ispyb_callback import (
25
25
  GridscanISPyBCallback,
26
+ generate_start_info_from_omega_map,
26
27
  )
27
28
  from mx_bluesky.common.external_interaction.callbacks.xray_centre.nexus_callback import (
28
29
  GridscanNexusFileCallback,
@@ -41,6 +42,7 @@ from mx_bluesky.hyperion.external_interaction.callbacks.robot_actions.ispyb_call
41
42
  )
42
43
  from mx_bluesky.hyperion.external_interaction.callbacks.rotation.ispyb_callback import (
43
44
  RotationISPyBCallback,
45
+ generate_start_info_from_ordered_runs,
44
46
  )
45
47
  from mx_bluesky.hyperion.external_interaction.callbacks.rotation.nexus_callback import (
46
48
  RotationNexusFileCallback,
@@ -66,7 +68,9 @@ def create_gridscan_callbacks() -> tuple[
66
68
  GridscanNexusFileCallback(param_type=HyperionSpecifiedThreeDGridScan),
67
69
  GridscanISPyBCallback(
68
70
  param_type=GridCommonWithHyperionDetectorParams,
69
- emit=ZocaloCallback(CONST.PLAN.DO_FGS, CONST.ZOCALO_ENV),
71
+ emit=ZocaloCallback(
72
+ CONST.PLAN.DO_FGS, CONST.ZOCALO_ENV, generate_start_info_from_omega_map
73
+ ),
70
74
  ),
71
75
  )
72
76
 
@@ -77,7 +81,11 @@ def create_rotation_callbacks() -> tuple[
77
81
  return (
78
82
  RotationNexusFileCallback(),
79
83
  RotationISPyBCallback(
80
- emit=ZocaloCallback(CONST.PLAN.ROTATION_MULTI, CONST.ZOCALO_ENV)
84
+ emit=ZocaloCallback(
85
+ CONST.PLAN.ROTATION_MULTI,
86
+ CONST.ZOCALO_ENV,
87
+ generate_start_info_from_ordered_runs,
88
+ )
81
89
  ),
82
90
  )
83
91
 
@@ -3,6 +3,8 @@ from __future__ import annotations
3
3
  from collections.abc import Callable, Sequence
4
4
  from typing import TYPE_CHECKING, Any, cast
5
5
 
6
+ from dodal.devices.zocalo import ZocaloStartInfo
7
+
6
8
  from mx_bluesky.common.external_interaction.callbacks.common.ispyb_callback_base import (
7
9
  BaseISPyBCallback,
8
10
  )
@@ -10,6 +12,9 @@ from mx_bluesky.common.external_interaction.callbacks.common.ispyb_mapping impor
10
12
  populate_data_collection_group,
11
13
  populate_remaining_data_collection_info,
12
14
  )
15
+ from mx_bluesky.common.external_interaction.callbacks.common.zocalo_callback import (
16
+ ZocaloInfoGenerator,
17
+ )
13
18
  from mx_bluesky.common.external_interaction.ispyb.data_model import (
14
19
  DataCollectionInfo,
15
20
  DataCollectionPositionInfo,
@@ -21,6 +26,7 @@ from mx_bluesky.common.external_interaction.ispyb.ispyb_store import (
21
26
  )
22
27
  from mx_bluesky.common.parameters.components import IspybExperimentType
23
28
  from mx_bluesky.common.utils.log import ISPYB_ZOCALO_CALLBACK_LOGGER, set_dcgid_tag
29
+ from mx_bluesky.common.utils.utils import number_of_frames_from_scan_spec
24
30
  from mx_bluesky.hyperion.external_interaction.callbacks.rotation.ispyb_mapping import (
25
31
  populate_data_collection_info_for_rotation,
26
32
  )
@@ -175,4 +181,34 @@ class RotationISPyBCallback(BaseISPyBCallback):
175
181
  if doc.get("run_start") == self.uid_to_finalize_on:
176
182
  self.uid_to_finalize_on = None
177
183
  return super().activity_gated_stop(doc)
178
- return self._tag_doc(doc)
184
+ return self.tag_doc(doc)
185
+
186
+
187
+ def generate_start_info_from_ordered_runs() -> ZocaloInfoGenerator:
188
+ """
189
+ Generate the zocalo trigger info from bluesky runs where the frame number is
190
+ computed using the order in which the run start docs are received.
191
+ Yields:
192
+ A list of the ZocaloStartInfo objects extracted from the event
193
+ Send:
194
+ A dict containing the run start document
195
+ """
196
+ start_frame = 0
197
+ doc = yield []
198
+ while doc:
199
+ zocalo_info = []
200
+ if (
201
+ isinstance(scan_points := doc.get("scan_points"), list)
202
+ and isinstance(ispyb_ids := doc.get("ispyb_dcids"), tuple)
203
+ and len(ispyb_ids) > 0
204
+ ):
205
+ ISPYB_ZOCALO_CALLBACK_LOGGER.info(f"Zocalo triggering for {ispyb_ids}")
206
+ ids_and_shape = list(zip(ispyb_ids, scan_points, strict=False))
207
+ for idx, id_and_shape in enumerate(ids_and_shape):
208
+ id, shape = id_and_shape
209
+ num_frames = number_of_frames_from_scan_spec(shape)
210
+ zocalo_info.append(
211
+ ZocaloStartInfo(id, None, start_frame, num_frames, idx)
212
+ )
213
+ start_frame += num_frames
214
+ doc = yield zocalo_info
@@ -56,6 +56,7 @@ class HyperionConstants:
56
56
  PARAM = ExperimentParamConstants()
57
57
  PLAN = PlanNameConstants()
58
58
  WAIT = PlanGroupCheckpointConstants()
59
+ HYPERION_PORT = 5005
59
60
  CALLBACK_0MQ_PROXY_PORTS = (5577, 5578)
60
61
  DESCRIPTORS = DocDescriptorNames()
61
62
  CONFIG_SERVER_URL = (
@@ -10,7 +10,7 @@ from dodal.devices.common_dcm import BaseDCM
10
10
  from dodal.devices.eiger import EigerDetector
11
11
  from dodal.devices.fast_grid_scan import (
12
12
  PandAFastGridScan,
13
- ZebraFastGridScan,
13
+ ZebraFastGridScanThreeD,
14
14
  )
15
15
  from dodal.devices.flux import Flux
16
16
  from dodal.devices.robot import BartRobot
@@ -51,7 +51,7 @@ class HyperionFlyScanXRayCentreComposite(FlyScanEssentialDevices):
51
51
  sample_shutter: ZebraShutter
52
52
  backlight: Backlight
53
53
  xbpm_feedback: XBPMFeedback
54
- zebra_fast_grid_scan: ZebraFastGridScan
54
+ zebra_fast_grid_scan: ZebraFastGridScanThreeD
55
55
 
56
56
 
57
57
  @pydantic.dataclasses.dataclass(config={"arbitrary_types_allowed": True})
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from dodal.devices.fast_grid_scan import (
4
4
  PandAGridScanParams,
5
- ZebraGridScanParams,
5
+ ZebraGridScanParamsThreeD,
6
6
  )
7
7
 
8
8
  from mx_bluesky.common.parameters.gridscan import (
@@ -44,8 +44,8 @@ class HyperionSpecifiedThreeDGridScan(SpecifiedThreeDGridScan):
44
44
 
45
45
  # Relative to common grid scan, stub offsets are defined by config server
46
46
  @property
47
- def FGS_params(self) -> ZebraGridScanParams:
48
- return ZebraGridScanParams(
47
+ def FGS_params(self) -> ZebraGridScanParamsThreeD:
48
+ return ZebraGridScanParamsThreeD(
49
49
  x_steps=self.x_steps,
50
50
  y_steps=self.y_steps,
51
51
  z_steps=self.z_steps,
@@ -19,12 +19,10 @@ class PlanException(Exception):
19
19
  class PlanRunner(BaseRunner):
20
20
  """Runner that executes experiments from inside a running Bluesky plan"""
21
21
 
22
- def __init__(
23
- self,
24
- context: BlueskyContext,
25
- ) -> None:
22
+ def __init__(self, context: BlueskyContext, dev_mode: bool) -> None:
26
23
  super().__init__(context)
27
24
  self.current_status: Status = Status.IDLE
25
+ self.is_dev_mode = dev_mode
28
26
 
29
27
  def execute_plan(
30
28
  self,
@@ -0,0 +1,43 @@
1
+ from threading import Thread
2
+
3
+ from flask import Flask
4
+ from flask_restful import Api, Resource
5
+
6
+ from mx_bluesky.common.utils.log import LOGGER
7
+ from mx_bluesky.hyperion.parameters.constants import HyperionConstants
8
+ from mx_bluesky.hyperion.plan_runner import PlanRunner
9
+
10
+
11
+ # Ignore this function for code coverage as there is no way to shut down
12
+ # a server once it is started.
13
+ def create_server_for_udc(runner: PlanRunner) -> Thread: # pragma: no cover
14
+ """Create a minimal API for Hyperion UDC mode"""
15
+ app = create_app_for_udc(runner)
16
+
17
+ flask_thread = Thread(
18
+ target=app.run,
19
+ kwargs={"host": "0.0.0.0", "port": HyperionConstants.HYPERION_PORT},
20
+ daemon=True,
21
+ )
22
+ flask_thread.start()
23
+ LOGGER.info(f"Hyperion now listening on {HyperionConstants.HYPERION_PORT}")
24
+ return flask_thread
25
+
26
+
27
+ def create_app_for_udc(runner):
28
+ app = Flask(__name__)
29
+ api = Api(app)
30
+ api.add_resource(StatusResource, "/status", resource_class_args=[runner])
31
+ return app
32
+
33
+
34
+ class StatusResource(Resource):
35
+ """Status endpoint, used by k8s healthcheck probe"""
36
+
37
+ def __init__(self, runner: PlanRunner):
38
+ super().__init__()
39
+ self._runner = runner
40
+
41
+ def get(self):
42
+ status = self._runner.current_status
43
+ return {"status": status.value}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mx-bluesky
3
- Version: 1.5.5
3
+ Version: 1.5.7
4
4
  Summary: Bluesky tools for MX Beamlines at DLS
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
6
6
  License: Apache License
@@ -241,7 +241,7 @@ Requires-Dist: blueapi>=0.15.0
241
241
  Requires-Dist: ophyd>=1.10.5
242
242
  Requires-Dist: ophyd-async>=0.10.0a2
243
243
  Requires-Dist: bluesky>=1.13.1
244
- Requires-Dist: dls-dodal==1.57.0
244
+ Requires-Dist: dls-dodal==1.59.1
245
245
  Provides-Extra: dev
246
246
  Requires-Dist: black; extra == "dev"
247
247
  Requires-Dist: build; extra == "dev"
@@ -1,6 +1,6 @@
1
1
  mx_bluesky/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
2
2
  mx_bluesky/__main__.py,sha256=RVqPnxDisFMIn_aoEi0drlThNHgKTJULnSrotouIKI0,480
3
- mx_bluesky/_version.py,sha256=-6ligW2dI8j2jxE-2b0-iN0QH0LgHVSboUTjBV5nIrc,704
3
+ mx_bluesky/_version.py,sha256=tWEHhcF-B3ZCm03c7NdWw62JDBTng_hHdXpAHRLC5B8,704
4
4
  mx_bluesky/definitions.py,sha256=ULpEYAUzdQiEbBoTgYTMxfUf3DDDjhYtvDxofs7Qxqw,168
5
5
  mx_bluesky/jupyter_example.ipynb,sha256=wpwvPrBvwtRMS5AIFk8F54cIlUoD0o4ji8tKK5cZHA4,1672
6
6
  mx_bluesky/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -8,15 +8,20 @@ mx_bluesky/beamlines/aithre_lasershaping/__init__.py,sha256=rwbS3QJnC3nq-VKddgEa
8
8
  mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py,sha256=E7tNwX9LFPNfBCF1DpNNtWpchPkEvGP0nrrTq4t2s38,1927
9
9
  mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py,sha256=AqWAFey_Ih1JcRxVNiZDGFsVg4kvA9LH2p5SJeXfe2I,834
10
10
  mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py,sha256=1La4vJmQdKp3_Ib1DMgavJBdYLTxp7S7dEr_lqNknV0,1828
11
+ mx_bluesky/beamlines/i02_1/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ mx_bluesky/beamlines/i02_1/parameters/gridscan.py,sha256=P-WBnYSKcFQxMyeziIlWPhtT2j7C_p-XO6jV41HmU-U,1273
11
13
  mx_bluesky/beamlines/i04/__init__.py,sha256=DM5-pkoPb2jill-VmKdhEylsV1jryA92gygCIFSv3Fo,383
12
- mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py,sha256=nqo_A7fAbI4NFWCznHgYV7LsfSLQm3Og0pNjzJjAVbI,6625
13
- mx_bluesky/beamlines/i04/thawing_plan.py,sha256=HI1gT7zRGP_4iJlrI8aXgW_W0MPk6SrFwd2w1GRp2gQ,9453
14
+ mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py,sha256=LViC4Dql47EXIDnI2hkt9CMtIyF1_e8h0s4GyIAllmA,6656
15
+ mx_bluesky/beamlines/i04/thawing_plan.py,sha256=TxwZ16DLG5jPOg6NzNFC5A0DJFMu490QYMUxLVKOWbk,9742
14
16
  mx_bluesky/beamlines/i04/callbacks/murko_callback.py,sha256=C2KoIxwMIWxD46utmq1-69SIc8MspocXJ1sccO1lwAY,4458
15
17
  mx_bluesky/beamlines/i04/experiment_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py,sha256=G7FdRL4rzYNcOoTPKtZBK-FO5UpsK22QXxnA0bUW4GM,9111
18
+ mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py,sha256=NYbJfC8sksF-H8m1fCmQTWHBLQKzzpIqBJVjihYp4ew,9232
17
19
  mx_bluesky/beamlines/i23/__init__.py,sha256=7nwQiKBZAXLnvPhCqaI2VC1k4TOzQalOUvwF6SQ3Yd4,95
18
20
  mx_bluesky/beamlines/i23/serial.py,sha256=XVbHM8NevnJMFAJD9jkxG-VnPaWX6t_k-wlipRw0pmY,2055
19
21
  mx_bluesky/beamlines/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ mx_bluesky/beamlines/i24/jungfrau_commissioning/do_external_acquisition.py,sha256=p5ZOhM3COwiBjolMzHs8HNZGbTiIBjys4iUNQtUMKI0,1573
23
+ mx_bluesky/beamlines/i24/jungfrau_commissioning/do_internal_acquisition.py,sha256=cNj4z3TFv8UgtDJax-v8Di74-gKLsTVKtwbCya-wwcw,1744
24
+ mx_bluesky/beamlines/i24/jungfrau_commissioning/plan_utils.py,sha256=IaOw0pX8os-14EoLTwGTrFsl4PUZdL0ymbvdS7lhTto,2789
20
25
  mx_bluesky/beamlines/i24/serial/__init__.py,sha256=r8v9V48TMrNxOcwBZ6lzeCCuPulq5rg8m-mwH_KkOnI,1533
21
26
  mx_bluesky/beamlines/i24/serial/blueapi_config.yaml,sha256=P0saF1bqt4ANU-2mtS_ZHO4NYr_ierUJN-gf6cspic8,350
22
27
  mx_bluesky/beamlines/i24/serial/dcid.py,sha256=7NkpMFF3obTVt0aHBbw5J7DqhOEg-zz5otNjdgDMlFg,13819
@@ -72,19 +77,19 @@ mx_bluesky/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
72
77
  mx_bluesky/common/xrc_result.py,sha256=tUJ6qkDTTB6H1F71IvVAKtmHCRyHSU_tj9GRzVmnE7w,3219
73
78
  mx_bluesky/common/device_setup_plans/manipulate_sample.py,sha256=bM4D0ezAqCJqclN5-hIVUoN_X55F8Yiv_ap6_ChKCA0,3091
74
79
  mx_bluesky/common/device_setup_plans/position_detector.py,sha256=S49ml0KNZ6wXPQqOxNJ2whKTCyRTcKdBXBhyeEyFDQQ,635
75
- mx_bluesky/common/device_setup_plans/robot_load_unload.py,sha256=UO2fCMk3Yfy1z4SjUd-zwWsc9lYL4LMLKi0jtCUgPso,4419
80
+ mx_bluesky/common/device_setup_plans/robot_load_unload.py,sha256=k3JSKBznJQWfYTlM6QO26BmpK5D3w4GJkvcJHLlujIw,4416
76
81
  mx_bluesky/common/device_setup_plans/setup_oav.py,sha256=7WLElZZU5mWq9g2WP86p3P81uiSPuj2V4kIkqXlap3o,2692
77
82
  mx_bluesky/common/device_setup_plans/setup_panda.py,sha256=OF-ZygZyAyQEUdrAWiIxWZ6QhAsVx4Mm9ngRYB1mzKI,433
78
83
  mx_bluesky/common/device_setup_plans/utils.py,sha256=S_Us1KfLkyaRzWxmqnoVxHj2Suq-Vs0n5fMRygHgrTw,1859
79
84
  mx_bluesky/common/device_setup_plans/xbpm_feedback.py,sha256=WsUMdeOZBgbj-bFp7x66aHp2oWffQmjyp61-qmtQAmI,2153
80
85
  mx_bluesky/common/experiment_plans/__init__.py,sha256=FMA-4VN1TJCPcyURKF0qPIQ8uo8YBbtHPRdJokVF4MA,129
81
86
  mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py,sha256=407E9rp0yGWWIU1fJrgqK_hC19mVwRK-Und7fMlGNDc,3062
82
- mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=jLo9nrd8CW85Px7t3I6QlnfD71VhApyVJMfWB6-gJgk,13245
87
+ mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=wf22Xwx79UXg_kKG8cD9IeIP_4gY0-p2aNhrUn37eFI,14213
83
88
  mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py,sha256=jspOKPc3uxvG-a5-LXs7Yfwy8HTvGXBj4snke9j5gYE,7033
84
89
  mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py,sha256=gkRpRb3USUx7xDJk-1GghV-sxPp7wy5clubwhlx1v80,7162
85
90
  mx_bluesky/common/experiment_plans/oav_snapshot_plan.py,sha256=8TRAvHG2W9bn1xb06bYZTWkfhT2q1EtfyxyiMMKmWcw,3623
86
91
  mx_bluesky/common/experiment_plans/inner_plans/__init__ .py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
- mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py,sha256=WjtoyMxpTFSrfFzxxoYKRlRbwRHfEBeEItq82mad0Pw,4807
92
+ mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py,sha256=J8SF-ejb9PpB_wpL1QuS7_FIB5YxDN70odokc5dSIXY,4717
88
93
  mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py,sha256=Og7Uz8lAB1_Z6puN6ws_2kwOqCvgQMqfmyZPFZMRneY,2351
89
94
  mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py,sha256=TnO5hv1I_UWlB1Vz7dCQ-nGj4LLsu9nQgetaK6hc_YM,2704
90
95
  mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py,sha256=pmS4Lsndp90CCIKzD_wssvbzt1qu7rEzfXgxvDwDrQ8,1313
@@ -96,17 +101,17 @@ mx_bluesky/common/external_interaction/alerting/log_based_service.py,sha256=KCTU
96
101
  mx_bluesky/common/external_interaction/callbacks/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
102
  mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py,sha256=iBj4WNK5ikieZzTePBZ9AEu6ehlnpew1nDK3ONJqibI,2093
98
103
  mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py,sha256=hfFJjICMer26TowK5Nq-AEjDe1TAHIgJAvTFhs-o-Zg,4901
99
- mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py,sha256=vCDIxsHMlYo6hmjsf07fITULCONHHP6qJMhp7M7QUXA,9875
104
+ mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py,sha256=--eZl4flvtrKZQz5ZhLO87Z1kDboQevIkujrXCADZEI,9869
100
105
  mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py,sha256=bHtnDZfxIR5zzSRiBSehZ51y42wzkEcCJ7rFg93aONA,2578
101
106
  mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py,sha256=pfZxQfS9SnXep3F2YAPptDX5bjjWvbXtgy5fINfsoTU,626
102
107
  mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py,sha256=NHb8Gp86TAk6PRTV3inWrlW-Lj96LmnZda7ZGewlrFA,712
103
108
  mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py,sha256=567fx-ONKTZ7V5y5dk0YthxxDJt0s6dZtqrYA0AkfAk,4088
104
- mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py,sha256=5Sjl2VU57huKkNtEExvypoSVb0I8nVItIJ4vH1vrp48,3930
109
+ mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py,sha256=3VqmsngHm2L9iUyZRS81nlz8OSin_5Z5X-XpmNhtNb8,4171
105
110
  mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
111
  mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py,sha256=BfUru03fRYmndjiWHpnqBIWPc5kRIy4PTmG94bz3gLw,3886
107
112
  mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
- mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py,sha256=ook_9K2hF1iPARNTswOQcv_wVV9Sae_SWouPhi7J3FY,12634
109
- mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py,sha256=fOYJkqaXEfCdLGQwGhTrzfGOj6Ed3t2wcRgv68DOOHc,1790
113
+ mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py,sha256=ezC3bbz84NLSPswHeUNVZr1eJEt_X6aPr7sn-IxdI9I,14879
114
+ mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py,sha256=yElqODhPm2HZlpF7vNOX0SQNjwJ_m8kNMS-c_cp4KUU,1163
110
115
  mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py,sha256=bxFMkTsMvZZJyp4zeGlZkThgZnQqT6dgflKRpqkT1Vc,4709
111
116
  mx_bluesky/common/external_interaction/ispyb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
117
  mx_bluesky/common/external_interaction/ispyb/data_model.py,sha256=HJZPT_j5EMK7-j-0tdaugiS3kDp44_jzvVoP-xcFCsA,2738
@@ -117,10 +122,10 @@ mx_bluesky/common/external_interaction/nexus/__init__.py,sha256=47DEQpj8HBSa-_TI
117
122
  mx_bluesky/common/external_interaction/nexus/nexus_utils.py,sha256=n97KHJJd_C59SOVJHcJ3RbNkvxkoUrF6fIJx3jXBuI0,5580
118
123
  mx_bluesky/common/external_interaction/nexus/write_nexus.py,sha256=s8xT05_Fn_s64KbPOnR5cm-AooklMKRj2cXxLstl7e0,4067
119
124
  mx_bluesky/common/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
- mx_bluesky/common/parameters/components.py,sha256=LKkFiGWEzU3dPHGG_M9gzNu4XUA-0nc7Q3ceRiWJFTk,8536
125
+ mx_bluesky/common/parameters/components.py,sha256=wyejnv6DxSOrGzcMVRHZVHnund3pj6cTxTMU5v7JW5Q,8576
121
126
  mx_bluesky/common/parameters/constants.py,sha256=iNv55VTv4QPu96z58pbnMiAE1RGsFKsTs4wahrlGihw,5139
122
- mx_bluesky/common/parameters/device_composites.py,sha256=F_msgzMTzwIYXufkBwRCg47f5-Z4sJlQVbsWnUqjXSw,2253
123
- mx_bluesky/common/parameters/gridscan.py,sha256=zTSFnOI6skbj2aX8YnbcbEYk67MnOWIaaukIST5KkBk,7048
127
+ mx_bluesky/common/parameters/device_composites.py,sha256=r9e06CEXcW9wyjthHxhSv41ZlUzaI3xqV1DhmW_iZnw,2265
128
+ mx_bluesky/common/parameters/gridscan.py,sha256=Y4xZpMhzWN58gnAYKZyVbtN8uW4pBVC68KTGGmYpb2A,7632
124
129
  mx_bluesky/common/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
130
  mx_bluesky/common/preprocessors/preprocessors.py,sha256=BNpSM7S9gxhVbG39rjH14k89sOmKiII0cqApH3pF_H0,4476
126
131
  mx_bluesky/common/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -132,48 +137,49 @@ mx_bluesky/common/utils/log.py,sha256=CepibF7U5GnN-ICl4bmhbEwqRzWsSFyfNtBDJejK0e
132
137
  mx_bluesky/common/utils/tracing.py,sha256=stnBZIvPuKiAm2wVc8lFr3ns7V5C52rUigULi9V-IFs,1171
133
138
  mx_bluesky/common/utils/utils.py,sha256=q2uCaK1E8zLVk1BFmj7qlTnQf3JRKjCjyadIVnL1-4M,1180
134
139
  mx_bluesky/hyperion/__init__.py,sha256=f4E8wInL1Ll4eeFtAiyKmipOBTPlUtKmVK-m_LOQG4M,35
135
- mx_bluesky/hyperion/__main__.py,sha256=Hyt3vdy2aC5lrikaptvKcMqK0P-bPV2h91fXb_CGpB8,6742
136
- mx_bluesky/hyperion/baton_handler.py,sha256=YLaIC1N2gaDdH6oySpejckl_X20PNTgIW9rwwIW1cjg,8280
137
- mx_bluesky/hyperion/plan_runner.py,sha256=kQn93lBSxiWi4ZGLOCx5IfFTCYx_L6NsIXAT_7Phpk4,2799
140
+ mx_bluesky/hyperion/__main__.py,sha256=NUgwa6xhs0LYx7ZJRQ6kcf0ju8oWTthMaGYi5Zzdm6M,7249
141
+ mx_bluesky/hyperion/baton_handler.py,sha256=vs_vwflSGSQwqyPFJxIDenURwL44Uu7mea_wA_fv7pM,9883
142
+ mx_bluesky/hyperion/plan_runner.py,sha256=YfhIgnrLFWl_Ls0wtgGaOrX29GhRXP9SAshTtCj2JjM,2828
143
+ mx_bluesky/hyperion/plan_runner_api.py,sha256=Kq-UyaI6q8eU98odTLBk2RoTiEJ9s7OqYo73k_ep9w4,1296
138
144
  mx_bluesky/hyperion/runner.py,sha256=x683wuzL-XO1Ws4N2fpPO__TLhlep0br_-8ubml1qG0,7073
139
145
  mx_bluesky/hyperion/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
146
  mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py,sha256=ciNdz_r9XGvghehpejdziL-aMw60oUsIJdVR3yz3nOo,5010
141
147
  mx_bluesky/hyperion/device_setup_plans/setup_panda.py,sha256=96eFp4acQLOthe1PA-S14uv635uGVP71DpP7qy_uo40,8509
142
148
  mx_bluesky/hyperion/device_setup_plans/setup_zebra.py,sha256=e3ocVsncImQIrfL6d0UoH5fCl8AR0pM_4AIXSxc8dgQ,5749
143
- mx_bluesky/hyperion/device_setup_plans/smargon.py,sha256=9znQLGF8Uqif1SZ_H4GyqcnhR3xCI1FIniCaGLRY3zM,758
149
+ mx_bluesky/hyperion/device_setup_plans/smargon.py,sha256=eb3TCXg33SW6TlfElh5KjYwCXhELDprj0B27CwYcd9c,967
144
150
  mx_bluesky/hyperion/device_setup_plans/utils.py,sha256=96JlzyikMhWN7LzdiMx8URZInXoGR3OjoxYmCIp9tts,425
145
151
  mx_bluesky/hyperion/experiment_plans/__init__.py,sha256=dJjwLk0EQP-1hKhbs8aRxTF_LxUXgB7kcgDlaP-tMnk,787
146
152
  mx_bluesky/hyperion/experiment_plans/experiment_registry.py,sha256=bGp2c3nKutqHMnDxuqjp6yCF-JKykSzX-IUfxk3oVlM,1701
147
153
  mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py,sha256=aaDnO_fWOesB7IUMtedinBaJUdliWZe47wxq9ECFoFY,6036
148
154
  mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py,sha256=e4w4226ONSGQF2dnXzxOfcJ9i57CZIJrqQ1YCLlaBNo,2153
149
- mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=lPJhbQ70QYxVTfSPy9npm5urxs_MlXVMCbohkHWtJ8U,7203
155
+ mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=obUMizdLRGt-uCLnEzwiCGHn8wqHt0OVo1uvVvivWr4,7675
150
156
  mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py,sha256=5ZAH17F5T1YyVgA2ML0NEf4ufrD1G0jPRU0_5pINdTg,16195
151
157
  mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py,sha256=oErbq4ffTZVNR_LeiSJP8_q4cwdZWB-bdbrO3ZwKg20,5397
152
158
  mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py,sha256=1g3vs2hSgEYGhwDoqB8VsWTZ4q_Hd37493n_csoLnI8,6248
153
159
  mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=bqG4enP2bZQ6ND0c5XqwDySQTkQRBdK7gvWf61VEnWM,6051
154
- mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=II-4v2AOyC7QbCqLZFSq1fT1OjWSg8P5MmSQFzQI0D0,6892
160
+ mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=samWAztWJU9sRo1FtIicWWQZ7TjUwg7Y9y9oqhkcb5o,6904
155
161
  mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=jyJMN9atG99hmYG0i3lgrBK9Jx1SR4QVPFhZgA6Dl8s,15886
156
162
  mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=8FAqN-aJgRwZSiCX-hNdeGmaijt0l8owdShVBwNchfE,2643
157
163
  mx_bluesky/hyperion/external_interaction/__init__.py,sha256=95DwXDmKsx36RgAL-AtLZl2LQoLPKbzeYdlkkP_4Coc,559
158
- mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=oZzkoLi_b-278asr_f-vMvZxPFKfEUYrTvhFqfMIu6A,11942
164
+ mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=B2Q7NR1VSRoCGg4hlCiZDrh2Fa0s4B4ZIws1H7oBfOk,12020
159
165
  mx_bluesky/hyperion/external_interaction/config_server.py,sha256=UpxjOH0U3vm0R_RTPt00uYfQ2HiALGWRZgs8EHJO2os,491
160
166
  mx_bluesky/hyperion/external_interaction/alerting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
167
  mx_bluesky/hyperion/external_interaction/alerting/constants.py,sha256=8wE_MDF8vOqomQ6SBiwZKb1W4NRO_hmrBLVfLVnKdSg,170
162
168
  mx_bluesky/hyperion/external_interaction/callbacks/__init__.py,sha256=1XHaxDljMveu_DYIlk7n963gHffyC6r4C_RhF6HA-N8,283
163
- mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=HDYsTsLCeO0iKcYme6meWxFKxWLADLz6b8u8Bw7zfHU,6576
169
+ mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=6-CqBh3uIi-mu_eWSJQ0hBQhoQaC7m8mSi8cHmyrjK0,6827
164
170
  mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py,sha256=QnA8P8QFDRr1XHyx6Qdd4uJal2GhQVcqSTbkLOEjw-Q,2299
165
171
  mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py,sha256=ee1ZIJGp8RQakMDYRfflXjSwi-UgxqdZNkZ1azBIDGQ,11705
166
172
  mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py,sha256=Ta8w0W_3LI0PGpwxKlQsS7X0B_hsfJoZdzR2K3J0KHo,4467
167
173
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=4IxYTLvpKJj6oNtP2-_qQdGx3cWofHviTS-0nQ6GKTU,7456
174
+ mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=4XW5eTwlPKGLk3MS76QRu5U6DOYAQHBEUBKqaNDnVhs,8885
169
175
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py,sha256=bba5ZHoOMqvSCUXJIxbx55HGhaoC_Jqhyxxb-ttqt5g,801
170
176
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py,sha256=0aG1Kakyxyz6PE3fxDNKRARRG4xwej486PfmphvWwtM,4743
171
177
  mx_bluesky/hyperion/parameters/__init__.py,sha256=kf2wfcILBUBpT0tJ8-W39BywQUkn67yxl9IVsfrr1LE,115
172
178
  mx_bluesky/hyperion/parameters/cli.py,sha256=I-NY3Kt3la5HNUB4qRA6NtuxbJSr78yx-sM_cRx_pY4,1514
173
179
  mx_bluesky/hyperion/parameters/components.py,sha256=eIUEcFNqcEad21IThSDatoX-NRa9GdfBOwt6ZUwb88U,292
174
- mx_bluesky/hyperion/parameters/constants.py,sha256=O9SWJwZLIj1IUap-6uuahCaQFvHYVEAzwloerSelumg,2240
175
- mx_bluesky/hyperion/parameters/device_composites.py,sha256=wXr0VH66Qm5xT0WBBy4hmXjONrAxieP3aAFdt0rM6kY,2139
176
- mx_bluesky/hyperion/parameters/gridscan.py,sha256=DTHIo75xE2vU4iP0eXymGKoQARA1fd9fp2apKFU4C_I,3886
180
+ mx_bluesky/hyperion/parameters/constants.py,sha256=aCACWCp670o9U3AKfON-ntqkxIH-99gWNZvEN1G2rPc,2265
181
+ mx_bluesky/hyperion/parameters/device_composites.py,sha256=g9tdA_vImJ89AltxzGY04fCiIXHG1WKPAnoF6b_veag,2151
182
+ mx_bluesky/hyperion/parameters/gridscan.py,sha256=DMldH8UJwvcKTUh26Ntg-qgNAP4h6iCrxjFX_kkcvW0,3904
177
183
  mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=8dlKwb7WmgDeohQ9QsdMWQMMM73EaC2cZ0wKg6vOP60,3727
178
184
  mx_bluesky/hyperion/parameters/robot_load.py,sha256=Iktni3r6LFRnlM51hpdpv3QrD6QPhx2rAeyB8Gv6ML4,1124
179
185
  mx_bluesky/hyperion/parameters/rotation.py,sha256=OwZFvoswCFn4Y3lB-JVYP_5fvuAZB5yrtKUiCYAzQRQ,7443
@@ -183,9 +189,9 @@ mx_bluesky/hyperion/utils/context.py,sha256=yxMYn3YFET6SanFZ4YWXDmZDdp3WkaXhDc3y
183
189
  mx_bluesky/phase1_zebra/__init__.py,sha256=Edhhn2L9MVXnjJhyD5_yKQVUDo7XW98rvuT7dlzIn58,132
184
190
  mx_bluesky/phase1_zebra/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
191
  mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py,sha256=zfEnDvh5Rh9cPmg_Q_0EnJOZNIwIGmHeIDiJ9kg9Z4c,4129
186
- mx_bluesky-1.5.5.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
187
- mx_bluesky-1.5.5.dist-info/METADATA,sha256=fuT425w1VTMlmIjOpSjCvuYWNUeETRSNlq6xMm6vPSg,17424
188
- mx_bluesky-1.5.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
189
- mx_bluesky-1.5.5.dist-info/entry_points.txt,sha256=HgVtwgWoMRn9-X6rxCcSY3Jz_paspJTIlc-t2NFzWpo,409
190
- mx_bluesky-1.5.5.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
191
- mx_bluesky-1.5.5.dist-info/RECORD,,
192
+ mx_bluesky-1.5.7.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
193
+ mx_bluesky-1.5.7.dist-info/METADATA,sha256=zaRoD2I0q-dbXzosVYn5-30URLifswcmwBf5fV10YvA,17424
194
+ mx_bluesky-1.5.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
195
+ mx_bluesky-1.5.7.dist-info/entry_points.txt,sha256=HgVtwgWoMRn9-X6rxCcSY3Jz_paspJTIlc-t2NFzWpo,409
196
+ mx_bluesky-1.5.7.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
197
+ mx_bluesky-1.5.7.dist-info/RECORD,,