cuid
Fast, scalable unique ID generation
What it is and what it does
cuid.py is a Python port of the JavaScript CUID library, generating portable, sequentially-ordered unique identifiers optimized for horizontal scalability and speed. It has no external dependencies beyond the standard library. The package generates IDs that are designed to be collision-resistant and suitable for distributed systems where many machines may be generating IDs concurrently.
However, the package is abandoned and the CUID standard itself has been officially deprecated in favor of CUID2. While the implementation works and has no known vulnerabilities, it receives no maintenance or updates. If you are starting a new project, the maintainers recommend using CUID2 instead.
Use it for:
- Generate unique identifiers for database records in horizontally-scaled web applications.
- Create collision-resistant IDs for distributed systems where multiple services generate identifiers independently.
- Build audit trails or event logs that require sortable, sequentially-ordered unique identifiers.
- Replace UUID/GUID generation when you need better performance and horizontal scalability properties.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates fast, sequentially-ordered unique identifiers (CUIDs) designed for horizontal scalability, ported from the JavaScript reference implementation.
No. The package is abandoned (last commit May 2023, no releases for over a year) and the CUID standard itself is officially deprecated in favor of CUID2. While it has no known vulnerabilities and high installation friction is its only technical drawback, choosing a deprecated standard for new code creates long-term maintenance risk. Use CUID2 instead unless you are maintaining legacy code already using this package.
Install
cuid on PyPI
pip
pip install cuiduv
uv add cuidpoetry
poetry add cuidInstalling cuid
Before you install
Installation friction is high due to source-only distribution. The package is abandoned—last commit was 2023-05-21 and no releases since 2023-03-06—so expect no maintenance or security updates going forward.
License in practice
Licensed under Apache License (permissive), so you can use it freely in commercial and open-source projects without restrictive obligations.
Quickstart
pip install cuid
from cuid import cuid
my_id = cuid()
print(my_id)
Verify before relying
- Whether the deprecated status of the cuid standard itself affects suitability for new projects (cuid2 is the recommended replacement).
- Real-world performance characteristics on modern Python versions beyond the benchmarks provided.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,257 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,391,931/month — #3,962 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cuid-0.4.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
cuid2Generates collision-resistant,…
permissive · top 15,000 on PyPI
ulidGenerates ULIDs (Universally Unique…
permissive · top 15,000 on PyPI
snowflake-idGenerates and parses Snowflake IDs, distributed…
permissive · top 15,000 on PyPI
py-deviceidGenerates or retrieves a unique device…
permissive · top 5,000 on PyPI
cyksuidGenerates and parses KSUIDs (K-Sortable…
permissive · top 15,000 on PyPI
uuidProvides UUID object creation and RFC…
unclear · top 5,000 on PyPI
sqidsSqids encodes numbers into short, unique,…
permissive · top 15,000 on PyPI
pksuidGenerates prefixed, k-sortable unique…
permissive · top 15,000 on PyPI
svix-ksuidGenerates and parses KSUIDs (K-sorted unique…
permissive · top 15,000 on PyPI
timeflakeGenerates 128-bit, time-ordered, URL-safe…
permissive · top 15,000 on PyPI