Source code for rdf2vecgpu.logger

from .base import BaseTracker, NoOpTracker
from loguru import logger


[docs] def build_tracker(spec: str | None, kwargs: dict | None = None) -> BaseTracker: """ spec: "none", "mlflow", "wandb" kwargs: {"mlflow": {...}, "wandb": {...}} """ spec = (spec or "none").strip().lower() if spec == "none": return NoOpTracker() elif spec == "mlflow": try: from .mlflow_logger import MlflowTracker mlflow_kwargs = kwargs or {} return MlflowTracker(**mlflow_kwargs.get("mlflow", {})) except ImportError: logger.exception( "mlflow is not installed. Please install it to use MlflowTracker." ) raise elif spec == "wandb": try: from .wandb_logger import WandbTracker wandb_kwargs = kwargs or {} return WandbTracker(**wandb_kwargs.get("wandb", {})) except ImportError: logger.exception( "wandb is not installed. Please install it to use WandbTracker." ) raise else: logger.exception(f"Unknown tracker specification: {spec}") raise ValueError(f"Unknown tracker specification: {spec}")