TypeID Python
A Python implementation of TypeIDs using Python
TypeIDs are a modern, type-safe, globally unique identifier based on the upcoming
UUIDv7 standard. They provide a ton of nice properties that make them a great choice
as the primary identifiers for your data in a database, APIs, and distributed systems.
Read more about TypeIDs in their spec.
This particular implementation provides an pip package that can be used by any Python project.
Installation
Usage
Basic
-
Create TypeID Instance:
from typeid import TypeID
typeid = TypeID()
print(typeid.prefix)
print(typeid.suffix)
typeid = TypeID(prefix="user")
print(typeid.prefix)
print(str(typeid))
-
Create TypeID from string:
from typeid import TypeID
typeid = TypeID.from_string("user_01h45ytscbebyvny4gc8cr8ma2")
print(str(typeid))
-
Create TypeID from uuid7:
from typeid import TypeID
from uuid6 import uuid7
uuid = uuid7()
prefix = "user"
typeid = TypeID.from_uuid(prefix=prefix, suffix=uuid)
print(str(typeid))
CLI-tool
-
Install dependencies:
pip install typeid-python[cli]
-
To generate a new TypeID, run:
$ python3 -m typeid.cli new -p prefix
prefix_01h2xcejqtf2nbrexx3vqjhp41
-
To decode an existing TypeID into a UUID run:
$ python3 -m typeid.cli decode prefix_01h2xcejqtf2nbrexx3vqjhp41
type: prefix
uuid: 0188bac7-4afa-78aa-bc3b-bd1eef28d881
-
And to encode an existing UUID into a TypeID run:
$ python3 -m typeid.cli encode 0188bac7-4afa-78aa-bc3b-bd1eef28d881 --prefix prefix
prefix_01h2xcejqtf2nbrexx3vqjhp41