"""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"]