bec-server 3.124.2__tar.gz → 3.124.4__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.
- {bec_server-3.124.2 → bec_server-3.124.4}/PKG-INFO +1 -1
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/device_server.py +10 -3
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/atlas_metadata_handler.py +13 -9
- {bec_server-3.124.2 → bec_server-3.124.4}/pyproject.toml +3 -1
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_server.py +69 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_atlas_metadata_handler.py +3 -1
- {bec_server-3.124.2 → bec_server-3.124.4}/.gitignore +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/.zed/debug.json +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/README.md +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/actors/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/actors/actor.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/actors/manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/actors/worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/bec_server_utils/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/bec_server_utils/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/bec_server_utils/service_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/bec_server_utils/subprocess_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/bec_server_utils/tmux_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/cli/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/cli/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/dap_server.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/dap_service.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/dap_service_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/image_analysis_service.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/lmfit1d_service.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/bec_message_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/cli/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/cli/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/devices/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/devices/config_update_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/devices/device_serializer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/devices/devicemanager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/rpc_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/tests/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/tests/utils.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/async_writer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/cli/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/cli/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/default_writer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/file_writer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/file_writer_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer/merged_dicts.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer_plugins/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/file_writer_plugins/cSAXS.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/Containerfile.bec_linux_base +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/Containerfile.requirements +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/Containerfile.worker +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/_dev_runner.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/builtin_procedures.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/constants.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/container_utils.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/container_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/oop_worker_base.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/procedure_registry.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/protocol.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/subprocess_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/worker_base.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_bundler/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_bundler/bec_emitter.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_bundler/cli/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_bundler/cli/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_bundler/emitter.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_bundler/scan_bundler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/beamline_state_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/cli/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/cli/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/direct_scan_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/errors.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/generator_scan_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/instruction_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/path_optimization.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_assembler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_guard.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_gui_models.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_plugins/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_plugins/otf_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_queue.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_server.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_stubs.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scan_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/acquire.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/cont_line_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/fermat_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/grid_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/hexagonal_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/legacy_scans.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/line_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/line_sweep_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/list_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/log_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/move.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/multi_region_grid_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/multi_region_line_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/position_generators.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/round_roi_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/round_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/scan_actions.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/scan_argument_modifier.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/scan_base.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/scan_components.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/scan_modifier.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/time_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/updated_move.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/tests/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/tests/fixtures.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/tests/scan_fixtures.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/tests/scan_hook_tests.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/tests/utils.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/types.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/atlas_active_client_emitter.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/atlas_connector.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/atlas_forwarder.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/config_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/cli/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/cli/launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/scihub.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/service_handler/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/service_handler/service_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/test/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/test/actor_test_utils.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/bec_server/test/helpers.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_actors/test_actors.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_bec_server_utils/test_main.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_bec_server_utils/test_service_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_bec_server_utils/test_tmux_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/conftest.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_dap_cli_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_dap_server.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_dap_service_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_image_analysis_service.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_lmfit1d_service.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/conftest.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_config_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_instructions.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_manager_ds.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_serializer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_server_cli_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_rpc_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/conftest.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/test_async_file_writer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/test_file_writer.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/test_file_writer_cli_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/test_file_writer_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_bundler/conftest.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_bundler/test_bec_emitter.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_bundler/test_scan_bundler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_bundler/test_scan_bundler_cli_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/conftest.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/__init__.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_acquire.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_cont_line_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_fermat_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_grid_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_hexagonal_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_line_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_line_sweep_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_list_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_log_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_move_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_multi_region_grid_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_multi_region_line_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_position_generators.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_relative_scan_return_to_start.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_round_roi_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_round_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_scan_actions.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_scan_components.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_time_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_updated_move_scan.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_beamline_state_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_container_utils.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_direct_scan_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_generator_scan_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_instruction_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_legacy_scans.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_path_optimization.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_procedure_container_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_procedures.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_argument_modifier.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_assembler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_guard.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_gui_models.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_modifier.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_server_cli_launch.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_server_queue.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_server_scan_manager.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_stub_status.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_stubs.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_worker.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/conftest.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_atlas_active_client_emitter.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_atlas_config_handler.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_atlas_connector.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_atlas_forwarder.py +0 -0
- {bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_scihub_cli_launch.py +0 -0
|
@@ -216,10 +216,12 @@ class RequestHandler:
|
|
|
216
216
|
if len(request_info["status_objects"]) != request_info["num_status_objects"]:
|
|
217
217
|
return
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
status_objects = request_info["status_objects"]
|
|
220
|
+
|
|
221
|
+
if all(status_obj.done for status_obj in status_objects):
|
|
220
222
|
exceptions = [
|
|
221
223
|
(status_obj.exception(), status_obj)
|
|
222
|
-
for status_obj in
|
|
224
|
+
for status_obj in status_objects
|
|
223
225
|
if isinstance(status_obj, StatusBase)
|
|
224
226
|
]
|
|
225
227
|
if any(val for val, _ in exceptions):
|
|
@@ -777,6 +779,11 @@ class DeviceServer(BECService):
|
|
|
777
779
|
# if the user requested a response on a single status object, we need to send it
|
|
778
780
|
# to the device_req_status_container
|
|
779
781
|
request_id = status.instruction.metadata["RID"]
|
|
782
|
+
metadata["error_info"] = (
|
|
783
|
+
self.requests_handler.get_error_info(status.exception(), status)
|
|
784
|
+
if status.exception()
|
|
785
|
+
else None
|
|
786
|
+
)
|
|
780
787
|
dev_msg = messages.DeviceReqStatusMessage(
|
|
781
788
|
device=device_name, success=status.success, request_id=request_id, metadata=metadata
|
|
782
789
|
)
|
|
@@ -786,7 +793,7 @@ class DeviceServer(BECService):
|
|
|
786
793
|
MessageEndpoints.device_req_status(request_id),
|
|
787
794
|
{"data": dev_msg},
|
|
788
795
|
pipe=pipe,
|
|
789
|
-
expire=
|
|
796
|
+
expire=3600,
|
|
790
797
|
)
|
|
791
798
|
pipe.execute()
|
|
792
799
|
|
|
@@ -147,15 +147,19 @@ class AtlasMetadataHandler:
|
|
|
147
147
|
if self._account is None:
|
|
148
148
|
return
|
|
149
149
|
info = self._deployment_info
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
150
|
+
|
|
151
|
+
def is_account_same(info: messages.DeploymentInfoMessage | None) -> bool:
|
|
152
|
+
if info is None:
|
|
153
|
+
return False
|
|
154
|
+
if info.active_session is None:
|
|
155
|
+
return False
|
|
156
|
+
if info.active_session.experiment is None:
|
|
157
|
+
return False
|
|
158
|
+
return info.active_session.experiment.pgroup == self._account
|
|
159
|
+
|
|
160
|
+
if not is_account_same(info):
|
|
161
|
+
msg = messages.VariableMessage(value=self._account)
|
|
162
|
+
self.send_atlas_update({"account": msg})
|
|
159
163
|
|
|
160
164
|
def _handle_account_info(self, msg, emit_update=True, **_kwargs) -> None:
|
|
161
165
|
"""
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "bec-server"
|
|
7
|
-
version = "3.124.
|
|
7
|
+
version = "3.124.4"
|
|
8
8
|
description = "BEC server"
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
classifiers = [
|
|
@@ -72,6 +72,8 @@ Homepage = "https://github.com/bec-project/bec"
|
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
|
|
75
|
+
|
|
76
|
+
|
|
75
77
|
|
|
76
78
|
[tool.hatch.build.targets.wheel]
|
|
77
79
|
include = ["*"]
|
|
@@ -130,6 +130,49 @@ def test_device_server_status_callback(
|
|
|
130
130
|
logger.remove(sink_id)
|
|
131
131
|
|
|
132
132
|
|
|
133
|
+
@pytest.mark.parametrize("status_success", [True, False])
|
|
134
|
+
def test_device_server_status_callback_response_includes_error_info(
|
|
135
|
+
device_server_mock, ophyd_device_mock, status_success
|
|
136
|
+
):
|
|
137
|
+
device_server = device_server_mock
|
|
138
|
+
dev = ophyd_device_mock
|
|
139
|
+
dev._kind = Kind.normal
|
|
140
|
+
instr = messages.DeviceInstructionMessage(
|
|
141
|
+
device=dev.name,
|
|
142
|
+
action="set",
|
|
143
|
+
parameter={},
|
|
144
|
+
metadata={
|
|
145
|
+
"stream": "primary",
|
|
146
|
+
"device_instr_id": "diid",
|
|
147
|
+
"RID": "request-id",
|
|
148
|
+
"response": True,
|
|
149
|
+
},
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
status = DeviceStatus(dev)
|
|
153
|
+
device_server._add_status_object_info(status, instruction=instr, device=dev)
|
|
154
|
+
if status_success:
|
|
155
|
+
status.set_finished()
|
|
156
|
+
else:
|
|
157
|
+
status.set_exception(RuntimeError("motor failed"))
|
|
158
|
+
|
|
159
|
+
with mock.patch.object(device_server, "_read_device") as mock_read_device:
|
|
160
|
+
with mock.patch.object(device_server.connector, "xadd") as xadd_mock:
|
|
161
|
+
device_server.status_callback(status)
|
|
162
|
+
|
|
163
|
+
mock_read_device.assert_called_once_with(instr)
|
|
164
|
+
xadd_mock.assert_called_once()
|
|
165
|
+
dev_msg = xadd_mock.call_args.args[1]["data"]
|
|
166
|
+
assert isinstance(dev_msg, messages.DeviceReqStatusMessage)
|
|
167
|
+
assert dev_msg.success is status_success
|
|
168
|
+
if status_success:
|
|
169
|
+
assert dev_msg.metadata["error_info"] is None
|
|
170
|
+
else:
|
|
171
|
+
assert dev_msg.metadata["error_info"] is not None
|
|
172
|
+
assert dev_msg.metadata["error_info"].exception_type == "RuntimeError"
|
|
173
|
+
assert "motor failed" in dev_msg.metadata["error_info"].error_message
|
|
174
|
+
|
|
175
|
+
|
|
133
176
|
@pytest.mark.parametrize(
|
|
134
177
|
"instr",
|
|
135
178
|
[
|
|
@@ -1064,3 +1107,29 @@ def test_request_handler_ignores_response_if_stop_id(device_server_mock, stop_id
|
|
|
1064
1107
|
stop_mock.assert_called()
|
|
1065
1108
|
status.set_exception(RuntimeError("Test exception"))
|
|
1066
1109
|
send_mock.assert_not_called()
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
def test_request_handler_update_instruction_uses_snapshot_when_request_removed(device_server_mock):
|
|
1113
|
+
device_server = device_server_mock
|
|
1114
|
+
request = messages.DeviceInstructionMessage(
|
|
1115
|
+
device="test_device", action="complete", parameter={}, metadata={"device_instr_id": "diid"}
|
|
1116
|
+
)
|
|
1117
|
+
|
|
1118
|
+
status = StatusBase()
|
|
1119
|
+
status.set_finished()
|
|
1120
|
+
request_info = {
|
|
1121
|
+
"instr": request,
|
|
1122
|
+
"status_objects": [status],
|
|
1123
|
+
"num_status_objects": 1,
|
|
1124
|
+
"done": False,
|
|
1125
|
+
"is_status_obj": True,
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
with mock.patch.object(
|
|
1129
|
+
device_server.requests_handler, "get_request", return_value=request_info
|
|
1130
|
+
):
|
|
1131
|
+
with mock.patch.object(device_server.requests_handler, "set_finished") as set_finished_mock:
|
|
1132
|
+
device_server.requests_handler._storage.clear()
|
|
1133
|
+
device_server.requests_handler._update_instruction("diid", is_status_obj=True)
|
|
1134
|
+
|
|
1135
|
+
set_finished_mock.assert_called_once_with("diid", success=True)
|
|
@@ -298,7 +298,9 @@ def test_update_account_if_needed_different_account_forwards(atlas_connector):
|
|
|
298
298
|
with mock.patch.object(handler, "send_atlas_update") as mock_send_update:
|
|
299
299
|
handler._update_account_if_needed()
|
|
300
300
|
|
|
301
|
-
mock_send_update.assert_called_once_with(
|
|
301
|
+
mock_send_update.assert_called_once_with(
|
|
302
|
+
{"account": messages.VariableMessage(value="local-account")}
|
|
303
|
+
)
|
|
302
304
|
|
|
303
305
|
|
|
304
306
|
def test_handle_deployment_info_valid(atlas_connector):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/data_processing/image_analysis_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/devices/config_update_handler.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/device_server/devices/device_serializer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/procedures/Containerfile.bec_linux_base
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/multi_region_grid_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/multi_region_line_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/position_generators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scan_server/scans/scan_argument_modifier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/atlas/atlas_active_client_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/bec_server/scihub/service_handler/service_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_bec_server_utils/test_service_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_dap_cli_launch.py
RENAMED
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_dap_service_manager.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_image_analysis_service.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_data_processing/test_lmfit1d_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_instructions.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_manager_ds.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_serializer.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_device_server/test_device_server_cli_launch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/test_file_writer_cli_launch.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_file_writer/test_file_writer_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_bundler/test_scan_bundler_cli_launch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_cont_line_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_fermat_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_grid_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_hexagonal_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_line_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_line_sweep_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_list_scan.py
RENAMED
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_move_scan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_round_roi_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_round_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_scan_actions.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_scan_components.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_time_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/scans_v4/test_updated_move_scan.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_beamline_state_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_direct_scan_worker.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_generator_scan_worker.py
RENAMED
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_instruction_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_procedure_container_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_argument_modifier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_server_cli_launch.py
RENAMED
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scan_server/test_scan_server_scan_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bec_server-3.124.2 → bec_server-3.124.4}/tests/tests_scihub/test_atlas_active_client_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|