Spaces:
Running
Running
File size: 1,002 Bytes
2fcb72a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
from typing import Any, Dict, List, Optional
import yaml
class HardwareConfig:
def __init__(self, data: Dict[str, Any]):
self.machine: str = data["machine"]
self.description: str = data["description"]
self.hardware_provider: str = data["hardware_provider"]
self.hardware_type: str = data["hardware_type"]
self.subsets: List[str] = data["subsets"]
self.backends: List[str] = data["backends"]
self.detail: Optional[str] = data.get("detail", None)
def __repr__(self) -> str:
return (
f"HardwareConfig(machine='{self.machine}', description='{self.description}', "
f"hardware_provider={self.hardware_provider}, hardware_type={self.hardware_type}, subsets={self.subsets}, backends={self.backends})"
)
def load_hardware_configs(file_path: str) -> List[HardwareConfig]:
with open(file_path, "r") as file:
data = yaml.safe_load(file)
return [HardwareConfig(config) for config in data]
|