Skip to main content

Universally Unique Lexicographically Sortable Identifier

Project description

https://img.shields.io/pypi/v/python-ulid.svg?style=flat-square https://img.shields.io/travis/mdomke/python-ulid/master.svg?style=flat-square https://img.shields.io/pypi/l/python-ulid.svg?style=flat-square https://img.shields.io/codecov/c/github/mdomke/python-ulid.svg?style=flat-square

What is this?

This is a port of the original JavaScript ULID implementation to Python.

A ULID is a universally unique lexicographically sortable identifier. It is

  • 128-bit compatible with UUID

  • 1.21e+24 unique ULIDs per millisecond

  • Lexicographically sortable!

  • Canonically encoded as a 26 character string, as opposed to the 36 character UUID

  • Uses Crockford’s base32 for better efficiency and readability (5 bits per character)

  • Case insensitive

  • No special characters (URL safe)

In general the structure of a ULID is as follows:

01AN4Z07BY      79KA1307SR9X4MV3
|----------|    |----------------|
 Timestamp          Randomness
   48bits             80bits

For more information have a look at the original specification.

Basic Usage

>>> from ulid import ULID
>>> ulid = ULID.new()
>>> ulid.str
'01BTGNYV6HRNK8K8VKZASZCFPE'
>>> ulid.timestamp
1505945939.153
>>> ulid.datetime
datetime.datetime(2017, 9, 20, 22, 18, 59, 153000)

Installation

$ pip install python-ulid

Other implementations

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-ulid-0.2.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

python_ulid-0.2.0-py2-none-any.whl (7.6 kB view details)

Uploaded Python 2

File details

Details for the file python-ulid-0.2.0.tar.gz.

File metadata

  • Download URL: python-ulid-0.2.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for python-ulid-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8d3ffa2d2f250648293ad904b98d25776bd2a77ffc957c01f23f3e6cd011b2f8
MD5 423fb74378693798bc9f3437a6f5bd67
BLAKE2b-256 5c9d3c2e8e74e0382dcd858ea106b434989604e8dfe1c4667f4a27f80c97c288

See more details on using hashes here.

Provenance

File details

Details for the file python_ulid-0.2.0-py2-none-any.whl.

File metadata

File hashes

Hashes for python_ulid-0.2.0-py2-none-any.whl
Algorithm Hash digest
SHA256 f2bea3f19bea6a90138cf7d27a15066c669b3d2e6a4da7e16591a42e907acfd4
MD5 e453781f89c30148e095bac7fe59a300
BLAKE2b-256 91afb150840fdfd234ec67a3a6d027e0e68e6317789fa599a28775fafb00c108

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page