Skip to main content

Vasuki generates different kinds of random unique identifiers, tokens and words

Project description

Supported versions of Python Version on PyPI Status License



Vasuki generates different kinds of random unique identifiers, tokens and words.

It aims to make identifier generation effortless.

There might still be dragons.


The algorithms curated here generate different kinds of random and pseudo-random identifiers, tokens, names or passwords, let’s just call them “prwords”. While some of the generated “prwords” max out on the randomness and uniqueness aspects like UUIDs, others compromise on the time vs. space domain but focus more on human memorability and empathize with their common sense and humor. Saying that, humans should know what they are doing when using these identifiers in different contexts. YMMV.



pip install vasuki

With service API:

pip install vasuki[service]


Unique ID generators

  • UUIDv4 universally unique identifier

  • ULID universally unique lexicographically sortable identifier

  • Gibberish random, pronounceable pseudo-words

  • MomentName, a short epoch slug

  • Nagamani19, a short, unique, non-sequential identifier based on Hashids and a custom Epoch starting on January 1, 2019.

Time and randomness is usually taking from the system as implemented by the libraries underpinning this package.


  • six-nibble-name converts six nibbles (three bytes) into a 4-character name

Optional service API

The fine responder optionally exposes the machinery as HTTP API.


# UUIDv4 universally unique identifier.
vasuki uuid

# ULID universally unique lexicographically sortable identifier.
vasuki ulid

# Gibberish random, pronounceable pseudo-words
vasuki gibberish

# MomentName short epoch slugs
vasuki moment

# Nagamani19 short, unique, non-sequential identifier.
vasuki naga19


Identifier generation

# UUIDv4
vasuki uuid


# Gibberish
vasuki gibberish

# MomentName
vasuki moment

# Nagamani19
vasuki naga19

With transformations

Vasuki can apply uppercase or lowercase transformation to the generated identifier or word:

# UUIDv4, uppercase
vasuki uuid --upper

# ULID, lowercase
vasuki ulid --lower

With variable word length

vasuki gibberish --size medium

Slug tools

vasuki slug 42 --format=sixnibble

Multiple tokens at once

vasuki naga19 --count 10
vasuki gibberish --size large --count 50


Start the Vasuki service as daemon:

vasuki service

Example requests would look like:

# UUIDv4

# Uppercase UUIDv4

# Multiple ULIDs

# Very short Nagamani19


python3 -m venv .venv
source .venv/bin/activate
pip install --editable=.[service]
vasuki --version



Kurma is one of the avatars of Vishnu. He appears in the form of a tortoise or turtle to support the foundation of the cosmos, while the gods and demons churn the cosmic ocean with the help of serpent Vasuki to produce the nectar of immortality.

Vasuki is a naga serpent king, occasionally coiling around Kurma’s or Shiva’s neck, who blessed and wore him as an ornament. He is described as having a gem called Nagamani on his head.

Download files

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

Source Distribution

vasuki-0.3.3.tar.gz (27.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page