"""OC Record."""
from __future__ import annotations
from copy import deepcopy
import ray
from omegaconf import OmegaConf
from omegaconf.dictconfig import DictConfig
from xplogger.experiment_manager.record import mongo
[docs]def make_record(mongo_record: mongo.Record) -> DictConfig:
"""Make record."""
data = deepcopy(mongo_record.data)
data["id"] = str(data.pop("_id"))
record = OmegaConf.create(data)
OmegaConf.set_struct(record, True)
OmegaConf.set_readonly(record, True)
return record
@ray.remote # type: ignore
def ray_make_record(mongo_record: mongo.Record) -> DictConfig:
"""Make record using ray."""
return make_record(mongo_record)