Source code for semi_cr.core.lab.station.metadata
from dataclasses import dataclass, field
from pathlib import Path
from qcodes.station import Station
from semi_cr.core.lab.utils.yaml_utils import _read_yaml
[docs]
@dataclass
class LabStation(Station):
cfg_file: str | Path
# Station.__init__ takes no name/lab
_name: str = field(init=False, repr=False)
_lab: str = field(init=False, repr=False)
def __post_init__(self) -> None:
super().__init__()
config = _read_yaml(self.cfg_file)
station_config = config["instruments"]["station"]
self._name = station_config["name"]
self._lab = station_config["lab"]
@property
def name(self) -> str:
return self._name
@property
def lab(self) -> str:
return self._lab