spec VS prototypes

Compare spec vs prototypes and see what are their differences.

spec

The canonical spec for ulid (by ulid)

prototypes

Draft Prototypes and Tests for UUIDv6 and beyond (by uuid6)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
spec prototypes
60 2
8,502 44
2.0% -
0.0 6.0
2 months ago 5 months ago
Python
GNU General Public License v3.0 only -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

spec

Posts with mentions or reviews of spec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-01.

prototypes

Posts with mentions or reviews of prototypes. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-12.
  • New UUID Formats from IETF
    12 projects | news.ycombinator.com | 12 Jun 2022
    I made a simple Python test library that extends the standard UUID class with UUIDv6 and UUIDv7. You might want to check it out. https://github.com/oittaa/uuid6-python

    The official UUID Draft repository has also some alternatives if you'd like to check those out. https://github.com/uuid6/prototypes

    Postgres supports UUIDs with any version number natively so you can then do something like this with it:

      create table data (id uuid, firstname varchar(100));
    12 projects | news.ycombinator.com | 12 Jun 2022
    Nice to see another implementation which takes a bit different approach. Just for your information, there's now Draft 03 which changes the format a little bit. I kinda liked the arbitrary precision of Draft 02, but the newer one just requires millisecond precision and then basically leaves it up to the implementation how to handle the generation of multiple UUIDs within the same millisecond.

    https://github.com/uuid6/prototypes/issues/21

What are some alternatives?

When comparing spec and prototypes you can also consider the following projects:

dynamodb-onetable - DynamoDB access and management for one table designs with NodeJS

uuid6-ietf-draft - Next Generation UUID Formats

kuuid - K-sortable UUID - roughly time-sortable unique id generator

python-ksuid - A pure-Python KSUID implementation

ulid-lite - Generate unique, yet sortable identifiers

shortuuid.rb - Convert UUIDs & numbers into space efficient and URL-safe Base62 strings, or any other alphabet.

ulid - Universally Unique Lexicographically Sortable Identifier (ULID) in Python 3

ksuid - Java implementation of K-Sortable Globally Unique IDs

cuid - Collision-resistant ids optimized for horizontal scaling and performance.

nanoid - A tiny (124 bytes), secure, URL-friendly, unique string ID generator for JavaScript

uulid.go - ULID-UUID compatibility library for generating and parsing ULIDs.

timeflake - Timeflake is a 128-bit, roughly-ordered, URL-safe UUID.