Create human-friendly IDs from strings.
Project description
humidifier
Create human-friendly IDs from strings.
The typical use case for humidifier
is that you have some string (a word, a name, a phrase...) that you want to turn into a human-friendly ID.
For example, your project has URLs containing IDs, and it would be nicer to have /record/an-example
instead of /record/21937218
.
Such IDs are easy to remember and can function as a preview for the database entry.
This can be achieved with the excellent python-slugify
, to which humidifier adds the option to generate unique IDs
Usage
Using humidifier
is rather simple:
from humidifier import humidify
id_1 = humidify("dog", unique=True) # 'dog'
id_2 = humidify("dog", unique=True) # 'dog-1'
id_3 = humidify("dög", unique=True) # 'dog-2'
id_4 = humidify("ʔɚ", unique=True) # 'null'
id_5 = humidify("ʔɚ", unique=True) # 'null-1'
If your strings come from different populations that you would like to keep distinct in the generated IDs, there is an optional key
argument:
from humidifier import humidify
id_1 = humidify("dog", key="animals", unique=True) # 'dog'
id_2 = humidify("dog", key="quadripeds", unique=True) # 'dog'
id_3 = humidify("dög", key="animals", unique=True) # 'dog-1'
id_4 = humidify("dög", key="animals", unique=True) # 'dog-2'
If you are working with an existing set of IDs:
from humidifier import Humidifier
hum = Humidifier(["dog"])
hum.humidify("dog", unique=True) # 'dog-1'
If you only want to generate a new ID for each distinct string:
from humidifier import humidify
humidify("dög") # 'dog'
humidify("dög") # 'dog'
humidify("dog") # 'dog-1'
You can also use any of the arguments described for python-slugify
.
The arguments max_length
for truncating, separator
for something other than -
in between parts, and replacements
may be of particular interest when generating IDs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file humidifier-0.0.2.tar.gz
.
File metadata
- Download URL: humidifier-0.0.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 119307cda9453fe1b4e6d5ffd91c18730cc3d525f54cd2ab375a0a2a8c9a7a1c |
|
MD5 | 4c731a40d89bc627ac029f8ced62639d |
|
BLAKE2b-256 | 2a4e28a7ab129e3e87fd497ae3efca452e9cd5e71b1e6fbba88bbfa50daba3c3 |
File details
Details for the file humidifier-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: humidifier-0.0.2-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a005299b1a001c0e80b7f8c530933da3163feb5da5ee4e0b0a324246585c2a9c |
|
MD5 | 4ea657b33ef901763f9d1e9631a02fe0 |
|
BLAKE2b-256 | fb104f34f1ccc13cd9518acb993c35214e8b7830dee2e7359dfebc09841f2263 |