uuid

UUID objects (universally unique identifiers) according to RFC 4122.

This module provides immutable UUID objects (class UUID) and the functions uuid1(), uuid3(), uuid4(), uuid5() for generating version 1, 3, 4, and 5 UUIDs as specified in RFC 4122.

If all you want is a unique ID, you should probably call uuid1() or uuid4(). Note that uuid1() may compromise privacy since it creates a UUID containing the computer’s network address. uuid4() creates a random UUID.

Typical usage:

>>> import uuid

# make a UUID based on the host ID and current time >>> uuid.uuid1() UUID(‘a8098c1a-f86e-11da-bd1a-00112444be1e’)

# make a UUID using an MD5 hash of a namespace UUID and a name >>> uuid.uuid3(uuid.NAMESPACE_DNS, ‘python.org’) UUID(‘6fa459ea-ee8a-3ca4-894e-db77e160355e’)

# make a random UUID >>> uuid.uuid4() UUID(‘16fd2706-8baf-433b-82eb-8c7fada847da’)

# make a UUID using a SHA-1 hash of a namespace UUID and a name >>> uuid.uuid5(uuid.NAMESPACE_DNS, ‘python.org’) UUID(‘886313e1-3b8a-5372-9b90-0c9aee199e5d’)

# make a UUID from a string of hex digits (braces and hyphens ignored) >>> x = uuid.UUID(‘{00010203-0405-0607-0809-0a0b0c0d0e0f}’)

# convert a UUID to a string of hex digits in standard form >>> str(x) ‘00010203-0405-0607-0809-0a0b0c0d0e0f’

# get the raw 16 bytes of the UUID >>> x.bytes ‘x00x01x02x03x04x05x06x07x08tnx0bx0crx0ex0f’

# make a UUID from a 16-byte string >>> uuid.UUID(bytes=x.bytes) UUID(‘00010203-0405-0607-0809-0a0b0c0d0e0f’)

Functions

getnode() Get the hardware address as a 48-bit positive integer.
uuid1([node, clock_seq]) Generate a UUID from a host ID, sequence number, and the current time.
uuid3(namespace, name) Generate a UUID from the MD5 hash of a namespace UUID and a name.
uuid4() Generate a random UUID.
uuid5(namespace, name) Generate a UUID from the SHA-1 hash of a namespace UUID and a name.

Classes

UUID([hex, bytes, bytes_le, fields, int, ...]) Instances of the UUID class represent UUIDs as specified in RFC 4122.