mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
36 lines
849 B
Python
36 lines
849 B
Python
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)
|