uuid-utils

0.14.1 · active · verified Sat Mar 28

uuid-utils is a Python library that provides a fast, drop-in replacement for Python's standard `uuid` module, leveraging Rust for performance. It supports all standard UUID versions (1, 3, 4, 5) and also newer draft versions like UUIDv6, UUIDv7, and UUIDv8. Currently at version 0.14.1, the library maintains an active release cadence with frequent updates and performance enhancements.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to generate various UUID versions using `uuid-utils`, including random (v4), time-ordered (v7), and name-based (v5) UUIDs. It also shows how to use the compatibility layer to obtain standard library `uuid.UUID` instances when required.

import uuid_utils as uuid

# Generate a random UUID (Version 4)
random_uuid = uuid.uuid4()
print(f"Random UUID (v4): {random_uuid}")

# Generate a time-ordered UUID (Version 7)
time_ordered_uuid = uuid.uuid7()
print(f"Time-ordered UUID (v7): {time_ordered_uuid}")

# Generate a name-based UUID using SHA-1 hash (Version 5)
namespace_dns = uuid.NAMESPACE_DNS
name_uuid = uuid.uuid5(namespace_dns, 'example.com')
print(f"Name-based UUID (v5) for 'example.com': {name_uuid}")

# To get a standard library UUID instance (e.g. for Django):
from uuid_utils.compat import uuid4 as compat_uuid4
compat_instance = compat_uuid4()
print(f"Compat UUID (v4): {compat_instance}")
print(f"Is compat instance a standard uuid.UUID? {isinstance(compat_instance, uuid.UUID)}")

view raw JSON →