Benerator Cumberpy is a name generator written in Python that generates word pairs similar to "Benedict Cumberbatch". There already exist generators like this. However, they create new words, such as "Boobiedook Cumberfinkle".
Benerator Cumberpy will create pairs of existing English words that fullfil certain criteria. Examples could include "Benefits Coordination" or "Benevolent Cucumber". There are over 480 million possible combinations.
The script works both in Python 2 and 3.
Make sure you have Python installed, and (optionally) create a virtualenv.
To install from PyPI, run pip install benerator-cumberpy
.
To install locally: clone this repo, open the directory in terminal, and run pip install -e .
To run Benedict Cumberpy in terminal, run:
Command | Description |
---|---|
benerate |
Print only a name-surname pair. |
hello-ben |
Print a sentence like "Hello there, my name is Bronzelike Certificate.". |
For added hilarity, pipe the output of hello-ben
through cowsay
(Win: cowsay for Windows, Linux: apt install cowsay
or whatever else your distro uses, OSX: if you have HomeBrew installed – brew install cowsay
).
Example:
$ hello-ben | cowsay -f stegosaurus ____________________________________ / Hello there, my name is Beetleweed \ \ Correctioner. / ------------------------------------ \ . . \ / `. .' " \ .---. < > < > .---. \ | \ \ - ~ ~ - / / | _____ ..-~ ~-..-~ | | \~~~\.' `./~~~/ --------- \__/ \__/ .' O \ / / \ " (_____, `._.' | } \/~~~/ `----. / } | / \__/ `-. | / | / `. ,~~| ~-.__| /_ - ~ ^| /- _ `..-' | / | / ~-. `-. _ _ _ |_____| |_____| ~ - . _ _ _ _ _>
You can also use Benerator Cumberpy in your Python script.
For example:
# your_script.py
from benerator_cumberpy import benerate_name
from benerator_cumberpy import hello
benerate_name()
hello()
$ python your_script.py Bestselling Corridors Hello there, my name is Belial Cobalt.
I found a list of English words to use – this one.
Then I made two lists – first_names.txt
and last_names.txt
based on the following criteria:
First name (end result: 16692 words):
- starts with "B"
- is at least 6 letters long
- is not Benedict
Last name (end result: 28786 words):
- starts with "C" or "K"
- is at least 6 letters long
- does not start with "ch"
- is not Cumberbatch, though it wasn't in the dataset anyway