NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #329 most downloaded on PyPI
Fast, drop-in replacement for Python's uuid module, powered by Rust.
Last release 27 days ago
08 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 23 of 25 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
32 releases · first in 2023
One column per quarter.
If you pin uuid-utils<1.0 nothing here reaches you. The 0.x line stays maintained for critical bug and security fixes — most recently 0.17.1 .
1.0 realigns uuid6, uuid7, and uuid8 with the signatures Python 3.14 added to the
standard library, so code written against uuid works unchanged here. This is the
intentional break the 0.x line was frozen for — the legacy signatures are removed.
| 0.x | 1.0 | |
|---|---|---|
uuid6 |
uuid6(node=None, timestamp=None, nanos=None) |
uuid6(node=None, clock_seq=None) |
uuid7 |
uuid7(timestamp=None, nanos=None) |
uuid7(*, nanoseconds=None) |
uuid8 |
uuid8(bytes) |
uuid8(a=None, b=None, c=None) |
uuid1, uuid3, uuid4, uuid5 and the UUID type are unchanged. (#181, #183, #184)
# uuid7 — 1.0 takes nanoseconds directly, no splitting
uuid_utils.uuid7(seconds, nanos) # 0.x
uuid_utils.uuid7(nanoseconds=seconds * 1_000_000_000 + nanos) # 1.0
# uuid8 — three integer blocks of 48 | 12 | 62 bits
uuid_utils.uuid8(b"1234567812345678") # 0.x
n = int.from_bytes(b"1234567812345678", "big") # 1.0
uuid_utils.uuid8(n >> 80, (n >> 64) & 0xFFF, n & 0x3FFF_FFFF_FFFF_FFFF)
# uuid6 — drop the timestamp
uuid_utils.uuid6(node, timestamp, nanos) # 0.x
uuid_utils.uuid6(node, clock_seq) # 1.0If you pin uuid-utils<1.0 nothing here reaches you. The 0.x line stays maintained for
critical bug and security fixes — most recently
0.17.1.
uuid7(nanoseconds=...) extension (#194)UUID(..., version=N) now sets the RFC 4122 variant, matching the stdlib (#218)Full Changelog: 0.16.2...1.0.0
This is the first release candidate for uuid-utils 1.0.
This is the first release candidate for uuid-utils 1.0.
Version 1.0 aligns UUID generation functions with Python’s standard-library API, while allowing documented, backward-compatible keyword-only extensions.
The existing 0.x release line remains available separately for users of the legacy API.
Install this release candidate with:
pip install uuid-utils==1.0.0rc1
Full Changelog: 1.0.0a2...1.0.0rc1
feat: add keyword-only nanoseconds to uuid7 by @aminalaee in #194
Full Changelog: 1.0.0a1...1.0.0a2
refactor!: align uuid6 with stdlib signature by @aminalaee in #181
Full Changelog: 0.16.2...1.0.0a1
Upgrade uuid to 1.24.0 and rand to 0.10.2 by @aminalaee in #210
uuid to 1.24.0 and rand to 0.10.2 by @aminalaee in #210Full Changelog: 0.17.0...0.17.1
Emscripten: Make wheels compatible with Python 3.13 and Python 3.14 by @aminalaee in #197
Full Changelog: 0.16.2...0.17.0
fix: align __hash__ with stdlib hash by @aminalaee in #178
__hash__ with stdlib hash by @aminalaee in #178time property for v6 and v7 by @aminalaee in #179Full Changelog: 0.16.1...0.16.2
Add PyPI publish attestations by @shaanmajid in #173
__version__ to compat module by @aminalaee in #174getnode test by @aminalaee in #176Full Changelog: 0.16.0...0.16.1
Optimize uuid_utils.compat with from_int by @aminalaee in #166
from_int by @aminalaee in #166node argument out of range in constructor by @aminalaee in #164Full Changelog: 0.15.0...0.16.0
Add Python 3.13t and 3.14t wheels by @aminalaee in #117
uuid and rand by @aminalaee in #148Full Changelog: 0.14.1...0.15.0
Bump the python-packages group with 2 updates by @dependabot [bot] in #159
Full Changelog: 0.15.0a3...0.15.0a4
Full Changelog : 0.15.0a2...0.15.0a3
Full Changelog: 0.15.0a2...0.15.0a3
Add WASM/Pyodide support by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/152
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.15.0a1...0.15.0a2
Upgrade uuid and rand by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/148
uuid and rand by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/148Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.14.1...0.15.0a1
Use SPDX license identifier by @vargenau in https://github.com/aminalaee/uuid-utils/pull/129
uuid1 and uuid6 by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/130Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.14.0...0.15.0
Call reseed RNG in fork process in https://github.com/aminalaee/uuid-utils/pull/108
getnode to be compatible with stdlib https://github.com/aminalaee/uuid-utils/pull/113Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.13.0...0.14.0
add NIL and MAX UUID by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/107
NIL and MAX UUID by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/107uuid by @chirizxc in https://github.com/aminalaee/uuid-utils/pull/98Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.12.0...0.13.0
small speedup by using Rust ahash by @chirizxc in https://github.com/aminalaee/uuid-utils/pull/85
ahash by @chirizxc in https://github.com/aminalaee/uuid-utils/pull/85Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.11.1...0.12.0
Expose nanos for uuid_utils.compat.uuid7() by @nucspl in https://github.com/aminalaee/uuid-utils/pull/83
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.11.0...0.11.1
Build wheel for Windows on ARM by @trim21 in https://github.com/aminalaee/uuid-utils/pull/77
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.10.0...0.11.0
build: use abi3 by @trim21 in https://github.com/aminalaee/uuid-utils/pull/66
is_safe to rust UUID by @trim21 in https://github.com/aminalaee/uuid-utils/pull/70Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.9.0...0.10.0
Upgrade uuid to 1.9.1 and pyo3 to 0.22.0 in https://github.com/aminalaee/uuid-utils/pull/60
uuid to 1.9.1 and pyo3 to 0.22.0 in https://github.com/aminalaee/uuid-utils/pull/60Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.8.0...0.9.0
Add optional nanos argument to uuid6 and uuid7 by @cstruct in https://github.com/aminalaee/uuid-utils/pull/51
nanos argument to uuid6 and uuid7 by @cstruct in https://github.com/aminalaee/uuid-utils/pull/51uuid3 and uuid5 compatible with Python 3.12 by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/56compat typings by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/55Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.7.0...0.8.0
Export UUID in the compat module by @angelsenra in https://github.com/aminalaee/uuid-utils/pull/43
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.6.1...0.7.0
Nothing published for this version
Add getnode function by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/34
getnode function by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/34compat module to return std library UUID by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/38Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.5.0...0.6.0
Add deepcopy method by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/28
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.4.0...0.5.0
Add PyPy wheels for Windows x64 by @aminalaee in https://github.com/aminalaee/uuid-utils/pull/19
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.3.0...0.4.0
Add uuid3 in https://github.com/aminalaee/uuid-utils/pull/14
uuid3 in https://github.com/aminalaee/uuid-utils/pull/14Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.2.0...0.3.0
Add '__version__' in https://github.com/aminalaee/uuid-utils/pull/3
Full Changelog: https://github.com/aminalaee/uuid-utils/compare/0.1.0...0.2.0
Add basic functionality of UUID class.
UUID class.uuid1, uuid4, uuid5, uuid6, uuid7, uuid8 functions.Full Changelog: https://github.com/aminalaee/uuid-utils/commits/0.1.0
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →