Skip to main content

huuid - human UUIDs

python3-library to convert uuids forth and back to a human-readable and pronounceable format

What is huuid

hhuid does a bijective transformation from uuids to a format that can be read, pronounced and typed a lot better than the default formats. No Information is lost in the mapping.

Here is an example-output of the demo.py in the tests-folder:

generated uuid:          f3ad6cef-2732-4b18-97dd-137a459eb656
human-readable:          tapratnaz-vorjonfif-Tezjozdin-sejgipneh
Afer back-translation:   f3ad6cef-2732-4b18-97dd-137a459eb656
--- other usecases: ---
first 32bit human-readable:  tapratnaz
generated 32bit-Password:    Sunmuhnud
generated 64bit-Password:    Vezvegdum-ladzibkal

How to use huuid

Install it using pip:

pip install huuid

or just put the folder huuid in your project-root. (Jep, just that one file - that's all!)

Then in python import it in your code with

import huuid

and convert any uuid-object or uuid-string to a huuid-string with

huuid.uuid2human(myUuidObject)

Optionally you can limit the huuid-string to the 32, 64 or 96 bit:

huuid.uuid2human(myUuidObject, 64)

Convert it back to a uuid-string with

huuid.human2uuid(myUuidObject)

Background

The hexadecimal representation of the UUID is translated to letters that have an unambiguous pronounciation. The 2nd, and then every third letter is a vowel, the other ones are consonants which makes up a well pronounced word that sounds like it is made up of syllables.

There are 5 vowels and 16 consonants (just unambiguous ones) being used, and (only) for the first letter capitals are allowed. (And a capital-C additional to the 16 chosen unambiguous consonants to reach 32bit with 9 letters)

With this pattern there are a little more than 2^32 possibilities to generate a word with 9 letters. 4 "Words" hit the 128bit of UUIDs (>10^38).

Dependencies

This only uses the python3-modules uuid and math.

Credits

This is highly inspired by

https://arxiv.org/html/0901.4016

published by Daniel Shawcross Wilkerson and its implementation:

https://github.com/dsw/proquint

Release files for huuid 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for huuid 0.9.0
File Size Uploaded
huuid-0.9.0.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for huuid 0.9.0
File Interpreter ABI Platform
huuid-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.3 kB

Release files / huuid-0.9.0.tar.gz

Download URL huuid-0.9.0.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d2fabd579da4ac2a731ce8e1eb05b66b1fa8ec2bdb2c598c5182bf93307a9b34
BLAKE2b-256 checksum
How to use checksums
86e3bde1d1960afa914bf2539654cf541eb448e384e27709aa12495fb69491d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 27, 2025.

Transparency log

Release files / huuid-0.9.0-py3-none-any.whl

Download URL huuid-0.9.0-py3-none-any.whl
Size 16.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5af7eb8cb037efe542faace443d1584647ea58ccada1bde88b792f25635fdb0
BLAKE2b-256 checksum
How to use checksums
cb82e9f6ec386eb644edd99beee6db4a2e13d47eede2c653df1cf2ea42a7fb61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 27, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

0.8.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page