Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
|pypi| |build| |coverage| |docs|
Do you want random human-readable strings?
.. code-block:: python
>>> from coolname import generate_slug
>>> generate_slug()
'big-maize-lori-of-renovation'
>>> generate_slug()
'tunneling-amaranth-rhino-of-holiness'
>>> generate_slug()
'soft-cuddly-shrew-of-expertise'
Generate slugs, ready to use, Django-compatible.
.. code-block:: python
>>> from coolname import generate_slug
>>> generate_slug()
'qualified-agama-of-absolute-kindness'
Generate names as sequences and do whatever you want with them.
.. code-block:: python
>>> 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.
.. code-block:: python
>>> 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:
.. code-block:: bash
$ coolname
prophetic-tireless-bullfrog-of-novelty
$ coolname 3 -n 2 -s '_'
wildebeest_of_original_champagne
ara_of_imminent_luck
Over 10\ :sup:10
\ random names.
===== ============== =======================================
Words Combinations Example
===== ============== =======================================
4 10\ :sup:10
\ talented-enigmatic-bee-of-hurricane
3 10\ :sup:8
\ ambitious-turaco-of-joviality
2 10\ :sup:5
\ prudent-armadillo
===== ============== =======================================
.. code-block:: python
>>> from coolname import get_combinations_count
>>> get_combinations_count(4)
62620779367
Hand-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 <http://coolname.readthedocs.io/en/latest/customization.html>
_. Create your own rules!
.. code-block:: python
>>> 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'
.. code-block:: bash
pip install coolname
coolname is written in pure Python and has no dependencies. It works on any modern Python version (3.6+), including PyPy.
.. |pypi| image:: https://img.shields.io/pypi/v/coolname.svg :target: https://pypi.python.org/pypi/coolname :alt: pypi
.. |build| image:: https://api.travis-ci.org/alexanderlukanin13/coolname.svg?branch=master :target: https://travis-ci.org/alexanderlukanin13/coolname?branch=master :alt: build status
.. |coverage| image:: https://coveralls.io/repos/alexanderlukanin13/coolname/badge.svg?branch=master&service=github :target: https://coveralls.io/github/alexanderlukanin13/coolname?branch=master :alt: coverage
.. |docs| image:: https://img.shields.io/readthedocs/coolname.svg :target: http://coolname.readthedocs.io/en/latest/ :alt: documentation
hashlib.md5(..., usedforsecurity=False)
Support for old Python versions (<3.5) is dropped, because it's 2022
Command line usage and pipx support.
With additional owls and bitterns
Breaking changes:
Renamed RandomNameGenerator
to RandomGenerator
.
randomize
was removed, because it was just an alias to random.seed
.
Phrase lists <https://coolname.readthedocs.io/en/latest/customization.html#phrases-list>
_
give you even more freedom when creating custom generators.
You can seed or even replace the underlying random.Random
instance, see
Randomization <https://coolname.readthedocs.io/en/latest/randomization.html>
_.
Change the default generator using COOLNAME_DATA_DIR
and COOLNAME_DATA_MODULE
. This also saves memory!
Total number of combinations = 60 billions.
For earlier releases, see History <https://coolname.readthedocs.io/en/latest/history.html>
_
FAQs
Random name and slug generator
We found that coolname demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.