Source code for id_translation.utils.logging

"""Logging utilities."""

import typing as _t
from uuid import UUID as _UUID

import numpy as _np


[docs] def cast_unsafe(obj: _t.Any) -> _t.Any: """Attempt to cast an arbitrary object to a JSON-safe type.""" for clazz, formatter in FORMATTERS.items(): if isinstance(obj, clazz): return formatter(obj) return obj
FORMATTERS: dict[type[_t.Any], _t.Any] = { _UUID: str, _np.integer: int, _np.floating: float, _np.ndarray: _np.ndarray.tolist, list: lambda x: [cast_unsafe(obj) for obj in x], } """Formatters used to cast unsafe JSON types."""