def METHOD_NAME(cls, row: Record | None) -> Puppet | None:
    if row is None:
        return None
    data = {**row}
    base_url = data.pop("base_url", None)
    return cls(**data, base_url=URL(base_url) if base_url else None)