cyksuid
Cython implementation of ksuid
Decision gist · record as of 2026-08-14
Yes, if you need sortable unique IDs with embedded timestamps and want better performance than pure-Python alternatives. The permissive BSD license, lack of runtime dependencies, and production-stable status make it low-risk. The aging maintenance status (last release 688 days ago) is a minor concern but not a blocker—the code is stable and the repository remains active. Install friction is moderate due to compilation, but pre-built wheels cover most platforms.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a C compiler at install time if pre-built wheels are unavailable for your platform; Python 3.7 or later.
- Medium install friction due to compiled wheels, but pre-built binaries are available for common platforms (macOS, Linux, Windows across x86_64 and ARM).
- Last release was 688 days ago; repository remains active with recent commits and is marked production-stable.
License · maintenance · safety
BSD (permissive) — BSD license is permissive and imposes minimal restrictions; you may use, modify, and distribute this package in commercial and private projects with only attribution required.
last release 2024-09-25 (688 days) · last repo commit 2025-12-15 · 52 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 213,593 downloads/mo, #9,433 on PyPI
Alternatives
Verify before relying
pip install cyksuid
from cyksuid.v2 import ksuid, parse
uid = ksuid()
print(uid.encoded) # b'2G2IfS6177qFICE3w10eMjgYu89'
print(uid.timestamp) # 1665580354.0
print(uid.datetime) # datetime with UTC timezone- Whether the v1 and v2 APIs are both actively maintained or if v1 is deprecated.
- Performance characteristics under high-concurrency workloads beyond the single-threaded benchmark shown.
- Whether KSUIDs generated by this implementation are compatible with the original Go KSUID library in all edge cases.
- Exact byte length and structure of generated IDs.
What it is and what it does
CyKSUID is a Cython-based implementation of KSUID, a sortable unique identifier format that combines a timestamp with random data. It generates IDs that are lexicographically sortable by creation time, making them useful for databases and distributed systems where time-ordered uniqueness matters. The package provides two APIs (v1 and v2) and exposes IDs in multiple formats: raw bytes, hex, base32-encoded strings, and as Python datetime objects.
The library has no runtime dependencies beyond Python and a C compiler, and ships with pre-built wheels for most common platforms. It's positioned as a high-performance alternative to UUID libraries when you need sortability and timestamp extraction without external dependencies. The benchmark data shows it generates IDs roughly 3-4x faster than comparable implementations.
Use it for
- Generate sortable IDs for database records that need to be ordered by creation time without a separate timestamp column.
- Create distributed system identifiers that are globally unique and time-ordered without requiring a central ID service.
- Replace UUIDs in applications where both uniqueness and sortability are required for efficient indexing.
- Extract creation timestamps from IDs after the fact using the parse function and datetime property.
- Build audit logs or event streams where ID ordering reflects event sequence without explicit timestamps.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need sortable unique IDs with embedded timestamps and want better performance than pure-Python alternatives.
The permissive BSD license, lack of runtime dependencies, and production-stable status make it low-risk. The aging maintenance status (last release 688 days ago) is a minor concern but not a blocker—the code is stable and the repository remains active. Install friction is moderate due to compilation, but pre-built wheels cover most platforms.
Install
cyksuid on PyPI
Before you install
Medium install friction due to compiled wheels, but pre-built binaries are available for common platforms (macOS, Linux, Windows across x86_64 and ARM). Last release was 688 days ago; repository remains active with recent commits and is marked production-stable.
Requires a C compiler at install time if pre-built wheels are unavailable for your platform; Python 3.7 or later.
License in practice
BSD license is permissive and imposes minimal restrictions; you may use, modify, and distribute this package in commercial and private projects with only attribution required.
Quickstart
pip install cyksuid
from cyksuid.v2 import ksuid, parse
uid = ksuid()
print(uid.encoded) # b'2G2IfS6177qFICE3w10eMjgYu89'
print(uid.timestamp) # 1665580354.0
print(uid.datetime) # datetime with UTC timezone
Verify before relying
- Whether the v1 and v2 APIs are both actively maintained or if v1 is deprecated.
- Performance characteristics under high-concurrency workloads beyond the single-threaded benchmark shown.
- Whether KSUIDs generated by this implementation are compatible with the original Go KSUID library in all edge cases.
- Exact byte length and structure of generated IDs.
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Aging 688 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 213,593 / month, #9,433 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 :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: CythonProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities |
Evidence: cyksuid-2.1.0-cp310-cp310-macosx_10_15_universal2.whl; cyksuid-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl; cyksuid-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cyksuid-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cyksuid-2.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cyksuid-2.1.0-cp310-cp310-musllinux_1_1_aarch64.whl; cyksuid-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl; cyksuid-2.1.0-cp310-cp310-win32.whl; cyksuid-2.1.0-cp310-cp310-win_amd64.whl; cyksuid-2.1.0-cp310-cp310-win_arm64.whl; cyksuid-2.1.0-cp311-cp311-macosx_10_15_universal2.whl; cyksuid-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl; cyksuid-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; cyksuid-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; cyksuid-2.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cyksuid-2.1.0-cp311-cp311-musllinux_1_1_aarch64.whl; cyksuid-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl; cyksuid-2.1.0-cp311-cp311-win32.whl; cyksuid-2.1.0-cp311-cp311-win_amd64.whl; cyksuid-2.1.0-cp311-cp311-win_arm64.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 › “sortable unique id generator”
- cyksuidGenerates and parses KSUIDs (K-Sortable Globally Unique IDs) using a…
- timeflakeGenerates 128-bit, time-ordered, URL-safe unique identifiers (UUIDs)…
- python-ulidGenerates and manipulates ULIDs (universally unique lexicographically…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also ksuid · pksuid · svix-ksuid · ulid-py · ulid · cuid · python-ulid · uuid-v7 · ulid-transform · timeflake