Do you want random human-readable strings?
>>> from coolname import generate_slug
>>> generate_slug()
'tiny-optimal-crocodile-of-progress'
>>> generate_slug()
'cherubic-leopard-of-delightful-serendipity'
>>> generate_slug()
'wealthy-athletic-swift-of-tempest'
Features
Generate slugs, ready to use, Django-compatible.
>>> from coolname import generate_slug >>> generate_slug() 'qualified-agama-of-absolute-kindness'Generate names as sequences and do whatever you want with them.
>>> from coolname import generate >>> generate() ['beneficial', 'bronze', 'bee', 'of', 'glee'] >>> ' '.join(generate()) 'limber transparent toad of luck' >>> ''.join(x.capitalize() for x in generate()) 'CalmRefreshingTerrierOfAttraction'Generate names of specific length: 2, 3 or 4 words.
>>> generate_slug(2) 'mottled-crab' >>> generate_slug(3) 'fantastic-acoustic-whale' >>> generate_slug(4) 'military-diamond-tuatara-of-endeavor'Note: without argument, it returns a random length, but probability of 4‑word name is much higher. Prepositions and articles (of, from, the) are not counted as words.
Use in command line:
$ coolname prophetic-tireless-bullfrog-of-novelty $ coolname 3 -n 2 -s '_' wildebeest_of_original_champagne ara_of_imminent_luckOver 1010 random names.
Words
Combinations
Example
4
1010
talented-enigmatic-bee-of-hurricane
3
108
ambitious-turaco-of-joviality
2
105
prudent-armadillo
>>> from coolname import get_combinations_count >>> get_combinations_count() 83930205085Hand-picked vocabulary. sexy and demonic are about the most “offensive” words here - but there is only a pinch of them, for spice. Most words are either neutral, such as red, or positive, such as brave. And subject is always some animal, bird, fish, or insect - you can’t be more neutral than Mother Nature.
Easy customization. Create your own rules!
>>> from coolname import RandomGenerator >>> generator = RandomGenerator({ ... 'all': { ... 'type': 'cartesian', ... 'lists': ['first_name', 'last_name'] ... }, ... 'first_name': { ... 'type': 'words', ... 'words': ['james', 'john'] ... }, ... 'last_name': { ... 'type': 'words', ... 'words': ['smith', 'brown'] ... } ... }) >>> generator.generate_slug() 'james-brown'
Installation
pip install coolname
coolname is written in pure Python and has no dependencies. It works on any modern Python version (3.10+), including PyPy.
Metadata
Release files for coolname 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| coolname-5.0.0.tar.gz | 45.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| coolname-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.2 kB
Release files / coolname-5.0.0.tar.gz
| Download URL | coolname-5.0.0.tar.gz |
|---|---|
| Size | 45.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
594bc6c98ebc75ddd51c0ce10efbb5d2556c14eac60b5b36900dfdd5db20eecf
|
|
BLAKE2b-256 checksum How to use checksums |
fe45deae12f31934301a488df985880240a200119aca2e4b5ceba71d73bc5e86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / coolname-5.0.0-py3-none-any.whl
| Download URL | coolname-5.0.0-py3-none-any.whl |
|---|---|
| Size | 47.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b86eea9670aa0620965167d1bfadfe654fabec839a5b51e8da611c4a64f86192
|
|
BLAKE2b-256 checksum How to use checksums |
9735cf824e535233c432048bd7455b28808776471ab5861375772b2c98ea4cbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|