uuid-utils
Fast, drop-in replacement for Python's uuid module, powered by Rust.
Decision gist · record as of 2026-08-14
Yes, if UUID generation performance matters in your application or if you need UUID versions 6, 7, or 8. The permissive license, active maintenance, zero vulnerabilities, and API compatibility make it a low-risk upgrade. Use the compat module if your framework requires exact standard-library UUID types.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; some frameworks may require the compat module to return standard-library UUID instances.
- Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (macOS, Linux, Windows) and Python 3.10–3.14, but installation may require compilation on unsupported architectures.
- Project is actively maintained with recent releases.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows use in commercial and proprietary projects with minimal restrictions; you must include a copy of the license and retain copyright notices.
last release 2026-07-09 (36 days) · last repo commit 2026-08-01 · 364 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 80,449,982 downloads/mo, #420 on PyPI
Alternatives
Verify before relying
pip install uuid-utils
import uuid_utils as uuid
# Generate a random UUID
my_uuid = uuid.uuid4()
# Generate a time-ordered UUID
time_ordered = uuid.uuid7()
# Generate from namespace and name
namespaced = uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')- Whether the performance gains shown in benchmarks hold across different workloads and real-world usage patterns.
- Compatibility with all third-party libraries that inspect or validate UUID types beyond the standard library.
What it is and what it does
uuid-utils is a Rust-powered implementation of UUID generation that supports all standard UUID versions (1, 3, 4, 5, 6, 7, 8) with an API compatible with Python's uuid module. It can be imported as a direct replacement and includes a compat mode that returns standard-library UUID instances for frameworks requiring exact type matching.
The library is actively maintained, supports Python 3.10 through 3.14, and has no runtime dependencies. Prebuilt wheels are available for most common platforms, though some architectures may require compilation. It carries a permissive BSD-3-Clause license and has no known security vulnerabilities.
Use it for
- Generate time-ordered UUIDs (version 7) for database primary keys that maintain insertion order.
- Use in frameworks requiring standard-library UUID instances via the compat module.
- Generate namespace-based UUIDs (versions 3 and 5) for deterministic ID creation from names or data.
- Integrate into systems where UUID generation throughput is a performance concern.
- Access UUID versions 6, 7, and 8 not available in the standard library.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if UUID generation performance matters in your application or if you need UUID versions 6, 7, or 8.
The permissive license, active maintenance, zero vulnerabilities, and API compatibility make it a low-risk upgrade. Use the compat module if your framework requires exact standard-library UUID types.
Install
uuid-utils on PyPI
Before you install
Medium install friction due to compiled wheels; prebuilt binaries available for common platforms (macOS, Linux, Windows) and Python 3.10–3.14, but installation may require compilation on unsupported architectures. Project is actively maintained with recent releases.
Requires Python 3.10 or later; some frameworks may require the compat module to return standard-library UUID instances.
License in practice
BSD-3-Clause permissive license allows use in commercial and proprietary projects with minimal restrictions; you must include a copy of the license and retain copyright notices.
Quickstart
pip install uuid-utils
import uuid_utils as uuid
# Generate a random UUID
my_uuid = uuid.uuid4()
# Generate a time-ordered UUID
time_ordered = uuid.uuid7()
# Generate from namespace and name
namespaced = uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
Verify before relying
- Whether the performance gains shown in benchmarks hold across different workloads and real-world usage patterns.
- Compatibility with all third-party libraries that inspect or validate UUID types beyond the standard library.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 36 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 80,449,982 / month, #420 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Rust |
Evidence: uuid_utils-0.17.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; uuid_utils-0.17.0-cp310-cp310-macosx_10_12_x86_64.whl; uuid_utils-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; uuid_utils-0.17.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; uuid_utils-0.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; uuid_utils-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; uuid_utils-0.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl; uuid_utils-0.17.0-cp310-cp310-musllinux_1_2_aarch64.whl; uuid_utils-0.17.0-cp310-cp310-musllinux_1_2_armv7l.whl; uuid_utils-0.17.0-cp310-cp310-musllinux_1_2_i686.whl; uuid_utils-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl; uuid_utils-0.17.0-cp310-cp310-win32.whl; uuid_utils-0.17.0-cp310-cp310-win_amd64.whl; uuid_utils-0.17.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl; uuid_utils-0.17.0-cp311-cp311-macosx_10_12_x86_64.whl; uuid_utils-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; uuid_utils-0.17.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; uuid_utils-0.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; uuid_utils-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; uuid_utils-0.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “fast uuid generation”
- uuid-utilsFast UUID generation and manipulation for all standard UUID versions…
- fastuuidFastUUID provides CPython bindings to Rust's UUID library, offering…
- c_uuid_v7Generates UUID v7 identifiers via a CPython C extension, offering…
Give your agent the search over MCP, or paste the wish link into any chat.
Similar packages
FastUUID provides CPython bindings to Rust's UUID library, offering faster UUID generation and parsing than Python's standard library with support for UUID versions 1, 3, 4, 5, and 7.
Decorator and context manager to mock Python's uuid module, returning fixed or sequenced UUIDs in tests instead of generating random ones.
However, maintenance is dormant, so it will not receive bug fixes or updates—acceptable for a stable, narrow-scope utility but worth noting if you need ongoing support.
Generates UUID version 7 identifiers—time-ordered, RFC-compliant UUIDs that encode a timestamp and support optional monotonic counters for database-friendly ID generation.
However, the aging maintenance status (389 days since release, no recent commits visible) and unclear license metadata warrant a quick check before adopting in…
Generates version 7 UUIDs that are time-sortable with chronological ordering and include randomness for uniqueness.
However, verify that RFC4122 version 7 adoption aligns with your infrastructure's UUID support before committing to it as a primary identifier scheme.
Generates time-based UUID formats (versions 6, 7, and 8) optimized for use as database keys, extending Python's standard UUID class with RFC 9562 compliant functions.
Install it if you generate UUIDs for database keys and want better index locality than random UUIDs provide.
Provides Rust-based utility functions for PyAVD, handling data structure validation and manipulation with performance and safety guarantees.
Install only if PyAVD requires it as a transitive dependency, or if you are contributing to the PyAVD project itself.
See also uuid7-standard · fastnanoid · python-ulid · typeid-python