idmtools.entities.ianalyzer module#
Defines our IAnalyzer interface used as base of all other analyzers.
Copyright 2021, Bill & Melinda Gates Foundation. All rights reserved.
- class idmtools.entities.ianalyzer.IAnalyzer(uid=None, working_dir: str | None = None, parse: bool = True, filenames: List[str] | None = None)[source]#
Bases:
object
An abstract base class carrying the lowest level analyzer interfaces called by
ExperimentManager
.- abstract __init__(uid=None, working_dir: str | None = None, parse: bool = True, filenames: List[str] | None = None)[source]#
A constructor.
- Parameters:
uid – The unique id identifying this analyzer.
working_dir – A working directory to place files.
parse – True to leverage the
OutputParser
; False to get the raw data in theselect_simulation_data()
.filenames – The files for the analyzer to download.
- property filenames#
Returns user filenames.
- Returns:
filenames
- initialize() NoReturn [source]#
Call once after the analyzer has been added to the
AnalyzeManager
.Add everything depending on the working directory or unique ID here instead of in __init__.
- per_group(items: IItemList) NoReturn [source]#
Call once before running the apply on the items.
- Parameters:
items – Objects with attributes of type
ItemId
. IDs of one or more higher-level hierarchical objects can be obtained from these IDs in order to perform tasks with them.- Returns:
None
- filter(item: IWorkflowItem | Simulation) bool [source]#
Decide whether the analyzer should process a simulation/work item.
- Parameters:
item – An
IItem
to be considered for processing with this analyzer.- Returns:
A Boolean indicating whether simulation/work item should be analyzed by this analyzer.
- abstract map(data: Dict[str, Any], item: IWorkflowItem | Simulation) Any [source]#
In parallel for each simulation/work item, consume raw data from filenames and emit selected data.
- Parameters:
data – A dictionary associating filename with content for simulation data.
item –
IItem
object that the passed data is associated with.
- Returns:
Selected data for the given simulation/work item.
- abstract reduce(all_data: Dict[IWorkflowItem | Simulation, Any]) Any [source]#
Combine the
map()
data for a set of items into an aggregate result.- Parameters:
all_data – A dictionary with entries for the item ID and selected data.
- class idmtools.entities.ianalyzer.BaseAnalyzer(uid=None, working_dir: str | None = None, parse: bool = True, filenames: List[str] | None = None)[source]#
Bases:
IAnalyzer
BaseAnalyzer to allow using previously used dtk-tools analyzers within idmtools.
- __init__(uid=None, working_dir: str | None = None, parse: bool = True, filenames: List[str] | None = None)[source]#
Constructor for Base Analyzer.
- Parameters:
uid – The unique id identifying this analyzer.
working_dir – A working directory to place files.
parse – True to leverage the
OutputParser
; False to get the raw data in theselect_simulation_data()
.filenames – The files for the analyzer to download.