Installation

Requirements

  • Python 3.11+

  • Access to a SLURM-based computing cluster (for execution)

Basic Installation

Install SO Campaign Manager using uv:

uv add so_campaign_manager

Or with pip:

pip install so_campaign_manager

Development Installation

For development or to get the latest features, install from source:

git clone https://github.com/simonsobs/so_campaign_manager.git
cd so_campaign_manager
uv sync

Development Dependencies

To install development dependencies for testing and documentation:

uv sync --group dev

This installs additional packages needed for:

  • Code formatting and linting (ruff, darker, flake8)

  • Testing (pytest, hypothesis)

  • Coverage reporting (pytest-cov, coveralls)

Verification

Verify your installation by running:

socm --help

You should see the help message for the SO Campaign Manager command-line interface.

Dependencies

Core dependencies include:

  • pydantic (≥2.0) - Data validation and settings management

  • numpy - Numerical computing

  • radical.pilot - Workflow execution engine

  • networkx - Graph algorithms for workflow dependencies

  • toml - Configuration file parsing

  • click - Command-line interface

  • sotodlib - SO-specific data handling

  • slurmise - SLURM job management

These dependencies are automatically installed with the package.