$npx skillfedfor your agent

timeflake

Timeflake is a 128-bit, roughly-ordered, URL-safe UUID. Inspired by Twitter's Snowflake, Instagram's ID and Firebase's PushID.

With conditionsPyPI Python ModulesReleased Sep 2023190.4K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — timeflake-0.4.3-py3-none-any.whl
v0.4.3 · released 2023-09-01

Yes, if you need sortable, collision-resistant IDs for databases or URLs and want zero external dependencies. The library is stable and well-tested, but note that maintenance is dormant (last update 2023-09-01). Not suitable for security-sensitive use (password tokens, API keys); use Python's secrets module for those. Be aware that time-encoded IDs can leak privacy information about when and where content was created.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low install friction; pure Python with no runtime dependencies.
  • Dormant maintenance (last commit 2023-09-01, 1078 days ago) but stable and archived repository shows no active development planned.

License · maintenance · safety

MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.

last release 2023-09-01 (1078 days) · last repo commit 2023-09-01 · 807 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 190,387 downloads/mo, #9,912 on PyPI

Verify before relying

import timeflake

# Create a random Timeflake
flake = timeflake.random()
print(flake.base62)  # '00mx79Rjxvfgr8qat2CeQDs'
print(flake.timestamp)  # 1579091935216

# Parse existing flake
flake = timeflake.parse(from_base62='0002HCZffkHWhKPVdXxs0YH')
  • Whether the 2^80 random bits per millisecond provide sufficient collision avoidance for your specific throughput and scale requirements.
  • Current maintenance status and whether dormancy affects production readiness for your use case.
Same gist for agents: .md · .json

What it is and what it does

Timeflake is a 128-bit unique identifier that combines a 48-bit millisecond timestamp with an 80-bit cryptographically random component, designed to be both sortable and collision-resistant. Unlike UUID v1 (which leaks network info) or UUID v4 (which is random and fragments database indices), Timeflake orders by time in its most significant bits, keeping database indices compact and fast while remaining unpredictable within each millisecond.

The package provides multiple encodings—128-bit unsigned int, hex, URL-safe base62 (22 chars), and raw bytes—and is fully compatible with Python's standard uuid.UUID type. It includes optional extensions for Django ORM and Peewee, making it practical for use as a primary key in relational databases. No external dependencies are required.

Use it for

  • Use as a primary key in MySQL, Postgres, or SQLite3 to maintain insertion order and avoid index fragmentation.
  • Generate unpredictable but sortable IDs for URLs and APIs where auto-increment integers are too predictable.
  • Create distributed IDs across multiple machines without coordination or a centralized ID service.
  • Replace UUID v4 in applications where both randomness and temporal ordering improve query performance.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need sortable, collision-resistant IDs for databases or URLs and want zero external dependencies.

The library is stable and well-tested, but note that maintenance is dormant (last update 2023-09-01). Not suitable for security-sensitive use (password tokens, API keys); use Python's secrets module for those. Be aware that time-encoded IDs can leak privacy information about when and where content was created.

Install

timeflake on PyPI

Before you install

Low install friction; pure Python with no runtime dependencies. Dormant maintenance (last commit 2023-09-01, 1078 days ago) but stable and archived repository shows no active development planned.

License in practice

MIT license permits commercial and private use with minimal restrictions; attribution required but no copyleft obligations.

Quickstart

import timeflake

# Create a random Timeflake
flake = timeflake.random()
print(flake.base62)  # '00mx79Rjxvfgr8qat2CeQDs'
print(flake.timestamp)  # 1579091935216

# Parse existing flake
flake = timeflake.parse(from_base62='0002HCZffkHWhKPVdXxs0YH')

Verify before relying

  • Whether the 2^80 random bits per millisecond provide sufficient collision avoidance for your specific throughput and scale requirements.
  • Current maintenance status and whether dormancy affects production readiness for your use case.

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceDormant 1,078 days since the last release
Last repo commit
First released
Downloads190,387 / month, #9,912 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.7Topic :: Software Development :: Libraries :: Python Modules

Evidence: timeflake-0.4.3-py3-none-any.whl

Tags

Capabilities
time-ordered UUID generatorsortable unique ID librarysnowflake-like ID generationdatabase-friendly UUIDURL-safe unique identifierK-sortable IDdistributed ID generation
Topics
uuid-generationdistributed-systemsdatabase-optimization

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 › “snowflake-like ID generation”

  • timeflakeGenerates 128-bit, time-ordered, URL-safe unique identifiers (UUIDs)…
  • snowflake-idGenerates and parses Snowflake IDs, distributed unique identifiers…
  • typeid-pythonGenerates and parses TypeIDs—type-safe, sortable identifiers based on…

Give your agent the search over MCP, or paste the wish link into any chat.

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also ksuid · ulid-py · python-ulid · uuid-extension · ulid · uuid7 · pksuid · svix-ksuid · shortuuid · nanoid