API Reference

This section documents the core API of SO Campaign Manager.

Core Modules

Models

Campaign Management

Bookkeeper

Planning

Execution

Enactors

Workflows

Base Workflow

ML Mapmaking

SAT Simulation

Null Tests

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 = '139058327921936'>) 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

Command Line Interface