16 lines
471 B
Python
16 lines
471 B
Python
"""Helpers to generate uuids."""
|
|
|
|
import random
|
|
import uuid
|
|
|
|
|
|
def uuid_v1mc_hex() -> str:
|
|
"""Generate a uuid1 with a random multicast MAC address.
|
|
|
|
The uuid1 uses a random multicast MAC address instead of the real MAC address
|
|
of the machine without the overhead of calling the getrandom() system call.
|
|
|
|
This is effectively equivalent to PostgreSQL's uuid_generate_v1mc() function
|
|
"""
|
|
return uuid.uuid1(node=random.getrandbits(48) | (1 << 40)).hex
|