Skip to content

Launch Configuration

genesis.launch.JobConfig dataclass

Base job configuration

Source code in genesis/launch/scheduler.py
@dataclass
class JobConfig:
    """Base job configuration"""

    eval_program_path: Optional[str] = "evaluate.py"
    extra_cmd_args: Dict[str, Any] = field(default_factory=dict)

    def to_dict(self) -> Dict[str, Any]:
        """Convert to dictionary representation"""
        job_to_dict = asdict(self)
        return {k: v for k, v in job_to_dict.items() if v is not None}

to_dict()

Convert to dictionary representation

Source code in genesis/launch/scheduler.py
def to_dict(self) -> Dict[str, Any]:
    """Convert to dictionary representation"""
    job_to_dict = asdict(self)
    return {k: v for k, v in job_to_dict.items() if v is not None}

genesis.launch.LocalJobConfig dataclass

Bases: JobConfig

Configuration for local jobs

Source code in genesis/launch/scheduler.py
@dataclass
class LocalJobConfig(JobConfig):
    """Configuration for local jobs"""

    time: Optional[str] = None
    conda_env: Optional[str] = None

genesis.launch.E2BJobConfig dataclass

Bases: JobConfig

Configuration for E2B cloud sandbox jobs

Source code in genesis/launch/scheduler.py
@dataclass
class E2BJobConfig(JobConfig):
    """Configuration for E2B cloud sandbox jobs"""

    template: str = "base"
    timeout: int = 300  # Sandbox timeout in seconds
    dependencies: Optional[List[str]] = None  # Pip packages to install
    additional_files: Optional[Dict[str, str]] = None  # sandbox_path -> local_path
    env_vars: Optional[Dict[str, str]] = None  # Environment variables to set

    def __post_init__(self):
        if self.dependencies is None:
            self.dependencies = []
        if self.additional_files is None:
            self.additional_files = {}
        if self.env_vars is None:
            self.env_vars = {}