import logging
import os
LOG_LEVEL = getattr(logging, os.environ.get("CLAM_LOG", "INFO"))
EMA_SMOOTHING = float(os.environ.get("CLAM_EMA_SMOOTHING", "2"))
EMA_PERIOD = float(os.environ.get("CLAM_EMA_PERIOD", "10"))
EMA_ALPHA = EMA_SMOOTHING / (1 + EMA_PERIOD)
SUBSAMPLE_LIMIT = 100
BATCH_SIZE = 10_000
EPSILON = 1e-6
Ratios = tuple[float, float, float, float, float, float]
RATIO_NAMES = ["cardinality", "radius", "lfd"]
RATIO_NAMES.extend([f"{name}_ema" for name in RATIO_NAMES])
class Unset:
__unset = None
def __new__(cls):
if cls.__unset is None:
cls.__unset = super().__new__(cls)
return cls.__unset
UNSET = Unset()