AICME-runtime / configuration_sim_priors_pk.py
cesarali's picture
manual runtime bundle push from load_and_push.ipynb
5686f5b verified
"""Hugging Face configuration for self-contained PK runtime bundles."""
from __future__ import annotations
from typing import Any, Dict, List, Optional
from transformers import PretrainedConfig
from sim_priors_pk.hub_runtime.runtime_contract import STUDY_JSON_IO_VERSION
class PKHubConfig(PretrainedConfig):
"""Public Hub config describing a consumer-facing PK runtime bundle."""
model_type = "sim_priors_pk"
def __init__(
self,
architecture_name: Optional[str] = None,
experiment_type: str = "nodepk",
experiment_config: Optional[Dict[str, Any]] = None,
builder_config: Optional[Dict[str, Any]] = None,
supported_tasks: Optional[List[str]] = None,
default_task: Optional[str] = None,
io_schema_version: str = STUDY_JSON_IO_VERSION,
original_repo_id: Optional[str] = None,
runtime_repo_id: Optional[str] = None,
**kwargs,
) -> None:
super().__init__(**kwargs)
self.architecture_name = architecture_name
self.experiment_type = experiment_type
self.experiment_config = dict(experiment_config or {})
self.builder_config = dict(builder_config or {})
self.supported_tasks = list(supported_tasks or [])
self.default_task = default_task or (self.supported_tasks[0] if self.supported_tasks else None)
self.io_schema_version = io_schema_version
self.original_repo_id = original_repo_id
self.runtime_repo_id = runtime_repo_id
__all__ = ["PKHubConfig"]