mento.metadata#

Metadata objects and related functions for use by MENTO modules.

Classes#

BeamtimeMetadata:

Contains all relevant metadata about current beamtime, and computing resources allocated to the beamtime for online processing

SSHInfo:

Contains authentication information for remotely connecting to reserved nodes via SSH

SlurmInfo:

Contains details of Slurm resource allocation, including reservation and partition

AsapoInfo:

Contains connection details for ASAPO

OnlineInfo:

Contains SSH, Slurm, temporary beamline filesystem info, names of reserved nodes for online processing

Functions#

get_beamtime_metadata(root_dir):

Load all beamtime metadata required to access remote computing resources.

locate_metadata_file(root_dir):

Guess the location of the metadata file for current beamtime.

parse_metadata_file(metadata_file):

Read metadata file located at the root of every beamtime directory. Get information about online analysis, like temporary account name, credentials, slurm reservations etc.

Functions

get_active_session_root([root_dir])

get_beamtime_metadata([root_dir])

Convenience function to load partial beamtime metadata relevant for online analysis.

locate_metadata_file([root_dir])

Get the path to the metadata JSON file for the currently active beamtime or commissioning run

parse_metadata_file(metadatafile_path)

Parse beamtime metadata file to get information relevant to current beamtime and online analysis.

Classes

AsapoInfo(endpoint, token_ro, token_rw)

Contains connection details for ASAPO

BeamtimeMetadata(beamline, beamtime, ...[, ...])

Contains all relevant metadata about current beamtime, and computing resources allocated to the beamtime for online processing

OnlineInfo(ssh, slurm, nodes, blfs_mountpoint)

Contains SSH, Slurm, temporary beamline filesystem info, names of reserved nodes for online processing

SSHInfo(user, key)

Contains authentication information for remotely connecting to reserved nodes via SSH

SlurmInfo(partition, reservation)

Contains details of Slurm resource allocation, including reservation and partition