bec-server 4.3.2__tar.gz → 4.3.3__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 (211) hide show
  1. {bec_server-4.3.2 → bec_server-4.3.3}/PKG-INFO +1 -1
  2. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/file_writer.py +4 -1
  3. {bec_server-4.3.2 → bec_server-4.3.3}/pyproject.toml +1 -1
  4. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_file_writer/test_file_writer.py +29 -1
  5. {bec_server-4.3.2 → bec_server-4.3.3}/.gitignore +0 -0
  6. {bec_server-4.3.2 → bec_server-4.3.3}/.zed/debug.json +0 -0
  7. {bec_server-4.3.2 → bec_server-4.3.3}/README.md +0 -0
  8. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/__init__.py +0 -0
  9. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/actors/__init__.py +0 -0
  10. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/actors/actor.py +0 -0
  11. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/actors/builtin_actor_manager.py +0 -0
  12. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/actors/manager.py +0 -0
  13. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/actors/scan_interlock.py +0 -0
  14. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/actors/worker.py +0 -0
  15. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/bec_server_utils/__init__.py +0 -0
  16. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/bec_server_utils/launch.py +0 -0
  17. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/bec_server_utils/service_handler.py +0 -0
  18. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/bec_server_utils/subprocess_launch.py +0 -0
  19. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/bec_server_utils/tmux_launch.py +0 -0
  20. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/__init__.py +0 -0
  21. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/cli/__init__.py +0 -0
  22. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/cli/launch.py +0 -0
  23. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/dap_server.py +0 -0
  24. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/dap_service.py +0 -0
  25. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/dap_service_manager.py +0 -0
  26. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/data_processing/lmfit1d_service.py +0 -0
  27. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/__init__.py +0 -0
  28. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/bec_message_handler.py +0 -0
  29. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/cli/__init__.py +0 -0
  30. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/cli/launch.py +0 -0
  31. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/device_server.py +0 -0
  32. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/devices/__init__.py +0 -0
  33. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/devices/config_update_handler.py +0 -0
  34. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/devices/device_serializer.py +0 -0
  35. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/devices/devicemanager.py +0 -0
  36. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/friendly_device_exceptions.py +0 -0
  37. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/ophyd_callback_monitor.py +0 -0
  38. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/rpc_handler.py +0 -0
  39. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/tests/__init__.py +0 -0
  40. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/device_server/tests/utils.py +0 -0
  41. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/__init__.py +0 -0
  42. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/async_writer.py +0 -0
  43. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/cli/__init__.py +0 -0
  44. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/cli/launch.py +0 -0
  45. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/default_writer.py +0 -0
  46. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/file_writer_manager.py +0 -0
  47. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/file_writer/merged_dicts.py +0 -0
  48. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/Containerfile.bec_linux_base +0 -0
  49. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/Containerfile.requirements +0 -0
  50. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/Containerfile.worker +0 -0
  51. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/__init__.py +0 -0
  52. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/_dev_runner.py +0 -0
  53. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/builtin_procedures.py +0 -0
  54. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/constants.py +0 -0
  55. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/container_utils.py +0 -0
  56. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/container_worker.py +0 -0
  57. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/manager.py +0 -0
  58. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/oop_worker_base.py +0 -0
  59. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/procedure_registry.py +0 -0
  60. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/protocol.py +0 -0
  61. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/queue_manager.py +0 -0
  62. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/subprocess_worker.py +0 -0
  63. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/procedures/worker_base.py +0 -0
  64. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_bundler/__init__.py +0 -0
  65. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_bundler/bec_emitter.py +0 -0
  66. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_bundler/cli/__init__.py +0 -0
  67. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_bundler/cli/launch.py +0 -0
  68. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_bundler/emitter.py +0 -0
  69. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_bundler/scan_bundler.py +0 -0
  70. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/__init__.py +0 -0
  71. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/beamline_state_manager.py +0 -0
  72. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/cli/__init__.py +0 -0
  73. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/cli/launch.py +0 -0
  74. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/device_lock_registry.py +0 -0
  75. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/direct_scan_worker.py +0 -0
  76. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/errors.py +0 -0
  77. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/instruction_handler.py +0 -0
  78. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scan_assembler.py +0 -0
  79. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scan_guard.py +0 -0
  80. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scan_manager.py +0 -0
  81. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scan_queue.py +0 -0
  82. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scan_server.py +0 -0
  83. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scan_worker.py +0 -0
  84. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/__init__.py +0 -0
  85. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/acquire.py +0 -0
  86. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/cont_line_scan.py +0 -0
  87. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/device_rpc.py +0 -0
  88. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/fermat_scan.py +0 -0
  89. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/grid_scan.py +0 -0
  90. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/hexagonal_scan.py +0 -0
  91. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/line_scan.py +0 -0
  92. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/line_sweep_scan.py +0 -0
  93. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/list_scan.py +0 -0
  94. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/log_scan.py +0 -0
  95. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/move.py +0 -0
  96. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/multi_region_grid_scan.py +0 -0
  97. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/multi_region_line_scan.py +0 -0
  98. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/path_optimization.py +0 -0
  99. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/position_generators.py +0 -0
  100. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/round_roi_scan.py +0 -0
  101. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/round_scan.py +0 -0
  102. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/scan_actions.py +0 -0
  103. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/scan_argument_modifier.py +0 -0
  104. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/scan_base.py +0 -0
  105. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/scan_components.py +0 -0
  106. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/scan_modifier.py +0 -0
  107. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/scan_status.py +0 -0
  108. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/time_scan.py +0 -0
  109. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/scans/updated_move.py +0 -0
  110. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/tests/__init__.py +0 -0
  111. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/tests/fixtures.py +0 -0
  112. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/tests/scan_fixtures.py +0 -0
  113. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/tests/scan_hook_tests.py +0 -0
  114. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scan_server/tests/utils.py +0 -0
  115. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/__init__.py +0 -0
  116. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/__init__.py +0 -0
  117. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/atlas_active_client_emitter.py +0 -0
  118. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/atlas_connector.py +0 -0
  119. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/atlas_forwarder.py +0 -0
  120. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/atlas_metadata_handler.py +0 -0
  121. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/atlas_plugin_repo_emitter.py +0 -0
  122. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/atlas/config_handler.py +0 -0
  123. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/cli/__init__.py +0 -0
  124. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/cli/launch.py +0 -0
  125. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/scihub.py +0 -0
  126. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/service_handler/__init__.py +0 -0
  127. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/scihub/service_handler/service_handler.py +0 -0
  128. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/test/__init__.py +0 -0
  129. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/test/actor_test_utils.py +0 -0
  130. {bec_server-4.3.2 → bec_server-4.3.3}/bec_server/test/helpers.py +0 -0
  131. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_actors/test_actors.py +0 -0
  132. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_bec_server_utils/test_main.py +0 -0
  133. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_bec_server_utils/test_service_handler.py +0 -0
  134. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_bec_server_utils/test_subprocess_launch.py +0 -0
  135. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_bec_server_utils/test_tmux_launch.py +0 -0
  136. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_data_processing/conftest.py +0 -0
  137. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_data_processing/test_dap_cli_launch.py +0 -0
  138. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_data_processing/test_dap_server.py +0 -0
  139. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_data_processing/test_dap_service_manager.py +0 -0
  140. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_data_processing/test_lmfit1d_service.py +0 -0
  141. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/conftest.py +0 -0
  142. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_config_handler.py +0 -0
  143. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_device_instructions.py +0 -0
  144. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_device_manager_ds.py +0 -0
  145. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_device_serializer.py +0 -0
  146. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_device_server.py +0 -0
  147. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_device_server_cli_launch.py +0 -0
  148. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_ophyd_callback_monitor.py +0 -0
  149. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_device_server/test_rpc_handler.py +0 -0
  150. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_file_writer/conftest.py +0 -0
  151. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_file_writer/test_async_file_writer.py +0 -0
  152. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_file_writer/test_file_writer_cli_launch.py +0 -0
  153. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_file_writer/test_file_writer_manager.py +0 -0
  154. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_bundler/conftest.py +0 -0
  155. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_bundler/test_bec_emitter.py +0 -0
  156. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_bundler/test_scan_bundler.py +0 -0
  157. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_bundler/test_scan_bundler_cli_launch.py +0 -0
  158. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/conftest.py +0 -0
  159. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/__init__.py +0 -0
  160. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_acquire.py +0 -0
  161. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_cont_line_scan.py +0 -0
  162. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_device_rpc_scan.py +0 -0
  163. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_fermat_scan.py +0 -0
  164. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_grid_scan.py +0 -0
  165. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_hexagonal_scan.py +0 -0
  166. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_line_scan.py +0 -0
  167. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_line_sweep_scan.py +0 -0
  168. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_list_scan.py +0 -0
  169. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_log_scan.py +0 -0
  170. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_move_scan.py +0 -0
  171. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_multi_region_grid_scan.py +0 -0
  172. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_multi_region_line_scan.py +0 -0
  173. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_position_preview.py +0 -0
  174. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_relative_scan_return_to_start.py +0 -0
  175. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_round_roi_scan.py +0 -0
  176. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_round_scan.py +0 -0
  177. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_scan_actions.py +0 -0
  178. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_scan_components.py +0 -0
  179. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_scan_status.py +0 -0
  180. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_time_scan.py +0 -0
  181. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/scans/test_updated_move_scan.py +0 -0
  182. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_beamline_state_manager.py +0 -0
  183. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_builtin_actor_manager.py +0 -0
  184. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_container_utils.py +0 -0
  185. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_device_lock_registry.py +0 -0
  186. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_direct_scan_worker.py +0 -0
  187. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_instruction_handler.py +0 -0
  188. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_path_optimization.py +0 -0
  189. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_procedure_container_worker.py +0 -0
  190. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_procedure_queue_pool.py +0 -0
  191. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_procedure_submission.py +0 -0
  192. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_procedure_subprocess_worker.py +0 -0
  193. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_procedures.py +0 -0
  194. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_argument_modifier.py +0 -0
  195. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_assembler.py +0 -0
  196. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_fixture_imports.py +0 -0
  197. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_guard.py +0 -0
  198. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_interlock.py +0 -0
  199. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_modifier.py +0 -0
  200. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_server_cli_launch.py +0 -0
  201. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_server_queue.py +0 -0
  202. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_server_scan_manager.py +0 -0
  203. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scan_server/test_scan_worker.py +0 -0
  204. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/conftest.py +0 -0
  205. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_atlas_active_client_emitter.py +0 -0
  206. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_atlas_config_handler.py +0 -0
  207. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_atlas_connector.py +0 -0
  208. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_atlas_forwarder.py +0 -0
  209. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_atlas_metadata_handler.py +0 -0
  210. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_atlas_plugin_repo_emitter.py +0 -0
  211. {bec_server-4.3.2 → bec_server-4.3.3}/tests/tests_scihub/test_scihub_cli_launch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: bec-server
3
- Version: 4.3.2
3
+ Version: 4.3.3
4
4
  Summary: BEC server
5
5
  Project-URL: Bug Tracker, https://github.com/bec-project/bec/issues
6
6
  Project-URL: Homepage, https://github.com/bec-project/bec
@@ -9,6 +9,7 @@ from collections import defaultdict
9
9
  from copy import deepcopy
10
10
 
11
11
  import h5py
12
+ import numpy as np
12
13
  from pydantic import BaseModel
13
14
 
14
15
  from bec_lib import messages, plugin_helper
@@ -164,6 +165,8 @@ class HDF5StorageWriter:
164
165
  data = json.dumps(data)
165
166
  elif not all(isinstance(x, type(data[0])) for x in data):
166
167
  data = json.dumps(data)
168
+ if isinstance(data, np.ndarray) and data.dtype.kind == "U":
169
+ data = data.astype(h5py.string_dtype(encoding="utf-8"))
167
170
  dataset = container.create_dataset(name, data=data)
168
171
  self.add_attribute(dataset, val.attrs)
169
172
  self.add_content(dataset, val._storage)
@@ -175,7 +178,7 @@ class HDF5StorageWriter:
175
178
  container.attrs["signal"] = "value"
176
179
  except Exception:
177
180
  content = traceback.format_exc()
178
- logger.error(f"Failed to write dataset {name}: {content}")
181
+ logger.error(f"Failed to write dataset {container.name}/{name}: {content}")
179
182
  return
180
183
 
181
184
  def add_attribute(self, container: typing.Any, attributes: dict):
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bec-server"
7
- version = "4.3.2"
7
+ version = "4.3.3"
8
8
  description = "BEC server"
9
9
  requires-python = ">=3.11"
10
10
  classifiers = [
@@ -10,7 +10,11 @@ from bec_lib import messages, plugin_helper
10
10
  from bec_lib.endpoints import MessageEndpoints
11
11
  from bec_server.file_writer import HDF5FileWriter
12
12
  from bec_server.file_writer.default_writer import DefaultFormat
13
- from bec_server.file_writer.file_writer import AdditionalScanMetadata, HDF5Storage
13
+ from bec_server.file_writer.file_writer import (
14
+ AdditionalScanMetadata,
15
+ HDF5Storage,
16
+ HDF5StorageWriter,
17
+ )
14
18
  from bec_server.file_writer.file_writer_manager import ScanStorage
15
19
 
16
20
 
@@ -647,3 +651,27 @@ def test_hdf5_writer_forwards_written_async_signals(tmp_path, hdf5_file_writer,
647
651
  )
648
652
 
649
653
  assert CapturingFormatForTest.last_written_async_signals == {"waveform": ["waveform_data"]}
654
+
655
+
656
+ @pytest.mark.parametrize(
657
+ "data",
658
+ [
659
+ np.array(["cam.acquire_time", "roi1.selected_operations"]),
660
+ np.array([["µm", "曝光"], ["ROI", ""]]),
661
+ np.array([], dtype="U33"),
662
+ np.array("roi1.selected_operations"),
663
+ ],
664
+ )
665
+ def test_storage_writer_numpy_unicode(tmp_path, data):
666
+ """Configuration string arrays retain their shape and Unicode text in HDF5."""
667
+ storage = HDF5Storage()
668
+ dataset = storage.create_dataset("value", data=data)
669
+ dataset.attrs["description"] = "Configuration names"
670
+ path = tmp_path / "strings.h5"
671
+ with h5py.File(path, "w") as handle:
672
+ HDF5StorageWriter.write(storage._storage, handle)
673
+ with h5py.File(path, "r") as handle:
674
+ assert "value" in handle
675
+ assert handle["value"].shape == data.shape
676
+ np.testing.assert_array_equal(handle["value"].asstr()[()], data)
677
+ assert handle["value"].attrs["description"] == "Configuration names"
File without changes
File without changes
File without changes