import datetime from glom import assign, delete def dt_now(): return datetime.datetime.utcnow().replace(hour=1, minute=0, second=0, microsecond=0) def set_data(data, exclude=None, extra=None, **kwargs): for k, v in (kwargs | (extra or {})).items(): assign(data, k, v, missing=dict) for k in exclude or tuple(): delete(data, k, ignore_missing=True) return data def serialize_datetime(obj, df): if isinstance(obj, datetime.datetime): return obj.strftime(df) raise TypeError("Type not serializable")