Fast, drop-in replacement for Python's uuid module, powered by Rust.
Project Links
Meta
Author: Amin Alaee
Requires Python: >=3.10
Classifiers
Development Status
- 5 - Production/Stable
Programming Language
- Python
- Python :: 3
- Python :: 3 :: Only
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
- Rust
Intended Audience
- Developers
Operating System
- OS Independent
Python UUID Utils
Fast, drop-in replacement for Python's uuid module, powered by Rust.
Available UUID versions:
uuid1- Version 1 UUIDs using a timestamp and monotonic counter.uuid3- Version 3 UUIDs based on the MD5 hash of some data.uuid4- Version 4 UUIDs with random data.uuid5- Version 5 UUIDs based on the SHA1 hash of some data.uuid6- Version 6 UUIDs using a timestamp and monotonic counter.uuid7- Version 7 UUIDs using a Unix timestamp ordered by time.uuid8- Version 8 UUIDs using user-defined data.
Installation
Using pip:
pip install uuid-utils
or, using conda:
conda install -c conda-forge uuid-utils
Example
>>> import uuid_utils as uuid
>>> # make a random UUID
>>> uuid.uuid4()
UUID('ffe95fcc-b818-4aca-a350-e0a35b9de6ec')
>>> # make a random UUID using a Unix timestamp which is time-ordered.
>>> uuid.uuid7()
UUID('018afa4a-0d21-7e6c-b857-012bc678552b')
>>> # 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 using an MD5 hash of a namespace UUID and a name
>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
Compatibility with Python UUID
Some frameworks (e.g. Django) require UUID instances from the standard-library uuid module,
not a custom subclass. Use uuid_utils.compat for a drop-in replacement that returns stdlib
uuid.UUID instances while still outperforming the standard library.
>>> import uuid_utils.compat as uuid
>>> uuid.uuid4()
UUID('ffe95fcc-b818-4aca-a350-e0a35b9de6ec')
Benchmarks
╭───────────────────────────────── benchdiff ──────────────────────────────────╮
│ │
│ Benchmark Min Median Max × │
│ ─────────────────────────────────────────────────────────────────────────── │
│ uuid4() │
│ stdlib_uuid4 1178.260ns 1189.167ns 1260.025ns 19.2 │
│ compat_uuid4 248.325ns 251.257ns 271.325ns 4.07 │
│ uuid_utils_uuid4 60.212ns 61.642ns 62.068ns 1.00 │
│ uuid7() │
│ stdlib_uuid7 1327.365ns 1336.479ns 1615.529ns 15.7 │
│ compat_uuid7 277.427ns 279.572ns 286.819ns 3.30 │
│ uuid_utils_uuid7 83.582ns 84.654ns 93.588ns 1.00 │
│ UUID from hex │
│ stdlib_from_hex 443.457ns 463.514ns 472.753ns 5.47 │
│ uuid_utils_from_hex 84.256ns 84.639ns 85.301ns 1.00 │
│ UUID from bytes │
│ stdlib_from_bytes 398.878ns 400.830ns 403.030ns 3.80 │
│ uuid_utils_from_byt… 103.698ns 105.417ns 106.426ns 1.00 │
│ │
│ ──────────────────────────────────────────────────────────────────────────── │
│ Python 3.14.4 │
│ Platform macOS-26.3.1 │
│ CPU Apple M3 Pro │
│ Rounds 10 × 100,000 calls │
│ Date 2026-05-13 21:24:22 │
╰──────────────────────────────────────────────────────────────────────────────╯
How to develop locally
make build
make test
Or:
maturin develop --release
0.16.0
May 19, 2026
0.15.0
May 11, 2026
0.15.0a4
May 11, 2026
0.15.0a3
Apr 16, 2026
0.15.0a2
Apr 16, 2026
0.15.0a1
Apr 13, 2026
0.14.1
Feb 20, 2026
0.14.0
Jan 20, 2026
0.13.0
Jan 08, 2026
0.12.0
Dec 01, 2025
0.11.1
Oct 02, 2025
0.11.0
May 22, 2025
0.10.0
Nov 21, 2024
0.9.0
Jun 28, 2024
0.8.0
Jun 17, 2024
0.7.0
May 03, 2024
0.6.1
Nov 06, 2023
0.6.0
Nov 03, 2023
0.5.0
Oct 05, 2023
0.4.0
Oct 03, 2023
0.3.0
Apr 01, 2023
0.2.0
Mar 29, 2023
0.1.0
Mar 26, 2023
0.0.0
Mar 25, 2023
Wheel compatibility matrix
Files in release
uuid_utils-0.16.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (553.4KiB)
uuid_utils-0.16.0-cp310-cp310-macosx_10_12_x86_64.whl (284.2KiB)
uuid_utils-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (320.2KiB)
uuid_utils-0.16.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (326.3KiB)
uuid_utils-0.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (438.0KiB)
uuid_utils-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (320.1KiB)
uuid_utils-0.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (345.4KiB)
uuid_utils-0.16.0-cp310-cp310-musllinux_1_2_aarch64.whl (492.7KiB)
uuid_utils-0.16.0-cp310-cp310-musllinux_1_2_armv7l.whl (595.1KiB)
uuid_utils-0.16.0-cp310-cp310-musllinux_1_2_i686.whl (556.1KiB)
uuid_utils-0.16.0-cp310-cp310-musllinux_1_2_x86_64.whl (520.0KiB)
uuid_utils-0.16.0-cp310-cp310-win32.whl (167.2KiB)
uuid_utils-0.16.0-cp310-cp310-win_amd64.whl (172.8KiB)
uuid_utils-0.16.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (552.7KiB)
uuid_utils-0.16.0-cp311-cp311-macosx_10_12_x86_64.whl (283.7KiB)
uuid_utils-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (320.4KiB)
uuid_utils-0.16.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (326.9KiB)
uuid_utils-0.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (438.4KiB)
uuid_utils-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (319.5KiB)
uuid_utils-0.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (344.7KiB)
uuid_utils-0.16.0-cp311-cp311-musllinux_1_2_aarch64.whl (492.9KiB)
uuid_utils-0.16.0-cp311-cp311-musllinux_1_2_armv7l.whl (595.8KiB)
uuid_utils-0.16.0-cp311-cp311-musllinux_1_2_i686.whl (555.7KiB)
uuid_utils-0.16.0-cp311-cp311-musllinux_1_2_x86_64.whl (519.8KiB)
uuid_utils-0.16.0-cp311-cp311-win32.whl (167.1KiB)
uuid_utils-0.16.0-cp311-cp311-win_amd64.whl (172.6KiB)
uuid_utils-0.16.0-cp311-cp311-win_arm64.whl (171.2KiB)
uuid_utils-0.16.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (549.0KiB)
uuid_utils-0.16.0-cp312-cp312-macosx_10_12_x86_64.whl (282.2KiB)
uuid_utils-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (318.5KiB)
uuid_utils-0.16.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (324.4KiB)
uuid_utils-0.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (434.4KiB)
uuid_utils-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (318.0KiB)
uuid_utils-0.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (341.1KiB)
uuid_utils-0.16.0-cp312-cp312-musllinux_1_2_aarch64.whl (490.3KiB)
uuid_utils-0.16.0-cp312-cp312-musllinux_1_2_armv7l.whl (593.2KiB)
uuid_utils-0.16.0-cp312-cp312-musllinux_1_2_i686.whl (552.8KiB)
uuid_utils-0.16.0-cp312-cp312-musllinux_1_2_x86_64.whl (518.2KiB)
uuid_utils-0.16.0-cp312-cp312-win32.whl (164.9KiB)
uuid_utils-0.16.0-cp312-cp312-win_amd64.whl (170.5KiB)
uuid_utils-0.16.0-cp312-cp312-win_arm64.whl (169.0KiB)
uuid_utils-0.16.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (550.0KiB)
uuid_utils-0.16.0-cp313-cp313-macosx_10_12_x86_64.whl (282.7KiB)
uuid_utils-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (318.7KiB)
uuid_utils-0.16.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (324.5KiB)
uuid_utils-0.16.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (435.3KiB)
uuid_utils-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (317.1KiB)
uuid_utils-0.16.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (341.5KiB)
uuid_utils-0.16.0-cp313-cp313-musllinux_1_2_aarch64.whl (490.7KiB)
uuid_utils-0.16.0-cp313-cp313-musllinux_1_2_armv7l.whl (593.5KiB)
uuid_utils-0.16.0-cp313-cp313-musllinux_1_2_i686.whl (552.9KiB)
uuid_utils-0.16.0-cp313-cp313-musllinux_1_2_x86_64.whl (517.6KiB)
uuid_utils-0.16.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl (96.4KiB)
uuid_utils-0.16.0-cp313-cp313-win32.whl (164.9KiB)
uuid_utils-0.16.0-cp313-cp313-win_amd64.whl (170.9KiB)
uuid_utils-0.16.0-cp313-cp313-win_arm64.whl (169.1KiB)
uuid_utils-0.16.0-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (551.2KiB)
uuid_utils-0.16.0-cp313-cp313t-macosx_10_12_x86_64.whl (283.1KiB)
uuid_utils-0.16.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (318.1KiB)
uuid_utils-0.16.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (324.6KiB)
uuid_utils-0.16.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (435.0KiB)
uuid_utils-0.16.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (318.6KiB)
uuid_utils-0.16.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl (342.6KiB)
uuid_utils-0.16.0-cp313-cp313t-musllinux_1_2_aarch64.whl (490.3KiB)
uuid_utils-0.16.0-cp313-cp313t-musllinux_1_2_armv7l.whl (593.4KiB)
uuid_utils-0.16.0-cp313-cp313t-musllinux_1_2_i686.whl (554.3KiB)
uuid_utils-0.16.0-cp313-cp313t-musllinux_1_2_x86_64.whl (518.5KiB)
uuid_utils-0.16.0-cp313-cp313t-win32.whl (165.4KiB)
uuid_utils-0.16.0-cp313-cp313t-win_amd64.whl (171.3KiB)
uuid_utils-0.16.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (550.9KiB)
uuid_utils-0.16.0-cp314-cp314-macosx_10_12_x86_64.whl (283.2KiB)
uuid_utils-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (318.2KiB)
uuid_utils-0.16.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (324.8KiB)
uuid_utils-0.16.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (433.9KiB)
uuid_utils-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (317.3KiB)
uuid_utils-0.16.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl (341.5KiB)
uuid_utils-0.16.0-cp314-cp314-musllinux_1_2_aarch64.whl (490.6KiB)
uuid_utils-0.16.0-cp314-cp314-musllinux_1_2_armv7l.whl (593.4KiB)
uuid_utils-0.16.0-cp314-cp314-musllinux_1_2_i686.whl (552.9KiB)
uuid_utils-0.16.0-cp314-cp314-musllinux_1_2_x86_64.whl (517.6KiB)
uuid_utils-0.16.0-cp314-cp314-win32.whl (165.2KiB)
uuid_utils-0.16.0-cp314-cp314-win_amd64.whl (171.3KiB)
uuid_utils-0.16.0-cp314-cp314-win_arm64.whl (169.2KiB)
uuid_utils-0.16.0-cp314-cp314t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (551.2KiB)
uuid_utils-0.16.0-cp314-cp314t-macosx_10_12_x86_64.whl (283.3KiB)
uuid_utils-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (317.9KiB)
uuid_utils-0.16.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (324.4KiB)
uuid_utils-0.16.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (435.1KiB)
uuid_utils-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (318.5KiB)
uuid_utils-0.16.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (342.7KiB)
uuid_utils-0.16.0-cp314-cp314t-musllinux_1_2_aarch64.whl (490.3KiB)
uuid_utils-0.16.0-cp314-cp314t-musllinux_1_2_armv7l.whl (592.8KiB)
uuid_utils-0.16.0-cp314-cp314t-musllinux_1_2_i686.whl (554.4KiB)
uuid_utils-0.16.0-cp314-cp314t-musllinux_1_2_x86_64.whl (518.6KiB)
uuid_utils-0.16.0-cp314-cp314t-win32.whl (165.4KiB)
uuid_utils-0.16.0-cp314-cp314t-win_amd64.whl (170.7KiB)
uuid_utils-0.16.0-cp314-cp314t-win_arm64.whl (167.7KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (556.0KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl (285.5KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (321.9KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (327.3KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (439.1KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (320.7KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (347.8KiB)
uuid_utils-0.16.0-pp311-pypy311_pp73-win_amd64.whl (174.3KiB)
uuid_utils-0.16.0.tar.gz (41.6KiB)
No dependencies