bec-server 2.6.0__tar.gz → 2.7.0__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 (120) hide show
  1. {bec_server-2.6.0 → bec_server-2.7.0}/PKG-INFO +1 -1
  2. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/bec_server_utils/subprocess_launch.py +1 -8
  3. bec_server-2.7.0/bec_server/device_server/tests/utils.py +55 -0
  4. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_guard.py +2 -6
  5. bec_server-2.7.0/bec_server/scan_server/scan_plugins/__init__.py +1 -0
  6. bec_server-2.7.0/bec_server/scan_server/tests/__init__.py +0 -0
  7. bec_server-2.7.0/bec_server/scan_server/tests/fixtures.py +14 -0
  8. {bec_server-2.6.0/tests/tests_scan_server → bec_server-2.7.0/bec_server/scan_server/tests}/utils.py +1 -59
  9. bec_server-2.7.0/bec_server/scihub/cli/__init__.py +0 -0
  10. {bec_server-2.6.0 → bec_server-2.7.0}/pyproject.toml +1 -1
  11. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_scan_guard.py +1 -1
  12. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_scan_server_queue.py +1 -1
  13. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_scan_worker.py +1 -1
  14. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_scans.py +1 -472
  15. bec_server-2.6.0/bec_server/scan_server/scan_plugins/LamNIFermatScan.py +0 -489
  16. bec_server-2.6.0/bec_server/scan_server/scan_plugins/__init__.py +0 -3
  17. bec_server-2.6.0/bec_server/scan_server/scan_plugins/flomni_fermat_scan.py +0 -329
  18. bec_server-2.6.0/bec_server/scan_server/scan_plugins/owis_grid.py +0 -309
  19. bec_server-2.6.0/bec_server/scan_server/scan_plugins/sgalil_grid.py +0 -216
  20. bec_server-2.6.0/tests/tests_scan_server/test_flomni_fermat_scan.py +0 -61
  21. {bec_server-2.6.0 → bec_server-2.7.0}/.gitignore +0 -0
  22. {bec_server-2.6.0 → bec_server-2.7.0}/README.md +0 -0
  23. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/__init__.py +0 -0
  24. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/bec_server_utils/__init__.py +0 -0
  25. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/bec_server_utils/launch.py +0 -0
  26. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/bec_server_utils/service_handler.py +0 -0
  27. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/bec_server_utils/tmux_launch.py +0 -0
  28. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/__init__.py +0 -0
  29. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/cli/__init__.py +0 -0
  30. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/cli/launch.py +0 -0
  31. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/dap_server.py +0 -0
  32. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/dap_service.py +0 -0
  33. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/dap_service_manager.py +0 -0
  34. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/data_processing/lmfit1d_service.py +0 -0
  35. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/__init__.py +0 -0
  36. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/cli/__init__.py +0 -0
  37. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/cli/launch.py +0 -0
  38. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/device_server.py +0 -0
  39. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/devices/__init__.py +0 -0
  40. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/devices/config_update_handler.py +0 -0
  41. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/devices/device_serializer.py +0 -0
  42. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/devices/devicemanager.py +0 -0
  43. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/device_server/rpc_mixin.py +0 -0
  44. {bec_server-2.6.0/bec_server/file_writer/cli → bec_server-2.7.0/bec_server/device_server/tests}/__init__.py +0 -0
  45. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer/__init__.py +0 -0
  46. {bec_server-2.6.0/bec_server/scan_bundler → bec_server-2.7.0/bec_server/file_writer}/cli/__init__.py +0 -0
  47. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer/cli/launch.py +0 -0
  48. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer/default_writer.py +0 -0
  49. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer/file_writer.py +0 -0
  50. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer/file_writer_manager.py +0 -0
  51. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer/merged_dicts.py +0 -0
  52. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer_plugins/__init__.py +0 -0
  53. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/file_writer_plugins/cSAXS.py +0 -0
  54. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_bundler/__init__.py +0 -0
  55. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_bundler/bec_emitter.py +0 -0
  56. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_bundler/bluesky_emitter.py +0 -0
  57. {bec_server-2.6.0/bec_server/scan_server → bec_server-2.7.0/bec_server/scan_bundler}/cli/__init__.py +0 -0
  58. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_bundler/cli/launch.py +0 -0
  59. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_bundler/emitter.py +0 -0
  60. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_bundler/scan_bundler.py +0 -0
  61. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/__init__.py +0 -0
  62. {bec_server-2.6.0/bec_server/scihub → bec_server-2.7.0/bec_server/scan_server}/cli/__init__.py +0 -0
  63. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/cli/launch.py +0 -0
  64. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/device_validation.py +0 -0
  65. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/errors.py +0 -0
  66. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/path_optimization.py +0 -0
  67. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_assembler.py +0 -0
  68. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_manager.py +0 -0
  69. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_plugins/otf_scan.py +0 -0
  70. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_queue.py +0 -0
  71. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_server.py +0 -0
  72. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_stubs.py +0 -0
  73. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scan_worker.py +0 -0
  74. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scan_server/scans.py +0 -0
  75. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/__init__.py +0 -0
  76. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/cli/launch.py +0 -0
  77. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/repeated_timer.py +0 -0
  78. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scibec/__init__.py +0 -0
  79. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scibec/config_handler.py +0 -0
  80. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scibec/scibec_connector.py +0 -0
  81. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scibec/scibec_metadata_handler.py +0 -0
  82. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scihub.py +0 -0
  83. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scilog/__init__.py +0 -0
  84. {bec_server-2.6.0 → bec_server-2.7.0}/bec_server/scihub/scilog/scilog.py +0 -0
  85. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_bec_server_utils/test_main.py +0 -0
  86. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_bec_server_utils/test_service_handler.py +0 -0
  87. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_bec_server_utils/test_tmux_launch.py +0 -0
  88. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_data_processing/conftest.py +0 -0
  89. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_data_processing/test_dap_cli_launch.py +0 -0
  90. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_data_processing/test_dap_server.py +0 -0
  91. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_data_processing/test_dap_service_manager.py +0 -0
  92. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_data_processing/test_lmfit1d_service.py +0 -0
  93. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/conftest.py +0 -0
  94. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/test_config_handler.py +0 -0
  95. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/test_device_manager_ds.py +0 -0
  96. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/test_device_serializer.py +0 -0
  97. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/test_device_server.py +0 -0
  98. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/test_device_server_cli_launch.py +0 -0
  99. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_device_server/test_rpc_mixin.py +0 -0
  100. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_file_writer/conftest.py +0 -0
  101. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_file_writer/test_file_writer.py +0 -0
  102. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_file_writer/test_file_writer_cli_launch.py +0 -0
  103. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_file_writer/test_file_writer_manager.py +0 -0
  104. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_bundler/conftest.py +0 -0
  105. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_bundler/test_bec_emitter.py +0 -0
  106. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_bundler/test_bluesky_emitter.py +0 -0
  107. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_bundler/test_emitter.py +0 -0
  108. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_bundler/test_scan_bundler.py +0 -0
  109. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_bundler/test_scan_bundler_cli_launch.py +0 -0
  110. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/conftest.py +0 -0
  111. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_path_optimization.py +0 -0
  112. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_scan_server_cli_launch.py +0 -0
  113. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scan_server/test_scan_stubs.py +0 -0
  114. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/conftest.py +0 -0
  115. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/test_repeated_timer.py +0 -0
  116. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/test_scibec_config_handler.py +0 -0
  117. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/test_scibec_connector.py +0 -0
  118. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/test_scibec_metadata_handler.py +0 -0
  119. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/test_scihub_cli_launch.py +0 -0
  120. {bec_server-2.6.0 → bec_server-2.7.0}/tests/tests_scihub/test_scilog_connector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bec-server
3
- Version: 2.6.0
3
+ Version: 2.7.0
4
4
  Summary: BEC server
5
5
  Project-URL: Bug Tracker, https://gitlab.psi.ch/bec/bec/issues
6
6
  Project-URL: Homepage, https://gitlab.psi.ch/bec/bec
@@ -11,14 +11,7 @@ def subprocess_start(bec_path: str, config_path: str, services: dict):
11
11
  cwd = os.path.abspath(os.path.join(service_path, ".."))
12
12
  if config_path:
13
13
  processes.append(
14
- subprocess.Popen(
15
- (
16
- service_config["command"],
17
- "--config",
18
- config_path,
19
- ),
20
- cwd=cwd,
21
- )
14
+ subprocess.Popen((service_config["command"], "--config", config_path), cwd=cwd)
22
15
  )
23
16
  else:
24
17
  processes.append(subprocess.Popen((service_config["command"],), cwd=cwd))
@@ -0,0 +1,55 @@
1
+ from bec_lib.devicemanager import DeviceContainer
2
+ from bec_lib.tests.utils import ConnectorMock
3
+
4
+
5
+ # pylint: disable=missing-function-docstring
6
+ # pylint: disable=protected-access
7
+ class DeviceMock:
8
+ def __init__(self, name: str, value=None):
9
+ self.name = name
10
+ self.read_buffer = {self.name: {"value": value}} if value is not None else None
11
+ self._config = {"deviceConfig": {"limits": [-50, 50]}, "userParameter": None}
12
+ self._read_only = False
13
+ self._enabled = True
14
+
15
+ def read(self):
16
+ return self.read_buffer
17
+
18
+ def readback(self):
19
+ return self.read_buffer
20
+
21
+ @property
22
+ def obj(self):
23
+ return self
24
+
25
+ @property
26
+ def limits(self):
27
+ return self._config["deviceConfig"]["limits"]
28
+
29
+ @property
30
+ def read_only(self) -> bool:
31
+ return self._read_only
32
+
33
+ @read_only.setter
34
+ def read_only(self, val: bool):
35
+ self._read_only = val
36
+
37
+ @property
38
+ def enabled(self) -> bool:
39
+ return self._enabled
40
+
41
+ @enabled.setter
42
+ def enabled(self, val: bool):
43
+ self._enabled = val
44
+
45
+ @property
46
+ def user_parameter(self):
47
+ return self._config["userParameter"]
48
+
49
+
50
+ class DMMock:
51
+ devices = DeviceContainer()
52
+ connector = ConnectorMock()
53
+
54
+ def add_device(self, name, value=None):
55
+ self.devices[name] = DeviceMock(name, value=value)
@@ -26,9 +26,7 @@ class ScanGuard:
26
26
  self.connector = self.parent.connector
27
27
 
28
28
  self.connector.register(
29
- MessageEndpoints.scan_queue_request(),
30
- cb=self._scan_queue_request_callback,
31
- parent=self,
29
+ MessageEndpoints.scan_queue_request(), cb=self._scan_queue_request_callback, parent=self
32
30
  )
33
31
 
34
32
  self.connector.register(
@@ -127,9 +125,7 @@ class ScanGuard:
127
125
  """
128
126
  sqrr = MessageEndpoints.scan_queue_request_response()
129
127
  rrm = messages.RequestResponseMessage(
130
- accepted=scan_status.accepted,
131
- message=scan_status.message,
132
- metadata=metadata,
128
+ accepted=scan_status.accepted, message=scan_status.message, metadata=metadata
133
129
  )
134
130
  self.device_manager.connector.send(sqrr, rrm)
135
131
 
@@ -0,0 +1 @@
1
+ from .otf_scan import OTFScan
@@ -0,0 +1,14 @@
1
+ import pytest
2
+
3
+ from bec_lib.logger import bec_logger
4
+ from bec_lib.tests.fixtures import dm_with_devices
5
+ from bec_server.scan_server.tests.utils import ScanServerMock
6
+
7
+
8
+ # pylint: disable=missing-function-docstring
9
+ # pylint: disable=protected-access
10
+ @pytest.fixture
11
+ def scan_server_mock(dm_with_devices):
12
+ server = ScanServerMock(dm_with_devices)
13
+ yield server
14
+ bec_logger.logger.remove()
@@ -1,8 +1,4 @@
1
- import pytest
2
-
3
1
  from bec_lib import ServiceConfig
4
- from bec_lib.devicemanager import DeviceContainer
5
- from bec_lib.logger import bec_logger
6
2
  from bec_lib.messages import BECStatus
7
3
  from bec_lib.tests.utils import ConnectorMock
8
4
  from bec_server.scan_server.scan_server import ScanServer
@@ -12,13 +8,6 @@ from bec_server.scan_server.scan_worker import InstructionQueueStatus
12
8
  # pylint: disable=protected-access
13
9
 
14
10
 
15
- @pytest.fixture
16
- def scan_server_mock(dm_with_devices):
17
- server = ScanServerMock(dm_with_devices, dm_with_devices.connector)
18
- yield server
19
- bec_logger.logger.remove()
20
-
21
-
22
11
  class WorkerMock:
23
12
  def __init__(self) -> None:
24
13
  self.scan_id = None
@@ -30,7 +19,7 @@ class WorkerMock:
30
19
 
31
20
 
32
21
  class ScanServerMock(ScanServer):
33
- def __init__(self, device_manager, connector) -> None:
22
+ def __init__(self, device_manager) -> None:
34
23
  self.device_manager = device_manager
35
24
  super().__init__(
36
25
  ServiceConfig(redis={"host": "dummy", "port": 6379}), connector_cls=ConnectorMock
@@ -69,50 +58,3 @@ class ScanServerMock(ScanServer):
69
58
  @dataset_number.setter
70
59
  def dataset_number(self, val: int):
71
60
  pass
72
-
73
-
74
- class DeviceMock:
75
- def __init__(self, name: str):
76
- self.name = name
77
- self.read_buffer = None
78
- self._config = {"deviceConfig": {"limits": [-50, 50]}, "userParameter": None}
79
- self._read_only = False
80
- self._enabled = True
81
-
82
- def read(self):
83
- return self.read_buffer
84
-
85
- def readback(self):
86
- return self.read_buffer
87
-
88
- @property
89
- def limits(self):
90
- return self._config["deviceConfig"]["limits"]
91
-
92
- @property
93
- def read_only(self) -> bool:
94
- return self._read_only
95
-
96
- @read_only.setter
97
- def read_only(self, val: bool):
98
- self._read_only = val
99
-
100
- @property
101
- def enabled(self) -> bool:
102
- return self._enabled
103
-
104
- @enabled.setter
105
- def enabled(self, val: bool):
106
- self._enabled = val
107
-
108
- @property
109
- def user_parameter(self):
110
- return self._config["userParameter"]
111
-
112
-
113
- class DMMock:
114
- devices = DeviceContainer()
115
- connector = ConnectorMock()
116
-
117
- def add_device(self, name):
118
- self.devices[name] = DeviceMock(name)
File without changes
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec-server"
7
- version = "2.6.0"
7
+ version = "2.7.0"
8
8
  description = "BEC server"
9
9
  requires-python = ">=3.10"
10
10
  classifiers = [
@@ -1,11 +1,11 @@
1
1
  from unittest import mock
2
2
 
3
3
  import pytest
4
- from utils import scan_server_mock
5
4
 
6
5
  from bec_lib import MessageEndpoints, messages
7
6
  from bec_lib.redis_connector import MessageObject
8
7
  from bec_server.scan_server.scan_guard import ScanGuard, ScanRejection, ScanStatus
8
+ from bec_server.scan_server.tests.fixtures import scan_server_mock
9
9
 
10
10
 
11
11
  @pytest.fixture
@@ -2,7 +2,6 @@ import uuid
2
2
  from unittest import mock
3
3
 
4
4
  import pytest
5
- from utils import scan_server_mock
6
5
 
7
6
  from bec_lib import Alarms, MessageEndpoints, messages
8
7
  from bec_lib.redis_connector import MessageObject
@@ -17,6 +16,7 @@ from bec_server.scan_server.scan_queue import (
17
16
  ScanQueueStatus,
18
17
  )
19
18
  from bec_server.scan_server.scan_worker import ScanWorker
19
+ from bec_server.scan_server.tests.fixtures import scan_server_mock
20
20
 
21
21
  # pylint: disable=missing-function-docstring
22
22
  # pylint: disable=protected-access
@@ -3,7 +3,6 @@ import uuid
3
3
  from unittest import mock
4
4
 
5
5
  import pytest
6
- from utils import scan_server_mock
7
6
 
8
7
  from bec_lib import MessageEndpoints, messages
9
8
  from bec_lib.tests.utils import ConnectorMock
@@ -18,6 +17,7 @@ from bec_server.scan_server.scan_queue import (
18
17
  ScanQueue,
19
18
  )
20
19
  from bec_server.scan_server.scan_worker import ScanWorker
20
+ from bec_server.scan_server.tests.fixtures import scan_server_mock
21
21
 
22
22
 
23
23
  @pytest.fixture