import uuid


def createUUID(prefix='uid'):
  """Create uuid4 specific UUID which uses pseudo random generators.
  Further, uuid is prefixed using 3 letter acronym to visually differentiate among them

  Some prefix used when generating UUIDs are:
  ant - annotation
  img - image
  lbl - label / cat - category
  train - for training
  predict - for prediction
  evaluate - for evaluation

  References:
  * https://pynative.com/python-uuid-module-to-generate-universally-unique-identifiers/
  * https://stackoverflow.com/questions/703035/when-are-you-truly-forced-to-use-uuid-as-part-of-the-design/786541
  """
  # return prefix+'-'+str(format(int(time.time()),'02x') + format(math.floor(1e7*random.random()),'02x'))
  return prefix+'-'+str(uuid.uuid4())