uuid6
New time-based UUID formats which are suited for use as a database key
Decision gist · record as of 2026-08-14
Yes. uuid6 is a lightweight, zero-dependency package that solves a real database performance problem by providing RFC 9562 compliant, sortable UUIDs. It is actively maintained, supports current Python versions, carries a permissive MIT license, and has no known vulnerabilities. Install it if you generate UUIDs for database keys and want better index locality than random UUIDs provide.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installs with no runtime dependencies and low friction.
- Actively maintained with recent commits and a stable release cadence; supports Python 3.9 through 3.13.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open and proprietary projects with minimal obligations.
last release 2025-07-04 (406 days) · last repo commit 2026-03-27 · 181 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 18,014,267 downloads/mo, #1,090 on PyPI
Alternatives
Verify before relying
pip install uuid6
import uuid6
my_uuid = uuid6.uuid7()
print(my_uuid)
assert my_uuid < uuid6.uuid7()- Thread-safety guarantees for uuid6(), uuid7(), and uuid8() in concurrent environments beyond the documented 'not thread-safe' note.
- Performance characteristics and suitability for high-throughput UUID generation workloads.
What it is and what it does
uuid6 extends Python's built-in UUID class with three new time-based UUID generators—uuid6(), uuid7(), and uuid8()—that implement the proposed IETF RFC 9562 standard. These formats are designed to be sortable and database-friendly, addressing a key limitation of random UUIDs (uuid4) which scatter across index space. UUID version 7 is recommended for most use cases, using Unix epoch milliseconds for ordering and improved entropy. UUID version 6 provides a reordered variant of UUID version 1 for systems with existing v1 UUIDs. UUID version 8 trades some entropy for nanosecond-level timestamp precision when finer granularity is required.
The package has no runtime dependencies and installs cleanly. It is actively maintained, supports Python 3.9 through 3.13, and carries an MIT license. The implementation includes a conversion function (uuid1_to_uuid6) for migrating existing UUID version 1 objects. All three generators are documented as not thread-safe, so concurrent use requires external synchronization.
Use it for
- Generate sortable primary keys for database tables where insertion order and query performance matter.
- Replace uuid4() in applications that need both uniqueness and temporal ordering without additional indexing overhead.
- Migrate legacy systems using UUID version 1 to the improved UUID version 6 format via uuid1_to_uuid6().
- Generate UUIDs with nanosecond precision for high-resolution event logging or financial transaction tracking.
- Implement distributed system identifiers where both time-ordering and cryptographic randomness are required.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
uuid6 is a lightweight, zero-dependency package that solves a real database performance problem by providing RFC 9562 compliant, sortable UUIDs. It is actively maintained, supports current Python versions, carries a permissive MIT license, and has no known vulnerabilities. Install it if you generate UUIDs for database keys and want better index locality than random UUIDs provide.
Install
uuid6 on PyPI
Before you install
Installs with no runtime dependencies and low friction. Actively maintained with recent commits and a stable release cadence; supports Python 3.9 through 3.13.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open and proprietary projects with minimal obligations.
Quickstart
pip install uuid6
import uuid6
my_uuid = uuid6.uuid7()
print(my_uuid)
assert my_uuid < uuid6.uuid7()
Verify before relying
- Thread-safety guarantees for uuid6(), uuid7(), and uuid8() in concurrent environments beyond the documented 'not thread-safe' note.
- Performance characteristics and suitability for high-throughput UUID generation workloads.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 406 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 18,014,267 / month, #1,090 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: uuid6-2025.0.1-py3-none-any.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 › “uuid6 uuid7 uuid8”
- uuid6Generates time-based UUID formats (versions 6, 7, and 8) optimized…
- uuid7Generates version 7 UUIDs that are time-sortable with chronological…
- uuid7-standardGenerates and parses UUIDv7 identifiers with embedded creation…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also uuid-v7 · uuid7-standard · uuid7 · uuid-extension · uuid-utils · c_uuid_v7 · freeze-uuid · nanotime · timeflake · fastuuid