import datetime import typing import uuid import numpy as np def get_timestamp() -> int: return int(datetime.datetime.now(datetime.timezone.utc).timestamp()) def get_iso_timestamp() -> str: return datetime.datetime.utcnow().isoformat() def get_datetime_from_iso_timestamp(iso_timestamp: str) -> datetime.datetime: return datetime.datetime.fromisoformat(iso_timestamp) SEED_MAX = np.iinfo(np.uint32).max def get_random_seed() -> int: rng = np.random.default_rng(seed=None) return int(rng.integers(0, SEED_MAX)) def uuid_string() -> str: res = uuid.uuid4() return str(res) def is_optional(value: typing.Any) -> bool: """Checks if a value is typed as Optional. Note that Optional is sugar for Union[x, None].""" return typing.get_origin(value) is typing.Union and type(None) in typing.get_args(value)