Generate GUID/UUID in Python

UUID is a 128-bit number used in computer systems to define entities or information uniquely. UUID stands for Universally Unique Identifier. In software created by Microsoft, UUID is regarded as a Globally Unique Identifier or GUID.

A UUID is based on two quantities: the timestamp of the system and the workstation’s unique property. This unique property could be the IP (Internet Protocol) address of the system or the MAC (Media Access Control) address.

UUIDs/GUIDs are unique in nature. Because of this property, they are widely used in software development and databases for keys.

Generate UUID/GUID in Python

To generate UUID/GUID using Python, we will use a python in-build package uuid.

import uuid

myUUID = uuid.uuid4()
print(f"UUID/GUID -> {myUUID}")

Output:

UUID/GUID -> XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

In the above code, the uuid4() method generates a random UUID. The UUID returned by this function is of type uuid.UUID. In the output, instead of XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, your program will output an alphanumeric string.

You can check that by running this command - print(type(uuid.uuid4())). It will print the following - <class 'uuid.UUID'>

You can always convert the returned UUID to string. Refer to the following code for that.

import uuid

myUUID = uuid.uuid4()
print(type(myUUID))
print(myUUID)
myUUIDString = str(myUUID)
print(type(myUUIDString))
print(myUUIDString)

Output:

<class 'uuid.UUID'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
<class 'str'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

If you wish to generate a UUID based on the current time of the machine and host ID, in that case, use the following code block.

import uuid

myUUID = uuid.uuid1()
print(f"UUID/GUID based on Host ID and Current Time -> {myUUID}")

Output:

UUID/GUID based on Host ID and Current Time -> 
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

To learn more about uuid, refer to the official documentation here

Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.