bec-ipython-client 3.119.0__tar.gz → 3.119.2__tar.gz

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 (41) hide show
  1. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/PKG-INFO +1 -1
  2. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/pyproject.toml +1 -1
  3. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/end-2-end/test_scans_v4_lib_e2e.py +26 -13
  4. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/.gitignore +0 -0
  5. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/__init__.py +0 -0
  6. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/beamline_mixin.py +0 -0
  7. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/bec_magics.py +0 -0
  8. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/bec_startup.py +0 -0
  9. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/callbacks/__init__.py +0 -0
  10. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/callbacks/device_progress.py +0 -0
  11. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/callbacks/ipython_live_updates.py +0 -0
  12. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/callbacks/live_table.py +0 -0
  13. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/callbacks/move_device.py +0 -0
  14. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/callbacks/utils.py +0 -0
  15. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/high_level_interfaces/__init__.py +0 -0
  16. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/high_level_interfaces/bec_hli.py +0 -0
  17. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/high_level_interfaces/spec_hli.py +0 -0
  18. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/main.py +0 -0
  19. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/plugins/SLS/__init__.py +0 -0
  20. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/plugins/SLS/sls_info.py +0 -0
  21. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/plugins/XTreme/__init__.py +0 -0
  22. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/plugins/XTreme/x-treme.py +0 -0
  23. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/plugins/__init__.py +0 -0
  24. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/plugins/flomni/flomni_config.yaml +0 -0
  25. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/prettytable.py +0 -0
  26. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/progressbar.py +0 -0
  27. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/bec_ipython_client/signals.py +0 -0
  28. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/demo.py +0 -0
  29. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/conftest.py +0 -0
  30. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_beamline_mixins.py +0 -0
  31. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_bec_client.py +0 -0
  32. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_device_progress.py +0 -0
  33. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_ipython_live_updates.py +0 -0
  34. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_live_table.py +0 -0
  35. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_move_callback.py +0 -0
  36. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/client_tests/test_pretty_table.py +0 -0
  37. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/conftest.py +0 -0
  38. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/end-2-end/_ensure_requirements_container.py +0 -0
  39. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/end-2-end/test_procedures_e2e.py +0 -0
  40. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/end-2-end/test_scans_e2e.py +0 -0
  41. {bec_ipython_client-3.119.0 → bec_ipython_client-3.119.2}/tests/end-2-end/test_scans_lib_e2e.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bec_ipython_client
3
- Version: 3.119.0
3
+ Version: 3.119.2
4
4
  Summary: BEC IPython client
5
5
  Project-URL: Bug Tracker, https://github.com/bec-project/bec/issues
6
6
  Project-URL: Homepage, https://github.com/bec-project/bec
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec_ipython_client"
7
- version = "3.119.0"
7
+ version = "3.119.2"
8
8
  description = "BEC IPython client"
9
9
  requires-python = ">=3.11"
10
10
  classifiers = [
@@ -21,9 +21,25 @@ def _run_v4_scan(
21
21
  return status
22
22
 
23
23
 
24
- def _assert_device_position(device, target: float):
25
- current = device.read(cached=True)[device.full_name]["value"]
24
+ def _assert_device_position(device, target: float, timeout: float | None = None):
26
25
  tolerance = device._config["deviceConfig"].get("tolerance", 0.05)
26
+
27
+ def _is_at_target():
28
+ current = device.read(cached=True)[device.full_name]["value"]
29
+ return current, np.isclose(current, target, atol=tolerance)
30
+
31
+ current, is_at_target = _is_at_target()
32
+ if timeout is None or is_at_target:
33
+ assert is_at_target
34
+ return
35
+
36
+ deadline = time.monotonic() + timeout
37
+ while time.monotonic() < deadline:
38
+ time.sleep(0.1)
39
+ current, is_at_target = _is_at_target()
40
+ if is_at_target:
41
+ return
42
+
27
43
  assert np.isclose(current, target, atol=tolerance)
28
44
 
29
45
 
@@ -192,8 +208,8 @@ def test_v4_mv_scan_lib(bec_client_lib):
192
208
  status = _run_v4_scan(bec, "mv", dev.samx, 1.5, dev.samy, -1.5, relative=False)
193
209
  status.wait(timeout=30)
194
210
 
195
- _assert_device_position(dev.samx, 1.5)
196
- _assert_device_position(dev.samy, -1.5)
211
+ _assert_device_position(dev.samx, 1.5, timeout=5)
212
+ _assert_device_position(dev.samy, -1.5, timeout=5)
197
213
 
198
214
 
199
215
  @pytest.mark.timeout(120)
@@ -204,8 +220,8 @@ def test_v4_umv_scan_lib(bec_client_lib):
204
220
  status = _run_v4_scan(bec, "umv", dev.samx, -1.0, dev.samy, 1.0, relative=False)
205
221
  status.wait(timeout=30)
206
222
 
207
- _assert_device_position(dev.samx, -1.0)
208
- _assert_device_position(dev.samy, 1.0)
223
+ _assert_device_position(dev.samx, -1.0, timeout=5)
224
+ _assert_device_position(dev.samy, 1.0, timeout=5)
209
225
 
210
226
 
211
227
  @pytest.mark.timeout(120)
@@ -230,9 +246,11 @@ def test_v4_cont_line_scan_lib(bec_client_lib):
230
246
  def test_v4_line_sweep_scan_lib(bec_client_lib):
231
247
  bec = bec_client_lib
232
248
  dev = bec.device_manager.devices
249
+ scans = bec.scans
233
250
  original_velocity = dev.samx.velocity.get()
234
251
  try:
235
- dev.samx.velocity.set(1).wait()
252
+ scans.umv(dev.samx, -5.0, relative=False).wait()
253
+ dev.samx.velocity.set(5).wait()
236
254
  dev.samx.limits = [-50, 50]
237
255
  status = _run_v4_scan(
238
256
  bec,
@@ -240,7 +258,7 @@ def test_v4_line_sweep_scan_lib(bec_client_lib):
240
258
  dev.samx,
241
259
  -5.0,
242
260
  5.0,
243
- min_update=0.01,
261
+ min_update=0.5,
244
262
  relative=False,
245
263
  wait_for_num_points=False,
246
264
  )
@@ -260,9 +278,4 @@ def test_v4_scan_lib_stop_resolves_cleanly(bec_client_lib):
260
278
  time.sleep(0.5)
261
279
  status.cancel()
262
280
 
263
- _wait_for_scan_status(status, "STOPPED", timeout=15)
264
- assert status.status == "STOPPED"
265
- _wait_for_queue_status(bec, "primary", "PAUSED", timeout=15)
266
-
267
- bec.queue.request_scan_continuation()
268
281
  _wait_for_queue_status(bec, "primary", "RUNNING", timeout=15)