API Reference
This section documents the core API of SO Campaign Manager.
Utilities
-
socm.utils.misc.parse_comma_separated_fields(config: dict, fields_to_parse: List[str]) → dict[source]
Convert comma-separated string values to lists.
-
socm.utils.misc.get_workflow_entries(campaign_dict: dict, subcampaign_map: Dict[str, list] | None = None) → Dict[str, dict][source]
Extract workflow entries from a campaign dictionary using a predefined mapping.
- Parameters:
campaign_dict (dict) – A dictionary containing campaign configuration.
subcampaign_map (dict or None, optional) – A mapping of subcampaign names to lists of their workflow names.
E.g., {“ml-null-test”: [“mission-tests”, “wafer-tests”]}.
- Returns:
A dictionary containing workflow entries keyed by workflow name.
- Return type:
dict
-
socm.utils.misc.get_query_from_file(file_path: str) → str[source]
Build an observation ID filter query from a file of obs IDs.
Reads a file containing one observation ID per line and constructs
an obs_id IN (...) query string for use with sotodlib’s obsdb.
- Parameters:
file_path (str) – Path to a text file with one observation ID per line.
- Returns:
A query string of the form obs_id IN ('id1','id2',...).
- Return type:
str
-
socm.utils.misc.print_plan(graph: <MagicMock id = '138481225615408'>) → None[source]
-
class socm.utils.states.States(*values)[source]
Bases: Enum
Workflow and campaign execution states.
-
NEW = 1
-
PLANNING = 2
-
EXECUTING = 3
-
DONE = 4
-
FAILED = 5
-
CANCELED = 6