mx-bluesky 1.4.0__py3-none-any.whl → 1.4.1a0__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 (63) hide show
  1. mx_bluesky/_version.py +2 -2
  2. mx_bluesky/beamlines/i04/thawing_plan.py +1 -1
  3. mx_bluesky/beamlines/i24/serial/dcid.py +19 -21
  4. mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +2 -2
  5. mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +1 -4
  6. mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -1
  7. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +14 -24
  8. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +18 -76
  9. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -199
  10. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +4 -6
  11. mx_bluesky/beamlines/i24/serial/log.py +1 -1
  12. mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -1
  13. mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +4 -3
  14. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +78 -80
  15. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +1 -2
  16. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +24 -26
  17. mx_bluesky/beamlines/i24/serial/write_nexus.py +11 -11
  18. mx_bluesky/common/external_interaction/config_server.py +46 -0
  19. mx_bluesky/common/parameters/components.py +52 -15
  20. mx_bluesky/common/parameters/constants.py +6 -1
  21. mx_bluesky/common/parameters/gridscan.py +94 -0
  22. mx_bluesky/{hyperion → common}/parameters/robot_load.py +2 -2
  23. mx_bluesky/common/plans/do_fgs.py +2 -2
  24. mx_bluesky/common/utils/log.py +2 -0
  25. mx_bluesky/hyperion/__main__.py +2 -1
  26. mx_bluesky/hyperion/device_setup_plans/setup_panda.py +4 -4
  27. mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +1 -1
  28. mx_bluesky/hyperion/experiment_plans/__init__.py +4 -0
  29. mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py +83 -0
  30. mx_bluesky/hyperion/experiment_plans/common/xrc_result.py +47 -0
  31. mx_bluesky/hyperion/experiment_plans/experiment_registry.py +9 -9
  32. mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py +131 -89
  33. mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py +50 -18
  34. mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +52 -10
  35. mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py +2 -2
  36. mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py +3 -9
  37. mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +2 -2
  38. mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +36 -17
  39. mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +2 -2
  40. mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +6 -10
  41. mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +46 -11
  42. mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +18 -3
  43. mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +2 -3
  44. mx_bluesky/hyperion/external_interaction/callbacks/common/abstract_event.py +66 -0
  45. mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py +15 -15
  46. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +3 -1
  47. mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +5 -3
  48. mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py +5 -2
  49. mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py +5 -4
  50. mx_bluesky/hyperion/external_interaction/config_server.py +8 -37
  51. mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py +1 -1
  52. mx_bluesky/hyperion/parameters/components.py +4 -9
  53. mx_bluesky/hyperion/parameters/constants.py +0 -1
  54. mx_bluesky/hyperion/parameters/gridscan.py +33 -76
  55. mx_bluesky/hyperion/parameters/load_centre_collect.py +14 -9
  56. mx_bluesky/hyperion/parameters/rotation.py +15 -6
  57. {mx_bluesky-1.4.0.dist-info → mx_bluesky-1.4.1a0.dist-info}/METADATA +35 -34
  58. {mx_bluesky-1.4.0.dist-info → mx_bluesky-1.4.1a0.dist-info}/RECORD +62 -58
  59. {mx_bluesky-1.4.0.dist-info → mx_bluesky-1.4.1a0.dist-info}/WHEEL +1 -1
  60. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py +0 -150
  61. {mx_bluesky-1.4.0.dist-info → mx_bluesky-1.4.1a0.dist-info}/LICENSE +0 -0
  62. {mx_bluesky-1.4.0.dist-info → mx_bluesky-1.4.1a0.dist-info}/entry_points.txt +0 -0
  63. {mx_bluesky-1.4.0.dist-info → mx_bluesky-1.4.1a0.dist-info}/top_level.txt +0 -0
@@ -35,7 +35,7 @@ class ExpeyeInteraction:
35
35
 
36
36
  def __init__(self) -> None:
37
37
  url, token = _get_base_url_and_token()
38
- self.base_url = url + "/core"
38
+ self.base_url = url
39
39
  self.auth = BearerAuth(token)
40
40
 
41
41
  def _send_and_get_response(self, url, data, send_func) -> dict:
@@ -1,12 +1,7 @@
1
- from __future__ import annotations
1
+ from pydantic import BaseModel, Field
2
2
 
3
- from pydantic import (
4
- BaseModel,
5
- Field,
6
- )
3
+ from mx_bluesky.hyperion.external_interaction.config_server import HyperionFeatureFlags
7
4
 
8
- from mx_bluesky.hyperion.external_interaction.config_server import FeatureFlags
9
5
 
10
-
11
- class WithFeatures(BaseModel):
12
- features: FeatureFlags = Field(default=FeatureFlags())
6
+ class WithHyperionFeatures(BaseModel):
7
+ features: HyperionFeatureFlags = Field(default=HyperionFeatureFlags())
@@ -27,7 +27,6 @@ class I03Constants:
27
27
  OAV_CENTRING_FILE = OavConstants.OAV_CONFIG_JSON
28
28
  SHUTTER_TIME_S = 0.06
29
29
  USE_PANDA_FOR_GRIDSCAN = False
30
- THAWING_TIME = 20
31
30
  SET_STUB_OFFSETS = False
32
31
 
33
32
  # Turns on GPU processing for zocalo and logs a comparison between GPU and CPU-
@@ -1,8 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- import os
4
-
5
- from dodal.devices.aperturescatterguard import ApertureValue
6
3
  from dodal.devices.detector import (
7
4
  DetectorParams,
8
5
  )
@@ -15,38 +12,21 @@ from scanspec.core import Path as ScanPath
15
12
  from scanspec.specs import Line, Static
16
13
 
17
14
  from mx_bluesky.common.parameters.components import (
18
- DiffractionExperimentWithSample,
19
- IspybExperimentType,
20
- OptionalGonioAngleStarts,
21
15
  SplitScan,
22
16
  WithOptionalEnergyChange,
23
- WithScan,
24
- XyzStarts,
17
+ WithPandaGridScan,
18
+ )
19
+ from mx_bluesky.common.parameters.gridscan import (
20
+ GridCommon,
21
+ SpecifiedGrid,
25
22
  )
26
- from mx_bluesky.common.parameters.constants import GridscanParamConstants
27
- from mx_bluesky.hyperion.parameters.components import WithFeatures
23
+ from mx_bluesky.hyperion.parameters.components import WithHyperionFeatures
28
24
  from mx_bluesky.hyperion.parameters.constants import CONST, I03Constants
29
- from mx_bluesky.hyperion.parameters.robot_load import RobotLoadAndEnergyChange
30
25
 
31
26
 
32
- # This will be restructed once Once https://github.com/DiamondLightSource/mx-bluesky/issues/323#issue-2500957290 is further along
33
- # to handle slightly different parameters between different beamline implementations
34
- class GridCommon(
35
- DiffractionExperimentWithSample,
36
- OptionalGonioAngleStarts,
37
- WithFeatures,
38
- ):
39
- grid_width_um: float = Field(default=CONST.PARAM.GRIDSCAN.WIDTH_UM)
40
- exposure_time_s: float = Field(default=CONST.PARAM.GRIDSCAN.EXPOSURE_TIME_S)
41
- use_roi_mode: bool = Field(default=CONST.PARAM.GRIDSCAN.USE_ROI)
42
- panda_runup_distance_mm: float = Field(
43
- default=GridscanParamConstants.PANDA_RUN_UP_DISTANCE_MM
44
- )
45
-
46
- ispyb_experiment_type: IspybExperimentType = Field(
47
- default=IspybExperimentType.GRIDSCAN_3D
48
- )
49
- selected_aperture: ApertureValue | None = Field(default=ApertureValue.SMALL)
27
+ class HyperionGridCommon(GridCommon, WithHyperionFeatures):
28
+ # This class only exists so that we can properly select enable_dev_shm. Remove in
29
+ # https://github.com/DiamondLightSource/hyperion/issues/1395"""
50
30
 
51
31
  @property
52
32
  def detector_params(self):
@@ -60,7 +40,6 @@ class GridCommon(
60
40
  assert (
61
41
  self.detector_distance_mm is not None
62
42
  ), "Detector distance must be filled before generating DetectorParams"
63
- os.makedirs(self.storage_directory, exist_ok=True)
64
43
  return DetectorParams(
65
44
  detector_size_constants=I03Constants.DETECTOR,
66
45
  expected_energy_ev=self.demand_energy_ev,
@@ -80,36 +59,13 @@ class GridCommon(
80
59
  )
81
60
 
82
61
 
83
- class GridScanWithEdgeDetect(GridCommon):
84
- box_size_um: float = Field(default=CONST.PARAM.GRIDSCAN.BOX_WIDTH_UM)
85
-
86
-
87
- class PinTipCentreThenXrayCentre(GridCommon):
88
- tip_offset_um: float = 0
89
-
90
-
91
- class RobotLoadThenCentre(GridCommon):
92
- thawing_time: float = Field(default=CONST.I03.THAWING_TIME)
93
-
94
- def robot_load_params(self):
95
- my_params = self.model_dump()
96
- return RobotLoadAndEnergyChange(**my_params)
97
-
98
- def pin_centre_then_xray_centre_params(self):
99
- my_params = self.model_dump()
100
- del my_params["thawing_time"]
101
- return PinTipCentreThenXrayCentre(**my_params)
102
-
103
-
104
- class SpecifiedGridScan(GridCommon, XyzStarts, WithScan):
105
- """A specified grid scan is one which has defined values for the start position,
106
- grid and box sizes, etc., as opposed to parameters for a plan which will create
107
- those parameters at some point (e.g. through optical pin detection)."""
108
-
109
- ...
110
-
111
-
112
- class ThreeDGridScan(SpecifiedGridScan, SplitScan, WithOptionalEnergyChange):
62
+ class HyperionThreeDGridScan(
63
+ HyperionGridCommon,
64
+ SpecifiedGrid,
65
+ SplitScan,
66
+ WithOptionalEnergyChange,
67
+ WithPandaGridScan,
68
+ ):
113
69
  """Parameters representing a so-called 3D grid scan, which consists of doing a
114
70
  gridscan in X and Y, followed by one in X and Z."""
115
71
 
@@ -131,14 +87,14 @@ class ThreeDGridScan(SpecifiedGridScan, SplitScan, WithOptionalEnergyChange):
131
87
  x_steps=self.x_steps,
132
88
  y_steps=self.y_steps,
133
89
  z_steps=self.z_steps,
134
- x_step_size=self.x_step_size_um,
135
- y_step_size=self.y_step_size_um,
136
- z_step_size=self.z_step_size_um,
137
- x_start=self.x_start_um,
138
- y1_start=self.y_start_um,
139
- z1_start=self.z_start_um,
140
- y2_start=self.y2_start_um,
141
- z2_start=self.z2_start_um,
90
+ x_step_size_mm=self.x_step_size_um / 1000,
91
+ y_step_size_mm=self.y_step_size_um / 1000,
92
+ z_step_size_mm=self.z_step_size_um / 1000,
93
+ x_start_mm=self.x_start_um / 1000,
94
+ y1_start_mm=self.y_start_um / 1000,
95
+ z1_start_mm=self.z_start_um / 1000,
96
+ y2_start_mm=self.y2_start_um / 1000,
97
+ z2_start_mm=self.z2_start_um / 1000,
142
98
  set_stub_offsets=self.features.set_stub_offsets,
143
99
  dwell_time_ms=self.exposure_time_s * 1000,
144
100
  transmission_fraction=self.transmission_frac,
@@ -147,6 +103,7 @@ class ThreeDGridScan(SpecifiedGridScan, SplitScan, WithOptionalEnergyChange):
147
103
  @property
148
104
  def panda_FGS_params(self) -> PandAGridScanParams:
149
105
  if self.y_steps % 2 and self.z_steps > 0:
106
+ # See https://github.com/DiamondLightSource/hyperion/issues/1118 for explanation
150
107
  raise OddYStepsException(
151
108
  "The number of Y steps must be even for a PandA gridscan"
152
109
  )
@@ -154,14 +111,14 @@ class ThreeDGridScan(SpecifiedGridScan, SplitScan, WithOptionalEnergyChange):
154
111
  x_steps=self.x_steps,
155
112
  y_steps=self.y_steps,
156
113
  z_steps=self.z_steps,
157
- x_step_size=self.x_step_size_um,
158
- y_step_size=self.y_step_size_um,
159
- z_step_size=self.z_step_size_um,
160
- x_start=self.x_start_um,
161
- y1_start=self.y_start_um,
162
- z1_start=self.z_start_um,
163
- y2_start=self.y2_start_um,
164
- z2_start=self.z2_start_um,
114
+ x_step_size_mm=self.x_step_size_um / 1000,
115
+ y_step_size_mm=self.y_step_size_um / 1000,
116
+ z_step_size_mm=self.z_step_size_um / 1000,
117
+ x_start_mm=self.x_start_um / 1000,
118
+ y1_start_mm=self.y_start_um / 1000,
119
+ z1_start_mm=self.z_start_um / 1000,
120
+ y2_start_mm=self.y2_start_um / 1000,
121
+ z2_start_mm=self.z2_start_um / 1000,
165
122
  set_stub_offsets=self.features.set_stub_offsets,
166
123
  run_up_distance_mm=self.panda_runup_distance_mm,
167
124
  transmission_fraction=self.transmission_frac,
@@ -4,10 +4,11 @@ from pydantic import BaseModel, model_validator
4
4
 
5
5
  from mx_bluesky.common.parameters.components import (
6
6
  MxBlueskyParameters,
7
+ WithCentreSelection,
7
8
  WithSample,
8
9
  WithVisit,
9
10
  )
10
- from mx_bluesky.hyperion.parameters.gridscan import (
11
+ from mx_bluesky.common.parameters.gridscan import (
11
12
  RobotLoadThenCentre,
12
13
  )
13
14
  from mx_bluesky.hyperion.parameters.rotation import MultiRotationScan
@@ -15,13 +16,15 @@ from mx_bluesky.hyperion.parameters.rotation import MultiRotationScan
15
16
  T = TypeVar("T", bound=BaseModel)
16
17
 
17
18
 
18
- def construct_from_values(parent_context: dict, key: str, t: type[T]) -> T:
19
- values = dict(parent_context)
20
- values |= values[key]
19
+ def construct_from_values(parent_context: dict, child_dict: dict, t: type[T]) -> T:
20
+ values = {k: v for k, v in parent_context.items() if not isinstance(v, dict)}
21
+ values |= child_dict
21
22
  return t(**values)
22
23
 
23
24
 
24
- class LoadCentreCollect(MxBlueskyParameters, WithVisit, WithSample):
25
+ class LoadCentreCollect(
26
+ MxBlueskyParameters, WithVisit, WithSample, WithCentreSelection
27
+ ):
25
28
  """Experiment parameters to perform the combined robot load,
26
29
  pin-tip centre and rotation scan operations."""
27
30
 
@@ -41,10 +44,12 @@ class LoadCentreCollect(MxBlueskyParameters, WithVisit, WithSample):
41
44
  disallowed_keys == set()
42
45
  ), f"Unexpected fields found in LoadCentreCollect {disallowed_keys}"
43
46
 
44
- values["robot_load_then_centre"] = construct_from_values(
45
- values, "robot_load_then_centre", RobotLoadThenCentre
47
+ new_robot_load_then_centre_params = construct_from_values(
48
+ values, values["robot_load_then_centre"], RobotLoadThenCentre
46
49
  )
47
- values["multi_rotation_scan"] = construct_from_values(
48
- values, "multi_rotation_scan", MultiRotationScan
50
+ new_multi_rotation_scan_params = construct_from_values(
51
+ values, values["multi_rotation_scan"], MultiRotationScan
49
52
  )
53
+ values["multi_rotation_scan"] = new_multi_rotation_scan_params
54
+ values["robot_load_then_centre"] = new_robot_load_then_centre_params
50
55
  return values
@@ -47,7 +47,9 @@ class RotationExperiment(DiffractionExperimentWithSample):
47
47
  default=IspybExperimentType.ROTATION
48
48
  )
49
49
 
50
- def _detector_params(self, omega_start_deg: float):
50
+ def _detector_params_impl(
51
+ self, omega_start_deg: float, num_images_per_trigger: int, num_triggers: int
52
+ ) -> DetectorParams:
51
53
  self.det_dist_to_beam_converter_path = (
52
54
  self.det_dist_to_beam_converter_path
53
55
  or CONST.PARAM.DETECTOR.BEAM_XY_LUT_PATH
@@ -66,13 +68,16 @@ class RotationExperiment(DiffractionExperimentWithSample):
66
68
  detector_distance=self.detector_distance_mm,
67
69
  omega_start=omega_start_deg,
68
70
  omega_increment=self.rotation_increment_deg,
69
- num_images_per_trigger=self.num_images,
70
- num_triggers=1,
71
+ num_images_per_trigger=num_images_per_trigger,
72
+ num_triggers=num_triggers,
71
73
  use_roi_mode=False,
72
74
  det_dist_to_beam_converter_path=self.det_dist_to_beam_converter_path,
73
75
  **optional_args,
74
76
  )
75
77
 
78
+ def _detector_params(self, omega_start_deg: float) -> DetectorParams:
79
+ return self._detector_params_impl(omega_start_deg, self.num_images, 1)
80
+
76
81
  @field_validator("selected_aperture")
77
82
  @classmethod
78
83
  def _set_default_aperture_position(cls, aperture_position: ApertureValue | None):
@@ -115,7 +120,7 @@ class MultiRotationScan(RotationExperiment, SplitScan):
115
120
 
116
121
  def _single_rotation_scan(self, scan: RotationScanPerSweep) -> RotationScan:
117
122
  # self has everything from RotationExperiment
118
- allowed_keys = RotationScan.model_fields.keys()
123
+ allowed_keys = RotationScan.model_fields.keys() # type: ignore # mypy doesn't recognise this as a property...
119
124
  params_dump = self.model_dump()
120
125
  # provided `scan` has everything from RotationScanPerSweep
121
126
  scan_dump = scan.model_dump()
@@ -156,8 +161,12 @@ class MultiRotationScan(RotationExperiment, SplitScan):
156
161
  return list(accumulate([0, *self._num_images_per_scan()]))
157
162
 
158
163
  @property
159
- def detector_params(self):
160
- return self._detector_params(self.rotation_scans[0].omega_start_deg)
164
+ def detector_params(self) -> DetectorParams:
165
+ return self._detector_params_impl(
166
+ self.rotation_scans[0].omega_start_deg,
167
+ self._num_images_per_scan()[0],
168
+ len(self._num_images_per_scan()),
169
+ )
161
170
 
162
171
  @property
163
172
  def ispyb_params(self): # pyright: ignore
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mx-bluesky
3
- Version: 1.4.0
3
+ Version: 1.4.1a0
4
4
  Summary: Bluesky tools for MX Beamlines at DLS
5
5
  Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
6
- License: Apache License
6
+ License: Apache License
7
7
  Version 2.0, January 2004
8
8
  http://www.apache.org/licenses/
9
9
 
@@ -213,7 +213,7 @@ Classifier: Programming Language :: Python :: 3.12
213
213
  Requires-Python: >=3.11
214
214
  Description-Content-Type: text/x-rst
215
215
  License-File: LICENSE
216
- Requires-Dist: annotated-types
216
+ Requires-Dist: annotated_types
217
217
  Requires-Dist: caproto
218
218
  Requires-Dist: fastapi[all]
219
219
  Requires-Dist: flask-restful
@@ -233,38 +233,39 @@ Requires-Dist: requests
233
233
  Requires-Dist: scanspec
234
234
  Requires-Dist: scipy
235
235
  Requires-Dist: semver
236
- Requires-Dist: blueapi >=0.5.0
237
- Requires-Dist: daq-config-server >=0.1.1
238
- Requires-Dist: ophyd ==1.9.0
239
- Requires-Dist: ophyd-async >=0.3a5
240
- Requires-Dist: bluesky >=1.13.0a4
241
- Requires-Dist: dls-dodal ==1.35.0
236
+ Requires-Dist: matplotlib
237
+ Requires-Dist: blueapi>=0.5.0
238
+ Requires-Dist: daq-config-server>=0.1.1
239
+ Requires-Dist: ophyd==1.9.0
240
+ Requires-Dist: ophyd-async>=0.8a5
241
+ Requires-Dist: bluesky>=1.13.0a4
242
+ Requires-Dist: dls-dodal==1.36.1a
242
243
  Provides-Extra: dev
243
- Requires-Dist: black ; extra == 'dev'
244
- Requires-Dist: build ; extra == 'dev'
245
- Requires-Dist: diff-cover ; extra == 'dev'
246
- Requires-Dist: GitPython ; extra == 'dev'
247
- Requires-Dist: import-linter ; extra == 'dev'
248
- Requires-Dist: ipython ; extra == 'dev'
249
- Requires-Dist: mypy ; extra == 'dev'
250
- Requires-Dist: myst-parser ; extra == 'dev'
251
- Requires-Dist: pipdeptree ; extra == 'dev'
252
- Requires-Dist: pre-commit ; extra == 'dev'
253
- Requires-Dist: pydata-sphinx-theme >=0.12 ; extra == 'dev'
254
- Requires-Dist: pyright ; extra == 'dev'
255
- Requires-Dist: pytest-asyncio ; extra == 'dev'
256
- Requires-Dist: pytest-cov ; extra == 'dev'
257
- Requires-Dist: pytest-random-order ; extra == 'dev'
258
- Requires-Dist: pytest ; extra == 'dev'
259
- Requires-Dist: ruff ; extra == 'dev'
260
- Requires-Dist: sphinx-autobuild ; extra == 'dev'
261
- Requires-Dist: sphinx-copybutton ; extra == 'dev'
262
- Requires-Dist: sphinxcontrib-plantuml ; extra == 'dev'
263
- Requires-Dist: sphinx-design ; extra == 'dev'
264
- Requires-Dist: tox-direct ; extra == 'dev'
265
- Requires-Dist: tox ; extra == 'dev'
266
- Requires-Dist: types-mock ; extra == 'dev'
267
- Requires-Dist: types-requests ; extra == 'dev'
244
+ Requires-Dist: black; extra == "dev"
245
+ Requires-Dist: build; extra == "dev"
246
+ Requires-Dist: diff-cover; extra == "dev"
247
+ Requires-Dist: GitPython; extra == "dev"
248
+ Requires-Dist: import-linter; extra == "dev"
249
+ Requires-Dist: ipython; extra == "dev"
250
+ Requires-Dist: mypy; extra == "dev"
251
+ Requires-Dist: myst-parser; extra == "dev"
252
+ Requires-Dist: pipdeptree; extra == "dev"
253
+ Requires-Dist: pre-commit; extra == "dev"
254
+ Requires-Dist: pydata-sphinx-theme>=0.12; extra == "dev"
255
+ Requires-Dist: pyright; extra == "dev"
256
+ Requires-Dist: pytest-asyncio; extra == "dev"
257
+ Requires-Dist: pytest-cov; extra == "dev"
258
+ Requires-Dist: pytest-random-order; extra == "dev"
259
+ Requires-Dist: pytest; extra == "dev"
260
+ Requires-Dist: ruff; extra == "dev"
261
+ Requires-Dist: sphinx-autobuild; extra == "dev"
262
+ Requires-Dist: sphinx-copybutton; extra == "dev"
263
+ Requires-Dist: sphinxcontrib-plantuml; extra == "dev"
264
+ Requires-Dist: sphinx-design; extra == "dev"
265
+ Requires-Dist: tox-direct; extra == "dev"
266
+ Requires-Dist: tox; extra == "dev"
267
+ Requires-Dist: types-mock; extra == "dev"
268
+ Requires-Dist: types-requests; extra == "dev"
268
269
 
269
270
  mx-bluesky
270
271
  ===========================
@@ -1,38 +1,37 @@
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=R8-T9fmURjcuoxYpHTAjyNAhgJPDtI2jogCjqYYkfCU,411
3
+ mx_bluesky/_version.py,sha256=34pH_Akldt0m_lg2KQfS9vG1Ej5xQNbz8ITZzIE-dgU,413
4
4
  mx_bluesky/jupyter_example.ipynb,sha256=wpwvPrBvwtRMS5AIFk8F54cIlUoD0o4ji8tKK5cZHA4,1672
5
5
  mx_bluesky/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  mx_bluesky/beamlines/i04/__init__.py,sha256=jZjAMN5_oOEjQoR3iTrnMFW3ElxlHhQ7pEQZIv21Y4I,129
7
- mx_bluesky/beamlines/i04/thawing_plan.py,sha256=a7FvdQOXH-sU2KeEytMa6ZXHqTwYQq9_wVy0ksb5SpI,5472
7
+ mx_bluesky/beamlines/i04/thawing_plan.py,sha256=YykXHXINBDnQ0wJ577v4XrXwcqlRRgoUSbaNuOKd1bc,5464
8
8
  mx_bluesky/beamlines/i04/callbacks/murko_callback.py,sha256=ZIwkY6gdcmIE-aMBvehN8DVcjGRtb9wwzpgHJNMZ39Q,2125
9
9
  mx_bluesky/beamlines/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  mx_bluesky/beamlines/i24/serial/__init__.py,sha256=9MDcY2aHUE1zZZkoNPSGxgYV1NIf5vsCM8jArR8d3fg,1226
11
11
  mx_bluesky/beamlines/i24/serial/blueapi_config.yaml,sha256=gwOfjzZMbcvpVH71CCyHaxr8hgPYCJIWWWfg1zErtmM,245
12
- mx_bluesky/beamlines/i24/serial/dcid.py,sha256=Yv9SkRf1any4WVG6zI3jUxjgzQdBOKdV3XkdKZl8hto,15172
13
- mx_bluesky/beamlines/i24/serial/log.py,sha256=924k_K0Gl76ayyx1YMkGm3E2XaKWt_WrehpIoQQTj6o,4798
12
+ mx_bluesky/beamlines/i24/serial/dcid.py,sha256=MWhd7t6faGEO94d0kjfKKpRS8sFqC6Dakjh3sQzGtfU,15245
13
+ mx_bluesky/beamlines/i24/serial/log.py,sha256=oK7HHjIeuiWdy1vNZL6p-mU8Y3kzeCAgsifCxhAYqOQ,4799
14
14
  mx_bluesky/beamlines/i24/serial/run_extruder.sh,sha256=FXYsqdTpVgxB1-QrY4Tg5pl5Ex7PgUoXnuAcr9iDZTE,1078
15
- mx_bluesky/beamlines/i24/serial/run_fixed_target.sh,sha256=56OTNYm6LW09xh682P6p_yaNzAgsTuEsuzI3i7mH_a4,1236
15
+ mx_bluesky/beamlines/i24/serial/run_fixed_target.sh,sha256=ZzxcVFoitBRvcqsJaBxjtepgkG-ZCGBW6X9xuV_Y478,1229
16
16
  mx_bluesky/beamlines/i24/serial/run_serial.py,sha256=Zrudosavh2HnnBXd2CLtOPs3lyQFxaN8YyO_sradRGs,1511
17
17
  mx_bluesky/beamlines/i24/serial/run_ssx.sh,sha256=0Ir5iQQ-xSN_5teHtxzht6G-mJ08mE1gxBS32vkh1eM,714
18
18
  mx_bluesky/beamlines/i24/serial/set_visit_directory.sh,sha256=WuN5PUBxTofzuESk1-3gWtTcbPjOx-26JaQSVCsZhZs,1660
19
19
  mx_bluesky/beamlines/i24/serial/start_blueapi.sh,sha256=4iBzQljTLXQiVIF4UO7drc9qUkP7KSRC6Mjh8hcGxpI,608
20
- mx_bluesky/beamlines/i24/serial/write_nexus.py,sha256=qRLGfrerYnlLUdyDxAso5VPI1PlFUh9gSw0bRcp8GiQ,4050
20
+ mx_bluesky/beamlines/i24/serial/write_nexus.py,sha256=7Waw7NE_vGEuWGcX4iVAELBWfXlqDXflAMWYZ_Z_b0U,4097
21
21
  mx_bluesky/beamlines/i24/serial/extruder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=i0ZYMy9CDXooiJv4bYegaL7-HAXXq_znSvUx4Z_1atc,17280
22
+ mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=y5lzbBo3qZNQLfhYRbaumn4I9Mu-VATuZ2iv9mnqiA8,17296
23
23
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl,sha256=9L1CgEdxZD4N3QvM5HLlAlJTcxpzd4ahB2nVJ9jHujw,2013
24
24
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl,sha256=k7b_91X5VQEmlHI2DrOmuNXTTMLcvlyJICo6F19h61I,31289
25
25
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl,sha256=K79vmGAcf9qVEQLXTgr0g4bZDWaJ7nFoK4e0Ex7qAwM,14690
26
26
  mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py,sha256=cLZBEN-PK_7V6T5mjaHv53xa3rvKBStD4g-GUqCjkOM,1223
28
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=J5vVLQLy-TzvEr55H85U8m6i0GTePKxfdoiZsXOlp8o,28312
29
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=Si9XFv88pf-rlBytSa9bjZeHsjR25TKjYhayM-vB9wo,35474
30
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py,sha256=XU0SuMioS4Lb4J1_tL8ojfgqiu-nkvPnAfmLBuQB-oQ,5104
31
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py,sha256=akP7uOn9S9CgsOw6uaONZKVsRd1v5VCeC20amRgDblM,10682
32
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=f7cwLsRkIxMB_Qs7t2pXSn4d5feygGiZaaIDUrUMDPg,6412
27
+ mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py,sha256=puO1vg0x-TPgv8FbEFg73ohJqbwDpcG50_2cLUTa2FA,1210
28
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=djhAdeI13e8AsE7db_b5vDljP86aQtikYjgm-g4zmGU,27753
29
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=ZlQk9qIHn0bylL-JMQte5WwOfuRvjHL4bQKr_Pl_tac,33512
30
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py,sha256=ZmwetrBxEr5qmeGKFDGHrRnPysA8KhcPr1O2rKzfsEs,3756
31
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=qciUnif6yd5KwJ8_XvRgafHJOFnzJIMg5Bwfjp0VOzw,6418
33
32
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl,sha256=H9BVU1S3oy8tAVHtKvJvp7YTHA-4X-jtOtiu3jJ7of4,10348
34
33
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl,sha256=WBji5SaRQ5e0KFRgrPuv6IgaFxkal1jh7MZW8SqQN88,2016
35
- mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl,sha256=VvFYq0LYnXUrGTO-yl90NujzcWPjAwOJk77St8ewsrg,56602
34
+ mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl,sha256=POeXAEgypdLQNRItPgQt5szz9FioepCmVIqImG9VsUw,56556
36
35
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl,sha256=cpKpXfU668mGjIz35jUMTF8KAi0RI7WlVO2AR-EnJ8U,60868
37
36
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl,sha256=CPMPU-imtWeKERXydJn30svgx-s2u6SuuamsFRsstyM,38860
38
37
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl,sha256=2KUy2iEcX9AC07zSH3Sp97b5qauGIm8_HjvoQ4pkyCU,1417
@@ -43,7 +42,7 @@ mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl,sha2
43
42
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short1-laser.png,sha256=wDNuKCa_8hUPy4W01vdIrfdZtCyQKT8qVS5AS6kOTmo,9740
44
43
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/short2-laser.png,sha256=MrdiCFX7j-ODkfSdzc4NQ_8hj2Gs8i9gQqWyNXvdM5s,10189
45
44
  mx_bluesky/beamlines/i24/serial/parameters/__init__.py,sha256=oyY7qXs1dDTzE2DNiPdZIzMoDWfghujygEWCQa7YozA,434
46
- mx_bluesky/beamlines/i24/serial/parameters/constants.py,sha256=w20hRzHoUGeJJ3hECtALEheEz60rt-Ffi4boiYkhu50,1494
45
+ mx_bluesky/beamlines/i24/serial/parameters/constants.py,sha256=2IrLKY3Yn9zl-UqsgWmg6kuqp4Cr5JV5keb9xCIz-aA,1447
47
46
  mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py,sha256=UO5t7Pmx-yyXiQSWKmb8mQPbrZ70RCLbHcPRqtdDMaU,2771
48
47
  mx_bluesky/beamlines/i24/serial/parameters/utils.py,sha256=IR1ulMWW0PEoF-kddqXtFVm8MoA7oB_MbS0XO7a-k4w,2118
49
48
  mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json,sha256=xT3y7SSWjVTAJ58dzwNnEgBdn10A6T8umR18n5xt508,142
@@ -54,19 +53,22 @@ mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py,sha256=UhBdMcPdJMzwV0
54
53
  mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py,sha256=H2gPmsLheYReFlGPFa5zzWbnyqdWbCmgKiAwcpVoYfk,1516
55
54
  mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py,sha256=Wen5tTUBggb5Gf4f2yar5Rkn0GbkLRpKu6rbbFb6qPM,15566
56
55
  mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py,sha256=WbD5ghgTG0F3-MR0XYm4nkiKYswVP5a2COYx_k_cngE,1806
57
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=95N3KOJQdyOsyQQDaJduo-ngPqbFNT-TziCIHHolFNg,18422
58
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=yO8MWiPpNLQ-H5RTxsfkT5HSOMXV1MhmChVK9pqyW78,3265
59
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py,sha256=3Js2O3GkLOZd2sZEk3H0maXcNoNa1YHifDFV-X-I-Yk,17159
56
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=nmQDBLWg2ZseuJZHDq_DXezLy8Z_8dSxvYW-cZA_H1k,18720
57
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=riBXkgAg3lV6dqoCng_3IF8ZfhwvOHf0zqktJC0rfn0,3241
58
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py,sha256=_nTQvZmxcKxspeHmKfVcjXkJMtBzB5Qqq7tB0iSlQi4,17241
60
59
  mx_bluesky/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
60
  mx_bluesky/common/device_setup_plans/read_hardware_for_setup.py,sha256=P018shGBEdO0QWBufwITOk3p-sPUCy4P6UIkf6aUuho,583
62
- mx_bluesky/common/parameters/components.py,sha256=zHyn7K4Ug7Q_Fhr9ph9hbxw2BUQC0CX1qYq3tgt1xHw,6374
63
- mx_bluesky/common/parameters/constants.py,sha256=k4rnZXYMPCih2IN78ou6Pyb5TFSXSyMJarGaj-ltELU,3581
61
+ mx_bluesky/common/external_interaction/config_server.py,sha256=7CwHr03idK5vAB_9acDgGPe6_1bX3bIelecnmsjC7V0,1937
62
+ mx_bluesky/common/parameters/components.py,sha256=ktEM1MrKRocbRYLleihcUdu4FwfgYbs7WadiI6GJXHY,7216
63
+ mx_bluesky/common/parameters/constants.py,sha256=EFmHaOMOll2gjB0pHrHKSk8VT5WBGHAMb0eadrWgLI8,3783
64
+ mx_bluesky/common/parameters/gridscan.py,sha256=AWGf_Wwx09i7I6DZty5nfzd8U-eUI2PUjlCb5BhM_WI,3232
65
+ mx_bluesky/common/parameters/robot_load.py,sha256=HWkMxCyD6R3qWuBU1jk-Zel2XGotvgAusMpTsVxYUe0,453
64
66
  mx_bluesky/common/plans/__init__.py,sha256=FMA-4VN1TJCPcyURKF0qPIQ8uo8YBbtHPRdJokVF4MA,129
65
- mx_bluesky/common/plans/do_fgs.py,sha256=BQRLTlzG-ep0FNeFeDo_Ex1tMwC0ofTwufBD32DCdtM,5084
66
- mx_bluesky/common/utils/log.py,sha256=iHnaMzg7b819fI2XYBbbVFtMoUC5_iSAPA_FoWUtK_0,3524
67
+ mx_bluesky/common/plans/do_fgs.py,sha256=xT_o3nFjiB8bUBZld7k1YTlaBoj1eFUBDvWPjpkXYJs,5090
68
+ mx_bluesky/common/utils/log.py,sha256=ZqhcErN71AUXMCJy0865nWVz4FaKq7DFSoxgdXvC0-8,3566
67
69
  mx_bluesky/common/utils/tracing.py,sha256=stnBZIvPuKiAm2wVc8lFr3ns7V5C52rUigULi9V-IFs,1171
68
70
  mx_bluesky/hyperion/__init__.py,sha256=f4E8wInL1Ll4eeFtAiyKmipOBTPlUtKmVK-m_LOQG4M,35
69
- mx_bluesky/hyperion/__main__.py,sha256=d6aZRhoZjACSWZKu7Uave2Z7_g0k2RiDJlX6i-aPtCs,13763
71
+ mx_bluesky/hyperion/__main__.py,sha256=HbyWl_ea6CeZhNF2P5sIG1INgi_d0Jdhtx3F9Vr2pTw,13788
70
72
  mx_bluesky/hyperion/exceptions.py,sha256=RUKfRG8V4TZY6dQFg1tISbUOG0p3cG-LUJdWkc32_5s,1298
71
73
  mx_bluesky/hyperion/log.py,sha256=DkTW9lH-v_F4Tda5D3OhiSYQe-6Nhma2tqHbnr1mPno,416
72
74
  mx_bluesky/hyperion/device_setup_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -75,52 +77,55 @@ mx_bluesky/hyperion/device_setup_plans/manipulate_sample.py,sha256=vJdlTs9LILfki
75
77
  mx_bluesky/hyperion/device_setup_plans/position_detector.py,sha256=g2gJZFqOF2klH92uKQAMoyXRSD7ehloe9wToIVfV-CM,631
76
78
  mx_bluesky/hyperion/device_setup_plans/read_hardware_for_setup.py,sha256=-bf3lRpvIQVsmT3-jRjb5jqaHDD3F3LSENmJVItixhA,2186
77
79
  mx_bluesky/hyperion/device_setup_plans/setup_oav.py,sha256=pIXLM3FKpf7wYMEiEAOaGTm504XAt5N7nuuu9kKraBk,2914
78
- mx_bluesky/hyperion/device_setup_plans/setup_panda.py,sha256=-az-LSOT0NgoBL8hLI7fV_llOfM8fHpba-NxvRBaKFk,7779
79
- mx_bluesky/hyperion/device_setup_plans/setup_zebra.py,sha256=qsQZ6AmUzsUxt5qj8dQjEphFjw0YfnrnZk-nZElUtxA,9695
80
+ mx_bluesky/hyperion/device_setup_plans/setup_panda.py,sha256=fpKqOiGODj0ltblZwvV3D9qNU8tljw8r9n2g9fKo8_E,7789
81
+ mx_bluesky/hyperion/device_setup_plans/setup_zebra.py,sha256=JnPRRTycWEljEUx51xoJO1VzfP7QcrHHtn6DZ6tSLgc,9696
80
82
  mx_bluesky/hyperion/device_setup_plans/smargon.py,sha256=HrHBdd2QZcSg9i3h4Qx7WsREJy3JXUg65AcaHCBd32E,1208
81
83
  mx_bluesky/hyperion/device_setup_plans/utils.py,sha256=Ha9vzI6xniaJZZ9HfjpXjx-N23glxfdEoDGzhSAy6hc,1953
82
84
  mx_bluesky/hyperion/device_setup_plans/xbpm_feedback.py,sha256=3WfVaNjB6f6XGLiPl3WqTNe4KdXqDHu8NkYufRl0g0Q,3959
83
- mx_bluesky/hyperion/experiment_plans/__init__.py,sha256=Tq9XXh8-N4obZMizxi5H1laV-toJQ9olu4K05gMFo8E,936
84
- mx_bluesky/hyperion/experiment_plans/experiment_registry.py,sha256=n7A0yK4ftpwB0GoNop4ZM1jcFvdqEQuq6qLabzprLKo,2995
85
- mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py,sha256=geDjhmaQTFkK8TbEvs34C89Wp2FLqyQ6at0X49E40fQ,17649
86
- mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py,sha256=kf0Jf8ffL3shGo5KFHhjaH3qBPGDMETX0foIjGBNhPQ,7357
87
- mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=vmqqlZANQB9LAl9QgMNmGU3yB624_gMuM7pJlglPOOc,1711
88
- mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py,sha256=dF_eeP2uxAao64jAEswnYIk0fzrqQ8hoOQ5CtHJjob0,7594
89
- mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py,sha256=KUe4PKNv-RQsrc4RywgHAFlIxhLbvtRWNZj05E72VbE,3125
90
- mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py,sha256=JZJW3hOzcxFyCEmsMYWWGwA9tAgGgg85nBKxBxKXeX0,16276
91
- mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py,sha256=53R50CvGXXw2ZNsbvwuNN4iOf8sGEtRRER_g9SSrln0,4168
92
- mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py,sha256=EQQXGsbOnUY3Qa1Eset3Qs-VeneEDcz_TYo7909Iy5M,6121
93
- mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=zSvzgkC1SYajXah5EiuQGCP8Y1EhDj4iSV_ByK_vtUU,8383
94
- mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=eNDsdG-4U6IivUIG8rh9EoMfhA3G0JeaHUWBWIw4pdI,5607
95
- mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=Ra60qFv4ZKTpfnlLHMmR3822rhaEv5YZIlcRalIAUH4,15934
96
- mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=woONMgIDA81vabufc_osJ9S9Nq4ckOIrgHNgqMS4F6s,1715
85
+ mx_bluesky/hyperion/experiment_plans/__init__.py,sha256=3ldTMxgz4yKHJH9iF3nw7uueyX2zQ5Z84V0dsCzW5us,1081
86
+ mx_bluesky/hyperion/experiment_plans/change_aperture_then_move_plan.py,sha256=4if5QruC2Q-rd8iInV9oiq0BjzjQW8IzBhXRcjxcAfg,3258
87
+ mx_bluesky/hyperion/experiment_plans/experiment_registry.py,sha256=uZaxI-Tib0caZpydXooWULyMzx1vGiyWk0_rcvprevs,3059
88
+ mx_bluesky/hyperion/experiment_plans/flyscan_xray_centre_plan.py,sha256=X1LdYkwkI99LHWLh897T3gS6YRFJtoY15-u7Q_41GVI,18761
89
+ mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py,sha256=oKq7WpCCY_sxkmVSwIr0Cs5ob7U4YpZgD5Q9oueGm7U,8476
90
+ mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=3pWj_IGLhot01OPQGTyLZbeVP_TOOOwqBUwlTcs4qoE,3389
91
+ mx_bluesky/hyperion/experiment_plans/oav_grid_detection_plan.py,sha256=UYFEPzW4QzpiyspMa9GnSjmrQ4qLSb0HllyPJ78ApvI,7642
92
+ mx_bluesky/hyperion/experiment_plans/oav_snapshot_plan.py,sha256=HfStkqGIsCgNyDjUi6rfAVfwg4g4bGxw8366SOsY8Y4,2984
93
+ mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py,sha256=ORE60OyjhbXL1ul-IlMc9XnutNaTpiRGmc0YLegMX4c,16324
94
+ mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py,sha256=LR365Xmc8bO-6Sz2ApQIbfaAGvMQLnMQxByXAP9s-kA,5014
95
+ mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py,sha256=Nl07oPJ6YUf7pPpjpEUn5_SAL8TJ_BuchDiBHyJjKPM,6169
96
+ mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=flzYUC12jR8vX058o-SAvxkECgSFdFM5Rv3g4JkpyTQ,8366
97
+ mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=1FhXGG8uWkLBEnfR7sD2n9XmGNjCU16kT4565D3kklo,6937
98
+ mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=USK0dExxWXzbQPuoM838j7JRfSAlzYM80N3qm1TAcUo,16576
99
+ mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=VyTGE5OD0vDi39X_x7BKJCi5vI8qj5hL_HKbWKPoeqI,1762
100
+ mx_bluesky/hyperion/experiment_plans/common/xrc_result.py,sha256=VwNbY9bzXoFUo-VYiQNscmF7l_6TFv1iRCYshHdla7w,1435
97
101
  mx_bluesky/hyperion/external_interaction/__init__.py,sha256=95DwXDmKsx36RgAL-AtLZl2LQoLPKbzeYdlkkP_4Coc,559
98
- mx_bluesky/hyperion/external_interaction/config_server.py,sha256=5tMF2AnXZsV1q_l_2EMde7ja-PKFUba2iJC2YWouI8o,1870
102
+ mx_bluesky/hyperion/external_interaction/config_server.py,sha256=bq_MPCDVcKswRzFbfgJUTErj11TrYaYHyrnkpknVE6M,640
99
103
  mx_bluesky/hyperion/external_interaction/exceptions.py,sha256=XBDES13VaW9fhxRZYNvSfLC_Mvg4M4RqMseW_u18Mb8,342
100
104
  mx_bluesky/hyperion/external_interaction/callbacks/__init__.py,sha256=njGhxi0Qf06vvDXCpVlQhFAOebf6iVAVm3CjGCjwr1g,331
101
105
  mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=9mn8ysV2mOAv91KuqjVyK15Eb5SSHGQvy5MeqCa4miM,4891
102
106
  mx_bluesky/hyperion/external_interaction/callbacks/aperture_change_callback.py,sha256=pWd84QldTGLoxPdyqXZk6_SLhvF7O-CQRsiXqWDQEkg,837
103
- mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py,sha256=33IZyPSBsevjcCtqfnBvXqez0BCRF3DhnmJZ93QmGUY,3046
107
+ mx_bluesky/hyperion/external_interaction/callbacks/grid_detection_callback.py,sha256=haWySSo0eHCU28i8bZ_uahg6K7ZVDlMy7X-mAsSP0oY,3090
104
108
  mx_bluesky/hyperion/external_interaction/callbacks/ispyb_callback_base.py,sha256=Na00U4d1ZiuV1DlXKkoNOcwo1Bh89ONNgNQWl2H1YM4,9484
105
109
  mx_bluesky/hyperion/external_interaction/callbacks/log_uid_tag_callback.py,sha256=pfZxQfS9SnXep3F2YAPptDX5bjjWvbXtgy5fINfsoTU,626
106
110
  mx_bluesky/hyperion/external_interaction/callbacks/logging_callback.py,sha256=W5jO7uHvi84FmEwVC_wNk93oc3-SJ8pZq61cYS-qalU,708
107
111
  mx_bluesky/hyperion/external_interaction/callbacks/plan_reactive_callback.py,sha256=7UtkXZluAag_Mx_JnESd7ODPSN3WrcNCgN8mquIpxjE,4086
108
112
  mx_bluesky/hyperion/external_interaction/callbacks/zocalo_callback.py,sha256=Jwf_jFLnC1lRm-WIlZ6ZozbQyw_SHtXK_5HUA5RT7Fw,3960
109
113
  mx_bluesky/hyperion/external_interaction/callbacks/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
+ mx_bluesky/hyperion/external_interaction/callbacks/common/abstract_event.py,sha256=iBj4WNK5ikieZzTePBZ9AEu6ehlnpew1nDK3ONJqibI,2093
110
115
  mx_bluesky/hyperion/external_interaction/callbacks/common/callback_util.py,sha256=CjB3SOITmwv9I7pokwN0pmPomDAri7fJrg7Ww2kpXPo,1981
111
116
  mx_bluesky/hyperion/external_interaction/callbacks/common/ispyb_mapping.py,sha256=DK6YqioQCwPF4MkVGMf8rtKsC1o7nWmVBdGaJOv2lhQ,2582
112
117
  mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py,sha256=o1hw3hfUATkGueyw6xiWIypRvQMWiGj4DajTdgpeHvI,3580
113
118
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=nhsUMWd3fJVhOXXpwdgeJmRDG3zoZr7A6bdTfU_3fhE,7257
119
+ mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=YBZYH3-yv1h1AhePJATtPTuouYL76QMcmxTI0vSEbGQ,7365
115
120
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py,sha256=gXub8lt04ClC4sU_QGaBW4w3wrH8hJK7Tjy0AY4zf7g,718
116
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py,sha256=tx7G1Q9W3bCLB1h_IaNh1FvOmsE2Oy9LJMLC8NSWgCc,4478
121
+ mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py,sha256=kamsFKVXVtbOfwkeepBzzvJCWgWUcDbYiWP9yhIwevc,4553
117
122
  mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
- mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py,sha256=cMgKv1md4KoXWL7mKcqDuPtjGf-y8Jgw88roSuseYa8,11446
123
+ mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_callback.py,sha256=UW3RHnBekHb_hl13QAfAbYxdy5OfNxwu3WysTwJMSaI,11556
119
124
  mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/ispyb_mapping.py,sha256=8SiT3Yes58HJNro4CatIM1dcnyIvTBt0DNtAGbcEx7g,1818
120
- mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py,sha256=FvO6OcRgQNBm8HEeM6Gc-j2a1yH3OOGUat-GTtfh-gM,4409
125
+ mx_bluesky/hyperion/external_interaction/callbacks/xray_centre/nexus_callback.py,sha256=4I4Dp5CClu1Nwn5fzK-byjaZLivHPyqVSR8UZr0Xzl8,4499
121
126
  mx_bluesky/hyperion/external_interaction/ispyb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
127
  mx_bluesky/hyperion/external_interaction/ispyb/data_model.py,sha256=7P2Tz3Y9k-vKSGsdk8ppvKg15z1iBGGKbw3RNv_8y-E,2632
123
- mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py,sha256=ekMaDRkshbC72_hY0VWjaBA5b1vQgUfHoYBW22wEzNw,4487
128
+ mx_bluesky/hyperion/external_interaction/ispyb/exp_eye_store.py,sha256=5JS2pmxSzu7Rt_m53yvRZ8zSoD7NPao7uyPpO-AKOC4,4477
124
129
  mx_bluesky/hyperion/external_interaction/ispyb/ispyb_store.py,sha256=cDNUbdZfM491_OwSboW7BX_hSAm2xmIgeY0thPnek2Y,10322
125
130
  mx_bluesky/hyperion/external_interaction/ispyb/ispyb_utils.py,sha256=2Vl5qvGoCvbZ-lJFJSSNpTkbE4YfHAhy79jP7Oap6gg,720
126
131
  mx_bluesky/hyperion/external_interaction/nexus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -128,19 +133,18 @@ mx_bluesky/hyperion/external_interaction/nexus/nexus_utils.py,sha256=dryKyQS7sxD
128
133
  mx_bluesky/hyperion/external_interaction/nexus/write_nexus.py,sha256=77D2yD2VMm4CkGTzI_1OZHQR_byVwVeJ2MCRTfT5vKs,4134
129
134
  mx_bluesky/hyperion/parameters/__init__.py,sha256=kf2wfcILBUBpT0tJ8-W39BywQUkn67yxl9IVsfrr1LE,115
130
135
  mx_bluesky/hyperion/parameters/cli.py,sha256=FGzvEB76YnQvBydUMPUNHJuqxvEe7Zc627w7gA2KODY,2125
131
- mx_bluesky/hyperion/parameters/components.py,sha256=bJbp1yCZDsh5VS08vdqitf7clLUhXGYTiHvZSd7RY2Q,260
132
- mx_bluesky/hyperion/parameters/constants.py,sha256=7WXfunGj_rhHBQ7MbfJFakbBerkE4ZKC3snIcgOkAjM,1832
133
- mx_bluesky/hyperion/parameters/gridscan.py,sha256=wEqNtt0FNH0x56eodloEerA0C6uLJLw3g7ZdZ5H-Dd4,8528
134
- mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=RFX7DlldLV552X7UzCmuVohpW2urum_4Mdw1ucHkIRk,1583
135
- mx_bluesky/hyperion/parameters/robot_load.py,sha256=Sfr_DqCl6IsaSsJqB0UvIcVObdSy4-Ud8GC-WMxjFAI,435
136
- mx_bluesky/hyperion/parameters/rotation.py,sha256=Gwt9gXAFOxcQAEd8vleXoCXtkqL5x4dSRKnr8HZWjkw,5804
136
+ mx_bluesky/hyperion/parameters/components.py,sha256=Uy-CZ81YhwJcatMOEZxQJmZD79SwQJbxgPUYxeNw_xQ,243
137
+ mx_bluesky/hyperion/parameters/constants.py,sha256=XVhYFHK8PZ81uNNjifNtzB__jcabNPOd4Cc_oLY8KXs,1810
138
+ mx_bluesky/hyperion/parameters/gridscan.py,sha256=q9N0cCw1B1gBw6hUF1RgBVnX2DT-11W3QBWD-EI9X1A,7006
139
+ mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=XtMCnH7eIoLy55CDi5U8NjejnedF_vLzkdfV6mffImY,1854
140
+ mx_bluesky/hyperion/parameters/rotation.py,sha256=eO5TAbH3jx0pj1AYMOA4jVf9z_qMuiyuAYX0oQjxKEE,6260
137
141
  mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml,sha256=xrhgok-9X2VXdyLEWiYOUEeRCBqhYM6IJFAefnNdgzw,26521
138
142
  mx_bluesky/hyperion/utils/context.py,sha256=TYG3e4lu88ssngoNbsR5pfEXI0DveDemLWaBuThtvbI,2710
139
143
  mx_bluesky/hyperion/utils/utils.py,sha256=q2uCaK1E8zLVk1BFmj7qlTnQf3JRKjCjyadIVnL1-4M,1180
140
144
  mx_bluesky/hyperion/utils/validation.py,sha256=dTG7KmWsLSoR0c1mYuhhNByUT6Yj3_VBAreY9nUdQjQ,6483
141
- mx_bluesky-1.4.0.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
142
- mx_bluesky-1.4.0.dist-info/METADATA,sha256=22StpSFg9vrZqeWNgIqFtijAWmWaoSdDQT9CpFks4AE,17245
143
- mx_bluesky-1.4.0.dist-info/WHEEL,sha256=a7TGlA-5DaHMRrarXjVbQagU3Man_dCnGIWMJr5kRWo,91
144
- mx_bluesky-1.4.0.dist-info/entry_points.txt,sha256=Bt3iHCqzZtHYnnSKoh_qM2k3K4LbK1Uxr0gF8B34F98,528
145
- mx_bluesky-1.4.0.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
146
- mx_bluesky-1.4.0.dist-info/RECORD,,
145
+ mx_bluesky-1.4.1a0.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
146
+ mx_bluesky-1.4.1a0.dist-info/METADATA,sha256=AYP1dVZb3smG0MpvnSERST4N8tjEF9i336GCcs63rFA,17275
147
+ mx_bluesky-1.4.1a0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
148
+ mx_bluesky-1.4.1a0.dist-info/entry_points.txt,sha256=Bt3iHCqzZtHYnnSKoh_qM2k3K4LbK1Uxr0gF8B34F98,528
149
+ mx_bluesky-1.4.1a0.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
150
+ mx_bluesky-1.4.1a0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.4.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5