How to create a GUID/UUID in Python How to create a GUID/UUID in Python python python

How to create a GUID/UUID in Python


The uuid module provides immutable UUID objects (the UUID class) 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.

Docs:

Examples (for both Python 2 and 3):

>>> import uuid>>> # make a random UUID>>> uuid.uuid4()UUID('bd65600d-8669-4903-8a14-af88203add38')>>> # Convert a UUID to a string of hex digits in standard form>>> str(uuid.uuid4())'f50ec0b7-f960-400d-91f0-c42a6d44e3d0'>>> # Convert a UUID to a 32-character hexadecimal string>>> uuid.uuid4().hex'9fe2c4e93f654fdbb24c02b15259716c'


If you're using Python 2.5 or later, the uuid module is already included with the Python standard distribution.

Ex:

>>> import uuid>>> uuid.uuid4()UUID('5361a11b-615c-42bf-9bdb-e2c3790ada14')


Copied from : https://docs.python.org/3/library/uuid.html (Since the links posted were not active and they keep updating)

>>> 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'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'>>> # make a UUID from a 16-byte string>>> uuid.UUID(bytes=x.bytes)UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')