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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|