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.

Source Distribution

uuid64-0.2.0.tar.gz (3.7 kB view hashes)

Uploaded source

Supported by

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