mxcubecore.queuelib#
queuelib: the queue client library.
Builds and serializes the queue tree into format documented in JSON_FORMAT.md (in this package).
- class mxcubecore.queuelib.CharacterisationNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, label: str = '', sampleID: str, sampleQueueID: int | None = None, taskIndex: int | None = None, diffractionPlan: list[mxcubecore.queuelib.models.TaskNodeModel] | None = None, diffractionPlanID: int | None = None, name: str | None = None, parameters: CharacterisationParameters)[source]#
Bases:
TaskNodeModel- Parameters:
type (str) –
queueID (int) –
checked (bool) –
state (int) –
label (str) –
sampleID (str) –
sampleQueueID (int | None) –
taskIndex (int | None) –
diffractionPlan (list[mxcubecore.queuelib.models.TaskNodeModel] | None) –
diffractionPlanID (int | None) –
name (str | None) –
parameters (CharacterisationParameters) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'diffractionPlan': FieldInfo(annotation=Union[list[TaskNodeModel], NoneType], required=False, default=None), 'diffractionPlanID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'label': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parameters': FieldInfo(annotation=CharacterisationParameters, required=True), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleQueueID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'state': FieldInfo(annotation=int, required=False, default=0), 'taskIndex': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.CharacterisationParameters(*, shape: str | int = '', directory: str = '', process_directory: str = '', xds_dir: str = '', base_prefix: str = '', mad_prefix: str = '', reference_image_prefix: str = '', wedge_prefix: str = '', run_number: int = 0, suffix: str = '', precision: int = 0, start_num: int = 0, num_files: int = 0, compression: bool = False, path: str = '', prefix: str = '', fileName: str | None = '', fullPath: str | None = '', subdir: str = '')[source]#
Bases:
DataCollectionParameters- Parameters:
directory (str) –
process_directory (str) –
xds_dir (str) –
base_prefix (str) –
mad_prefix (str) –
reference_image_prefix (str) –
wedge_prefix (str) –
run_number (int) –
suffix (str) –
precision (int) –
start_num (int) –
num_files (int) –
compression (bool) –
path (str) –
prefix (str) –
fileName (str | None) –
fullPath (str | None) –
subdir (str) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'account_rad_damage': FieldInfo(annotation=bool, required=False, default=False), 'aimed_completness': FieldInfo(annotation=float, required=False, default=0), 'aimed_i_sigma': FieldInfo(annotation=float, required=False, default=0), 'aimed_multiplicity': FieldInfo(annotation=float, required=False, default=0), 'auto_res': FieldInfo(annotation=bool, required=False, default=False), 'base_prefix': FieldInfo(annotation=str, required=False, default=''), 'beta': FieldInfo(annotation=float, required=False, default=0), 'burn_osc_interval': FieldInfo(annotation=float, required=False, default=0), 'burn_osc_start': FieldInfo(annotation=float, required=False, default=0), 'cellA': FieldInfo(annotation=float, required=False, default=0), 'cellAlpha': FieldInfo(annotation=float, required=False, default=0), 'cellB': FieldInfo(annotation=float, required=False, default=0), 'cellBeta': FieldInfo(annotation=float, required=False, default=0), 'cellC': FieldInfo(annotation=float, required=False, default=0), 'cellGamma': FieldInfo(annotation=float, required=False, default=0), 'cell_counting': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'cell_spacing': FieldInfo(annotation=Union[tuple[float, float], NoneType], required=False, default=None), 'compression': FieldInfo(annotation=bool, required=False, default=False), 'detector_binning_mode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'detector_distance': FieldInfo(annotation=float, required=False, default=0), 'detector_roi_mode': FieldInfo(annotation=int, required=False, default=0), 'determine_rad_params': FieldInfo(annotation=bool, required=False, default=False), 'directory': FieldInfo(annotation=str, required=False, default=''), 'disable_processing': FieldInfo(annotation=bool, required=False, default=False), 'energy': FieldInfo(annotation=float, required=False, default=0, description='Energy in keV'), 'exp_time': FieldInfo(annotation=float, required=False, default=0, description='Exposure time in seconds'), 'experiment_type': FieldInfo(annotation=str, required=False, default=''), 'fileName': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'first_image': FieldInfo(annotation=int, required=False, default=0, description='First image number'), 'fullPath': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'gamma': FieldInfo(annotation=float, required=False, default=0), 'helical': FieldInfo(annotation=bool, required=False, default=False), 'induce_burn': FieldInfo(annotation=bool, required=False, default=False), 'kappa': FieldInfo(annotation=Union[float, NoneType], required=False, default=0), 'kappa_phi': FieldInfo(annotation=Union[float, NoneType], required=False, default=0), 'low_res_pass_strat': FieldInfo(annotation=bool, required=False, default=False), 'mad_prefix': FieldInfo(annotation=str, required=False, default=''), 'max_crystal_vdim': FieldInfo(annotation=float, required=False, default=0), 'max_crystal_vphi': FieldInfo(annotation=float, required=False, default=0), 'mesh': FieldInfo(annotation=bool, required=False, default=False), 'mesh_center': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'mesh_range': FieldInfo(annotation=dict[str, float], required=False, default={}), 'min_crystal_vdim': FieldInfo(annotation=float, required=False, default=0), 'min_crystal_vphi': FieldInfo(annotation=float, required=False, default=0), 'min_dose': FieldInfo(annotation=float, required=False, default=0), 'min_time': FieldInfo(annotation=float, required=False, default=0), 'num_files': FieldInfo(annotation=int, required=False, default=0), 'num_images': FieldInfo(annotation=int, required=False, default=0, description='Total number of images'), 'num_images_per_trigger': FieldInfo(annotation=int, required=False, default=0), 'num_lines': FieldInfo(annotation=int, required=False, default=1), 'num_triggers': FieldInfo(annotation=int, required=False, default=0), 'opt_sad': FieldInfo(annotation=bool, required=False, default=False), 'osc_range': FieldInfo(annotation=float, required=False, default=0, description='Oscillation range per image'), 'osc_start': FieldInfo(annotation=float, required=False, default=0, description='Starting oscillation angle'), 'osc_total_range': FieldInfo(annotation=float, required=False, default=0), 'overlap': FieldInfo(annotation=float, required=False, default=0), 'path': FieldInfo(annotation=str, required=False, default=''), 'permitted_phi_end': FieldInfo(annotation=float, required=False, default=0), 'permitted_phi_start': FieldInfo(annotation=float, required=False, default=0), 'precision': FieldInfo(annotation=int, required=False, default=0), 'prefix': FieldInfo(annotation=str, required=False, default=''), 'process_directory': FieldInfo(annotation=str, required=False, default=''), 'rad_suscept': FieldInfo(annotation=float, required=False, default=0), 'reference_image_prefix': FieldInfo(annotation=str, required=False, default=''), 'resolution': FieldInfo(annotation=float, required=False, default=0, description='Resolution in Angstrom'), 'run_number': FieldInfo(annotation=int, required=False, default=0), 'sad_res': FieldInfo(annotation=float, required=False, default=0), 'shape': FieldInfo(annotation=Union[str, int], required=False, default=''), 'shutterless': FieldInfo(annotation=bool, required=False, default=True), 'space_group': FieldInfo(annotation=str, required=False, default=''), 'start_num': FieldInfo(annotation=int, required=False, default=0), 'strategy_complexity': FieldInfo(annotation=str, required=False, default=''), 'strategy_program': FieldInfo(annotation=str, required=False, default=''), 'sub_wedge_size': FieldInfo(annotation=int, required=False, default=10), 'subdir': FieldInfo(annotation=str, required=False, default=''), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'swNumImages': FieldInfo(annotation=int, required=False, default=0), 'take_snapshots': FieldInfo(annotation=int, required=False, default=0), 'taskIndexList': FieldInfo(annotation=Union[list[int], NoneType], required=False, default=None), 'transmission': FieldInfo(annotation=float, required=False, default=100), 'use_aimed_multiplicity': FieldInfo(annotation=float, required=False, default=0), 'use_aimed_resolution': FieldInfo(annotation=float, required=False, default=0), 'use_min_dose': FieldInfo(annotation=float, required=False, default=0), 'use_min_time': FieldInfo(annotation=float, required=False, default=0), 'use_permitted_rotation': FieldInfo(annotation=bool, required=False, default=False), 'wedge_prefix': FieldInfo(annotation=str, required=False, default=''), 'wedges': FieldInfo(annotation=list[DataCollectionNodeModel], required=False, default=[]), 'xds_dir': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.DataCollectionNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, label: str = '', sampleID: str, sampleQueueID: int | None = None, taskIndex: int | None = None, diffractionPlan: list[mxcubecore.queuelib.models.TaskNodeModel] | None = None, diffractionPlanID: int | None = None, name: str | None = None, parameters: DataCollectionParameters)[source]#
Bases:
TaskNodeModel- Parameters:
type (str) –
queueID (int) –
checked (bool) –
state (int) –
label (str) –
sampleID (str) –
sampleQueueID (int | None) –
taskIndex (int | None) –
diffractionPlan (list[mxcubecore.queuelib.models.TaskNodeModel] | None) –
diffractionPlanID (int | None) –
name (str | None) –
parameters (DataCollectionParameters) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'diffractionPlan': FieldInfo(annotation=Union[list[TaskNodeModel], NoneType], required=False, default=None), 'diffractionPlanID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'label': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parameters': FieldInfo(annotation=DataCollectionParameters, required=True), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleQueueID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'state': FieldInfo(annotation=int, required=False, default=0), 'taskIndex': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.DataCollectionParameters(*, shape: str | int = '', directory: str = '', process_directory: str = '', xds_dir: str = '', base_prefix: str = '', mad_prefix: str = '', reference_image_prefix: str = '', wedge_prefix: str = '', run_number: int = 0, suffix: str = '', precision: int = 0, start_num: int = 0, num_files: int = 0, compression: bool = False, path: str = '', prefix: str = '', fileName: str | None = '', fullPath: str | None = '', subdir: str = '')[source]#
Bases:
TaskDataPathModel- Parameters:
directory (str) –
process_directory (str) –
xds_dir (str) –
base_prefix (str) –
mad_prefix (str) –
reference_image_prefix (str) –
wedge_prefix (str) –
run_number (int) –
suffix (str) –
precision (int) –
start_num (int) –
num_files (int) –
compression (bool) –
path (str) –
prefix (str) –
fileName (str | None) –
fullPath (str | None) –
subdir (str) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'base_prefix': FieldInfo(annotation=str, required=False, default=''), 'cellA': FieldInfo(annotation=float, required=False, default=0), 'cellAlpha': FieldInfo(annotation=float, required=False, default=0), 'cellB': FieldInfo(annotation=float, required=False, default=0), 'cellBeta': FieldInfo(annotation=float, required=False, default=0), 'cellC': FieldInfo(annotation=float, required=False, default=0), 'cellGamma': FieldInfo(annotation=float, required=False, default=0), 'cell_counting': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'cell_spacing': FieldInfo(annotation=Union[tuple[float, float], NoneType], required=False, default=None), 'compression': FieldInfo(annotation=bool, required=False, default=False), 'detector_binning_mode': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'detector_distance': FieldInfo(annotation=float, required=False, default=0), 'detector_roi_mode': FieldInfo(annotation=int, required=False, default=0), 'directory': FieldInfo(annotation=str, required=False, default=''), 'disable_processing': FieldInfo(annotation=bool, required=False, default=False), 'energy': FieldInfo(annotation=float, required=False, default=0, description='Energy in keV'), 'exp_time': FieldInfo(annotation=float, required=False, default=0, description='Exposure time in seconds'), 'fileName': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'first_image': FieldInfo(annotation=int, required=False, default=0, description='First image number'), 'fullPath': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'helical': FieldInfo(annotation=bool, required=False, default=False), 'kappa': FieldInfo(annotation=Union[float, NoneType], required=False, default=0), 'kappa_phi': FieldInfo(annotation=Union[float, NoneType], required=False, default=0), 'mad_prefix': FieldInfo(annotation=str, required=False, default=''), 'mesh': FieldInfo(annotation=bool, required=False, default=False), 'mesh_center': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'mesh_range': FieldInfo(annotation=dict[str, float], required=False, default={}), 'num_files': FieldInfo(annotation=int, required=False, default=0), 'num_images': FieldInfo(annotation=int, required=False, default=0, description='Total number of images'), 'num_images_per_trigger': FieldInfo(annotation=int, required=False, default=0), 'num_lines': FieldInfo(annotation=int, required=False, default=1), 'num_triggers': FieldInfo(annotation=int, required=False, default=0), 'osc_range': FieldInfo(annotation=float, required=False, default=0, description='Oscillation range per image'), 'osc_start': FieldInfo(annotation=float, required=False, default=0, description='Starting oscillation angle'), 'osc_total_range': FieldInfo(annotation=float, required=False, default=0), 'overlap': FieldInfo(annotation=float, required=False, default=0), 'path': FieldInfo(annotation=str, required=False, default=''), 'precision': FieldInfo(annotation=int, required=False, default=0), 'prefix': FieldInfo(annotation=str, required=False, default=''), 'process_directory': FieldInfo(annotation=str, required=False, default=''), 'reference_image_prefix': FieldInfo(annotation=str, required=False, default=''), 'resolution': FieldInfo(annotation=float, required=False, default=0, description='Resolution in Angstrom'), 'run_number': FieldInfo(annotation=int, required=False, default=0), 'shape': FieldInfo(annotation=Union[str, int], required=False, default=''), 'shutterless': FieldInfo(annotation=bool, required=False, default=True), 'start_num': FieldInfo(annotation=int, required=False, default=0), 'sub_wedge_size': FieldInfo(annotation=int, required=False, default=10), 'subdir': FieldInfo(annotation=str, required=False, default=''), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'swNumImages': FieldInfo(annotation=int, required=False, default=0), 'take_snapshots': FieldInfo(annotation=int, required=False, default=0), 'taskIndexList': FieldInfo(annotation=Union[list[int], NoneType], required=False, default=None), 'transmission': FieldInfo(annotation=float, required=False, default=100), 'wedge_prefix': FieldInfo(annotation=str, required=False, default=''), 'wedges': FieldInfo(annotation=list[DataCollectionNodeModel], required=False, default=[]), 'xds_dir': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.EnergyScanNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, label: str = '', sampleID: str, sampleQueueID: int | None = None, taskIndex: int | None = None, diffractionPlan: list[mxcubecore.queuelib.models.TaskNodeModel] | None = None, diffractionPlanID: int | None = None, name: str | None = None, parameters: EnergyScanParameters)[source]#
Bases:
TaskNodeModel- Parameters:
type (str) –
queueID (int) –
checked (bool) –
state (int) –
label (str) –
sampleID (str) –
sampleQueueID (int | None) –
taskIndex (int | None) –
diffractionPlan (list[mxcubecore.queuelib.models.TaskNodeModel] | None) –
diffractionPlanID (int | None) –
name (str | None) –
parameters (EnergyScanParameters) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'diffractionPlan': FieldInfo(annotation=Union[list[TaskNodeModel], NoneType], required=False, default=None), 'diffractionPlanID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'label': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parameters': FieldInfo(annotation=EnergyScanParameters, required=True), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleQueueID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'state': FieldInfo(annotation=int, required=False, default=0), 'taskIndex': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.EnergyScanParameters(*, shape: str | int = '', directory: str = '', process_directory: str = '', xds_dir: str = '', base_prefix: str = '', mad_prefix: str = '', reference_image_prefix: str = '', wedge_prefix: str = '', run_number: int = 0, suffix: str = '', precision: int = 0, start_num: int = 0, num_files: int = 0, compression: bool = False, path: str = '', prefix: str = '', fileName: str | None = '', fullPath: str | None = '', subdir: str = '', element: str = '', edge: str = '')[source]#
Bases:
TaskDataPathModel- Parameters:
directory (str) –
process_directory (str) –
xds_dir (str) –
base_prefix (str) –
mad_prefix (str) –
reference_image_prefix (str) –
wedge_prefix (str) –
run_number (int) –
suffix (str) –
precision (int) –
start_num (int) –
num_files (int) –
compression (bool) –
path (str) –
prefix (str) –
fileName (str | None) –
fullPath (str | None) –
subdir (str) –
element (str) –
edge (str) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'base_prefix': FieldInfo(annotation=str, required=False, default=''), 'compression': FieldInfo(annotation=bool, required=False, default=False), 'directory': FieldInfo(annotation=str, required=False, default=''), 'edge': FieldInfo(annotation=str, required=False, default=''), 'element': FieldInfo(annotation=str, required=False, default=''), 'fileName': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'fullPath': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'mad_prefix': FieldInfo(annotation=str, required=False, default=''), 'num_files': FieldInfo(annotation=int, required=False, default=0), 'path': FieldInfo(annotation=str, required=False, default=''), 'precision': FieldInfo(annotation=int, required=False, default=0), 'prefix': FieldInfo(annotation=str, required=False, default=''), 'process_directory': FieldInfo(annotation=str, required=False, default=''), 'reference_image_prefix': FieldInfo(annotation=str, required=False, default=''), 'run_number': FieldInfo(annotation=int, required=False, default=0), 'shape': FieldInfo(annotation=Union[str, int], required=False, default=''), 'start_num': FieldInfo(annotation=int, required=False, default=0), 'subdir': FieldInfo(annotation=str, required=False, default=''), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'wedge_prefix': FieldInfo(annotation=str, required=False, default=''), 'xds_dir': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.QueueBuilder[source]#
Bases:
objectCreates queue models the creation of queue entries are handled in queue_model_child_added event handler
- add_characterisation(node_id: int, task: dict) int[source]#
Add a data characterisation task to the sample with id: <id>.
- add_data_collection(node_id: int, task: dict) int[source]#
Add a data collection task to the sample with id: <id>.
- add_energy_scan(node_id: int, task: dict) int[source]#
Add a energy scan task to the sample with id: <id>.
- add_interleaved(node_id: int, task: dict) int[source]#
Add a interleaved data collection task to the sample with id: <id>.
- add_queue_entry(node_id: int, task: dict, task_name: str)[source]#
Add a queue entry to the sample with id <node_id>.
- add_sample(sample_id: str, item)[source]#
Add a sample with sample id <sample_id> the queue.
- Parameters:
sample_id (str) – Sample id (often sample changer location)
- Returns:
SampleQueueEntry
- add_workflow(node_id: int, task: dict) int[source]#
Add a worklfow task to the parent node with id: <id>.
For adding GPhL Auto workflow, call with node_id==parent_node_id and all required parameters in task[“parameters”]
- add_xrf_scan(node_id: int, task: dict) int[source]#
Add a XRF Scan task to the sample with id: <id>.
- get_default_prefix(sample_data, generic_name=False)[source]#
Thin pass-through to HWR.beamline.session.get_default_prefix.
Kept as its own method (rather than called inline) so apply_template can call it as self.get_default_prefix(…).
- get_default_subdir(sample_data)[source]#
Thin pass-through to HWR.beamline.session.get_default_subdir.
- set_char_params(model: Characterisation, entry: BaseQueueEntry, task_data: dict, sample_model)[source]#
Helper method that sets the characterisation parameters.
Helper method that sets the characterisation parameters for a Characterisation.
- Parameters:
model (Characterisation) – The mode to set parameters of
entry (BaseQueueEntry) – The queue entry of the model
task_data (dict) – Dictionary with new parameters
- set_dc_params(model: DataCollection, entry: BaseQueueEntry, task_data: dict, sample_model)[source]#
Helper method that sets the data collection parameters for a DataCollection.
- Parameters:
model (DataCollection) – The model to set parameters of
entry (BaseQueueEntry) – The queue entry of the model
task_data (dict) – Dictionary with new parameters
- set_energy_scan_params(model: EnergyScan, entry: BaseQueueEntry, task_data: dict, sample_model)[source]#
Helper method that sets the xrf scan parameters for a XRF spectrum Scan.
- Parameters:
model (EnergyScan) – The model to set parameters of
entry (BaseQueueEntry) – The queue entry of the model
task_data (dict) – Dictionary with new parameters
- set_gphl_wf_params(model: GphlWorkflow, entry: BaseQueueEntry, task_data: dict, sample_model)[source]#
Helper method that sets the parameters for a GPhL workflow task.
- Parameters:
model (GphlWorkflow) – The model to set parameters of
entry (BaseQueueEntry) – The queue entry of the model
task_data (dict) – Dictionary with new parameters
sample_model – The Sample queueModelObject
- set_wf_params(model: Workflow, entry: BaseQueueEntry, task_data: dict, sample_model)[source]#
Helper method that sets the parameters for a workflow task.
- Parameters:
model (Workflow) – The model to set parameters of
entry (BaseQueueEntry) – The queue entry of the model
task_data (dict) – Dictionary with new parameters
- set_xrf_params(model: XRFSpectrum, entry: BaseQueueEntry, task_data: dict, sample_model)[source]#
Helper method that sets the xrf scan parameters for a XRF spectrum Scan.
- Parameters:
model (XRFSpectrum) – The model to set parameters of
entry (BaseQueueEntry) – The queue entry of the model
task_data (dict) – Dictionary with new parameters
- strip_prefix(pt, prefix)[source]#
Strip the reference, wedge and mad prefix from a given prefix.
For example, remove
ref-from the beginning and_w[n]and-pk,-ip,-ippfrom the end.- Parameters:
pt (PathTemplate) – path template used to create the prefix
prefix (str) – prefix from the client
- Returns:
stripped prefix
- class mxcubecore.queuelib.QueueNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0)[source]#
Bases:
BaseModel- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'state': FieldInfo(annotation=int, required=False, default=0), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.QueueSerializer(builder)[source]#
Bases:
objectSerializes the queue. Depends only on mxcubecore (HWR.beamline.*) and its sibling QueueBuilder - no self.app reference.
- add_task(parent: int | str, item: dict) int[source]#
Add a single task to an already-queued sample.
Unlike queue_add_item (which validates and adds a whole batch of samples/tasks at once), this adds exactly one task to a sample that must already be in the queue - it never creates a Sample node.
- pretty_print_queue(msg: str | None = None) None[source]#
Pretty print current queue state for debugging.
- Parameters:
msg (str | None) –
- Return type:
None
- queue_add_item(item_list)[source]#
Add queue items to the queue.
Add the queue items in item_list to the queue. The items in the list can be either samples and or tasks. Samples are only added if they are not already in the queue and tasks are appended to the end of an (already existing) sample. A task is ignored if the sample is not already in the queue.
The items in item_list are dictionaries with the following structure:
{ “type”: “Sample | DataCollection | Characterisation”, “sampleID”: sid … task or sample specific data }
Each item (dictionary) describes either a sample or a task.
Validation (malformed input) is all-or-nothing: if any item fails schema validation, nothing is mutated and ValidationError propagates - the request never touched the queue. Once past validation, adding is best-effort per top-level item (see JSON_FORMAT.md known issue #8): items can depend on an earlier one in the same call (e.g. a task nested under a sample added earlier in the same list), so a failed item can’t simply roll back everything after it without also undoing work later items may already depend on. The returned dict’s “add_results” key reports which top-level items (by sampleID) succeeded or failed, so a client doesn’t have to guess from an all-or-nothing HTTP status and risk re-submitting (duplicating) items that already succeeded.
- class mxcubecore.queuelib.SampleNode(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, sampleID: str, code: str | None = None, location: str, cell_no: int = 0, puck_no: int = 1, sampleName: str, proteinAcronym: str | None = '', defaultPrefix: str | None = '', defaultSubDir: str | None = '', tasks: list[mxcubecore.queuelib.models.DataCollectionNodeModel | mxcubecore.queuelib.models.CharacterisationNodeModel | mxcubecore.queuelib.models.XRFNodeModel | mxcubecore.queuelib.models.EnergyScanNodeModel | mxcubecore.queuelib.models.WorkflowNodeModel])[source]#
Bases:
QueueNodeModel- Parameters:
type (str) –
queueID (int) –
checked (bool) –
state (int) –
sampleID (str) –
code (str | None) –
location (str) –
cell_no (int) –
puck_no (int) –
sampleName (str) –
proteinAcronym (str | None) –
defaultPrefix (str | None) –
defaultSubDir (str | None) –
tasks (list[mxcubecore.queuelib.models.DataCollectionNodeModel | mxcubecore.queuelib.models.CharacterisationNodeModel | mxcubecore.queuelib.models.XRFNodeModel | mxcubecore.queuelib.models.EnergyScanNodeModel | mxcubecore.queuelib.models.WorkflowNodeModel]) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'cell_no': FieldInfo(annotation=int, required=False, default=0), 'checked': FieldInfo(annotation=bool, required=False, default=False), 'code': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'defaultPrefix': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'defaultSubDir': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'location': FieldInfo(annotation=str, required=True), 'proteinAcronym': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'puck_no': FieldInfo(annotation=int, required=False, default=1), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleName': FieldInfo(annotation=str, required=True), 'state': FieldInfo(annotation=int, required=False, default=0), 'tasks': FieldInfo(annotation=list[Union[DataCollectionNodeModel, CharacterisationNodeModel, XRFNodeModel, EnergyScanNodeModel, WorkflowNodeModel]], required=True), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.TaskDataPathModel(*, shape: str | int = '', directory: str = '', process_directory: str = '', xds_dir: str = '', base_prefix: str = '', mad_prefix: str = '', reference_image_prefix: str = '', wedge_prefix: str = '', run_number: int = 0, suffix: str = '', precision: int = 0, start_num: int = 0, num_files: int = 0, compression: bool = False, path: str = '', prefix: str = '', fileName: str | None = '', fullPath: str | None = '', subdir: str = '')[source]#
Bases:
BaseModel- Parameters:
directory (str) –
process_directory (str) –
xds_dir (str) –
base_prefix (str) –
mad_prefix (str) –
reference_image_prefix (str) –
wedge_prefix (str) –
run_number (int) –
suffix (str) –
precision (int) –
start_num (int) –
num_files (int) –
compression (bool) –
path (str) –
prefix (str) –
fileName (str | None) –
fullPath (str | None) –
subdir (str) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'base_prefix': FieldInfo(annotation=str, required=False, default=''), 'compression': FieldInfo(annotation=bool, required=False, default=False), 'directory': FieldInfo(annotation=str, required=False, default=''), 'fileName': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'fullPath': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'mad_prefix': FieldInfo(annotation=str, required=False, default=''), 'num_files': FieldInfo(annotation=int, required=False, default=0), 'path': FieldInfo(annotation=str, required=False, default=''), 'precision': FieldInfo(annotation=int, required=False, default=0), 'prefix': FieldInfo(annotation=str, required=False, default=''), 'process_directory': FieldInfo(annotation=str, required=False, default=''), 'reference_image_prefix': FieldInfo(annotation=str, required=False, default=''), 'run_number': FieldInfo(annotation=int, required=False, default=0), 'shape': FieldInfo(annotation=Union[str, int], required=False, default=''), 'start_num': FieldInfo(annotation=int, required=False, default=0), 'subdir': FieldInfo(annotation=str, required=False, default=''), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'wedge_prefix': FieldInfo(annotation=str, required=False, default=''), 'xds_dir': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.TaskNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, label: str = '', sampleID: str, sampleQueueID: int | None = None, taskIndex: int | None = None, diffractionPlan: list[mxcubecore.queuelib.models.TaskNodeModel] | None = None, diffractionPlanID: int | None = None, name: str | None = None)[source]#
Bases:
QueueNodeModel- Parameters:
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'diffractionPlan': FieldInfo(annotation=Union[list[TaskNodeModel], NoneType], required=False, default=None), 'diffractionPlanID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'label': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleQueueID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'state': FieldInfo(annotation=int, required=False, default=0), 'taskIndex': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.WorkflowNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, label: str = '', sampleID: str, sampleQueueID: int | None = None, taskIndex: int | None = None, diffractionPlan: list[mxcubecore.queuelib.models.TaskNodeModel] | None = None, diffractionPlanID: int | None = None, name: str | None = None, parameters: WorkflowParameters)[source]#
Bases:
TaskNodeModel- Parameters:
type (str) –
queueID (int) –
checked (bool) –
state (int) –
label (str) –
sampleID (str) –
sampleQueueID (int | None) –
taskIndex (int | None) –
diffractionPlan (list[mxcubecore.queuelib.models.TaskNodeModel] | None) –
diffractionPlanID (int | None) –
name (str | None) –
parameters (WorkflowParameters) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'diffractionPlan': FieldInfo(annotation=Union[list[TaskNodeModel], NoneType], required=False, default=None), 'diffractionPlanID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'label': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parameters': FieldInfo(annotation=WorkflowParameters, required=True), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleQueueID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'state': FieldInfo(annotation=int, required=False, default=0), 'taskIndex': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.WorkflowParameters(*, shape: str | int = '', directory: str = '', process_directory: str = '', xds_dir: str = '', base_prefix: str = '', mad_prefix: str = '', reference_image_prefix: str = '', wedge_prefix: str = '', run_number: int = 0, suffix: str = '', precision: int = 0, start_num: int = 0, num_files: int = 0, compression: bool = False, path: str = '', prefix: str = '', fileName: str | None = '', fullPath: str | None = '', subdir: str = '', beam_size: str | None = None, cell_count: int | None = None, doc: str = '', label: str = '', name: str | None = None, numCols: int = 0, numRows: int = 0, requires: str | None = None, type: str = '', wfname: str = '', wfpath: str = '')[source]#
Bases:
TaskDataPathModel- Parameters:
directory (str) –
process_directory (str) –
xds_dir (str) –
base_prefix (str) –
mad_prefix (str) –
reference_image_prefix (str) –
wedge_prefix (str) –
run_number (int) –
suffix (str) –
precision (int) –
start_num (int) –
num_files (int) –
compression (bool) –
path (str) –
prefix (str) –
fileName (str | None) –
fullPath (str | None) –
subdir (str) –
beam_size (str | None) –
cell_count (int | None) –
doc (str) –
label (str) –
name (str | None) –
numCols (int) –
numRows (int) –
requires (str | None) –
type (str) –
wfname (str) –
wfpath (str) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'base_prefix': FieldInfo(annotation=str, required=False, default=''), 'beam_size': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'cell_count': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'compression': FieldInfo(annotation=bool, required=False, default=False), 'directory': FieldInfo(annotation=str, required=False, default=''), 'doc': FieldInfo(annotation=str, required=False, default=''), 'fileName': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'fullPath': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'label': FieldInfo(annotation=str, required=False, default=''), 'mad_prefix': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'numCols': FieldInfo(annotation=int, required=False, default=0), 'numRows': FieldInfo(annotation=int, required=False, default=0), 'num_files': FieldInfo(annotation=int, required=False, default=0), 'path': FieldInfo(annotation=str, required=False, default=''), 'precision': FieldInfo(annotation=int, required=False, default=0), 'prefix': FieldInfo(annotation=str, required=False, default=''), 'process_directory': FieldInfo(annotation=str, required=False, default=''), 'reference_image_prefix': FieldInfo(annotation=str, required=False, default=''), 'requires': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'run_number': FieldInfo(annotation=int, required=False, default=0), 'shape': FieldInfo(annotation=Union[str, int], required=False, default=''), 'start_num': FieldInfo(annotation=int, required=False, default=0), 'subdir': FieldInfo(annotation=str, required=False, default=''), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'type': FieldInfo(annotation=str, required=False, default=''), 'wedge_prefix': FieldInfo(annotation=str, required=False, default=''), 'wfname': FieldInfo(annotation=str, required=False, default=''), 'wfpath': FieldInfo(annotation=str, required=False, default=''), 'xds_dir': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.XRFNodeModel(*, type: str = '', queueID: int = -1, checked: bool = False, state: int = 0, label: str = '', sampleID: str, sampleQueueID: int | None = None, taskIndex: int | None = None, diffractionPlan: list[mxcubecore.queuelib.models.TaskNodeModel] | None = None, diffractionPlanID: int | None = None, name: str | None = None, parameters: XRFParameters)[source]#
Bases:
TaskNodeModel- Parameters:
type (str) –
queueID (int) –
checked (bool) –
state (int) –
label (str) –
sampleID (str) –
sampleQueueID (int | None) –
taskIndex (int | None) –
diffractionPlan (list[mxcubecore.queuelib.models.TaskNodeModel] | None) –
diffractionPlanID (int | None) –
name (str | None) –
parameters (XRFParameters) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'checked': FieldInfo(annotation=bool, required=False, default=False), 'diffractionPlan': FieldInfo(annotation=Union[list[TaskNodeModel], NoneType], required=False, default=None), 'diffractionPlanID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'label': FieldInfo(annotation=str, required=False, default=''), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parameters': FieldInfo(annotation=XRFParameters, required=True), 'queueID': FieldInfo(annotation=int, required=False, default=-1), 'sampleID': FieldInfo(annotation=str, required=True), 'sampleQueueID': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'state': FieldInfo(annotation=int, required=False, default=0), 'taskIndex': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'type': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class mxcubecore.queuelib.XRFParameters(*, shape: str | int = '', directory: str = '', process_directory: str = '', xds_dir: str = '', base_prefix: str = '', mad_prefix: str = '', reference_image_prefix: str = '', wedge_prefix: str = '', run_number: int = 0, suffix: str = '', precision: int = 0, start_num: int = 0, num_files: int = 0, compression: bool = False, path: str = '', prefix: str = '', fileName: str | None = '', fullPath: str | None = '', subdir: str = '', countTime: float = 0)[source]#
Bases:
TaskDataPathModel- Parameters:
directory (str) –
process_directory (str) –
xds_dir (str) –
base_prefix (str) –
mad_prefix (str) –
reference_image_prefix (str) –
wedge_prefix (str) –
run_number (int) –
suffix (str) –
precision (int) –
start_num (int) –
num_files (int) –
compression (bool) –
path (str) –
prefix (str) –
fileName (str | None) –
fullPath (str | None) –
subdir (str) –
countTime (float) –
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'base_prefix': FieldInfo(annotation=str, required=False, default=''), 'compression': FieldInfo(annotation=bool, required=False, default=False), 'countTime': FieldInfo(annotation=float, required=False, default=0), 'directory': FieldInfo(annotation=str, required=False, default=''), 'fileName': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'fullPath': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'mad_prefix': FieldInfo(annotation=str, required=False, default=''), 'num_files': FieldInfo(annotation=int, required=False, default=0), 'path': FieldInfo(annotation=str, required=False, default=''), 'precision': FieldInfo(annotation=int, required=False, default=0), 'prefix': FieldInfo(annotation=str, required=False, default=''), 'process_directory': FieldInfo(annotation=str, required=False, default=''), 'reference_image_prefix': FieldInfo(annotation=str, required=False, default=''), 'run_number': FieldInfo(annotation=int, required=False, default=0), 'shape': FieldInfo(annotation=Union[str, int], required=False, default=''), 'start_num': FieldInfo(annotation=int, required=False, default=0), 'subdir': FieldInfo(annotation=str, required=False, default=''), 'suffix': FieldInfo(annotation=str, required=False, default=''), 'wedge_prefix': FieldInfo(annotation=str, required=False, default=''), 'xds_dir': FieldInfo(annotation=str, required=False, default='')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- mxcubecore.queuelib.get_json_schema() dict[source]#
Return the JSON Schema for queue_to_dict()’s root (“get the whole queue”) response.
- Returns:
a JSON Schema (draft 2020-12) dict.
- Return type:
Modules
QueueBuilder: constructs queue model nodes (and, indirectly, their matching QueueEntry objects - see QueueModel.queue_model_child_added) from client task data. |
|
Constants for the queue client JSON format. |
|
Generates the JSON Schema for the queue JSON format. |
|
Pydantic models for the queue client wire format. |
|
Regenerate the checked-in queue JSON schema snapshot. |
|
QueueSerializer: turns the queue tree into the client JSON format, and turns client JSON back into calls on QueueBuilder. |