meta¶
Utility functions for merging metadata for multiple files.
- class meta.MergeMetaAll[source]¶
Merge metadata by taking the set of values.
- property valid¶
Check if the value is valid.
- property value¶
Get the merged value.
- class meta.MergeMetaMax[source]¶
Merge metadata by taking the maximum value.
- property valid¶
Check if the value is valid.
- class meta.MergeMetaMin[source]¶
Merge metadata by taking the minimum value.
- property valid¶
Check if the value is valid.
- class meta.MergeMetaOverride(value=None)[source]¶
Merge metadata by overriding the value.
- property valid¶
Check if the value is valid.
- class meta.MergeMetaSubset(value=None)[source]¶
Merge metadata by taking the subset of consistent values.
- property valid¶
Check if the value is valid.
- property warn¶
Whether to warn about inconsistent metadata.
- class meta.MergeMetaSum[source]¶
Merge metadata by adding the values.
- property valid¶
Check if the value is valid.
- class meta.MergeMetaUnion[source]¶
Merge metadata by taking the union.
- property valid¶
Check if the value is valid.
- property value¶
Get the merged value.
- class meta.MergeMetaUnique(value=None)[source]¶
Merge metadata by taking the unique values.
- property valid¶
Check if the value is valid.
- meta.add_origin(metadata: dict, app: str) None[source]¶
Add origin information to the metadata dictionary for transform jobs.
- Parameters:
metadata – metadata dictionary
app – name of the application
- meta.auto_output(files: list) None[source]¶
Auto-generate an output file name with the same extension as the inputs, if needed.
- Parameters:
files – list of files to merge
- meta.check_method(files: list) None[source]¶
Check and set the merging method based on the input file metadata.
- Parameters:
files – list of files to merge
- meta.check_required(metadata: dict) list[source]¶
Check if the metadata dictionary contains all required keys.
- Parameters:
metadata – metadata dictionary
- Returns:
List of any missing required keys
- meta.fix(name: str, metadata: dict) None[source]¶
Fix the metadata dictionary.
- Parameters:
name – name of the file (for logging)
metadata – metadata dictionary
- meta.make_names(files: list)[source]¶
Update merging method and create a name for the merged files.
- Parameters:
files – list of files to merge
- meta.match_method(name: str | None = None, metadata: dict | None = None) ConfigDict[source]¶
Find a built-in merging method by name or metadata conditions.
- Parameters:
name – name of the merging method
metadata – metadata dictionary
- Returns:
merging method ConfigDict
- meta.merge_cfg_keys() dict[source]¶
Get special merging configuration keys from the global config.
- Returns:
dictionary of merging configuration keys
- meta.merged_keys(files: list, warn: bool = False) dict[source]¶
Merge metadata from multiple files into a single dictionary.
- Parameters:
files – list of files to merge
warn – whether to warn about inconsistent metadata
- Returns:
merged metadata
- meta.parents(files: list) list[source]¶
Retrieve all the parents from a set of files.
- Parameters:
files – list of files to merge
- Returns:
list of parent dictionaries of the form {“fid”: fid}
- meta.set_method(method: ConfigDict, warn: bool = False) None[source]¶
Set merging method parameters.
- Parameters:
method – merging method ConfigDict
warn – whether to warn about overriding existing method parameters