Skip to main content

Generate 64bit UUIDs

Project description

This is a simple script that generates a 64bit UUID. The normal type of UUID (e.g. those available in the uuid module) are 128bit, which provides substantially greater ability to avoid collision between generated values. However, it is sometimes convenient to have a smaller UUID, e.g. if the number of generated values is not terribly large or will not be generated in large batches. Or, perhaps, due to a lack of support for 128bit integers.

The algorithm used to generate these UUIDs is very simple. The UUID consists of two 32bit parts. The first part is base upon the current time (seconds since the beginning of epoch). When UUIDs are not generated in batches, i.e. all at the same time, the time acts as an incrementing value so that UUID generate many seconds apart are almost certain to be different (note that clock timing on different machines means that this is not a guarantee).

The second part is a 32bit random number taken from the system that the script is running on, e.g. on linux the value is taken from /dev/urandom rather than a pseudo-random generator.

Project details


Download files

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

Files for uuid64, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size uuid64-0.1.1.tar.gz (3.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page