Skip to main content

Create human-friendly IDs from strings.

Project description

humidifier

Create human-friendly IDs from strings.

License Tests Linting Codecov PyPI Versions

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


Download files

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

Source Distribution

humidifier-0.0.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

humidifier-0.0.2-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

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

Hashes for humidifier-0.0.2.tar.gz
Algorithm Hash digest
SHA256 119307cda9453fe1b4e6d5ffd91c18730cc3d525f54cd2ab375a0a2a8c9a7a1c
MD5 4c731a40d89bc627ac029f8ced62639d
BLAKE2b-256 2a4e28a7ab129e3e87fd497ae3efca452e9cd5e71b1e6fbba88bbfa50daba3c3

See more details on using hashes here.

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

Hashes for humidifier-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a005299b1a001c0e80b7f8c530933da3163feb5da5ee4e0b0a324246585c2a9c
MD5 4ea657b33ef901763f9d1e9631a02fe0
BLAKE2b-256 fb104f34f1ccc13cd9518acb993c35214e8b7830dee2e7359dfebc09841f2263

See more details on using hashes here.

Supported by

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