Skip to main content

A fantasy themed random name generator.

Project description

Fantasy Name Generator

PyPI version

A random name generator that produces names aligning (more or less) with common conventions for fantasy characters in fictional media such as Dungeons and Dragons or World of Warcraft.

Installation

python3 -m pip install fantasynames

Or if your project is using Poetry:

poetry add fantasynames

Usage

The following name generating methods are provided for a variety of different stereotypical fantasy "races", as well as a few different "medieval-y" languages:

import fantasynames as names

names.elf()
# Example outputs: 'Farathia Eaviel', 'Iethian Willowblossom'

names.dwarf()
# Example outputs: 'Dagdr Steelbeard', 'Thorinna Ironstrike'

names.hobbit()
# Example outputs: 'Libby Honeyfoot', 'Flublius Sweetscone'

names.french()
# Example outputs: 'Richert Roublac', 'Clavena de Clardalle'

names.anglo()
# Example outputs: 'Brandin of Avonlyn', 'Kallem Davenmere'

names.human()
# Example outputs: 'Danric du Tourbloc', 'Sumia Sageholme'

Note that human() provides a diverse mix of different first and last name styles, including anglo() and french()...and more!

You can also pass a string argument to specify whether you want to recieve masculine or feminine names. By default, it's totally random:

names.human() # this will randomly generate either a male or female name

names.human('any') # this is equivalent to the above, in case you want to be specific

names.human('male') # this will generate a masculine name

names.human('female') # this will generate a feminine name

Contributing

Poetry

This package uses Poetry for package management. After checking out the repo, use poetry install to install all the required dependencies. Anytime you need to add a package, use:

poetry add PACKAGE_NAME_HERE

Linting / Formatting

We do code formatting with Python Black, additional linting with flake8, and type checking with mypy. Before opening a PR, please make sure to run all of these. Below is a helpful command to do them all at once:

poetry run black fantasynames && poetry run flake8 fantasynames && poetry run mypy fantasynames

Guides

If you want to make your own name generators, check out:

And then if you want to ramp up the complexity, take a look at:

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

fantasynames-0.1.2.tar.gz (9.1 kB view hashes)

Uploaded Source

Built Distribution

fantasynames-0.1.2-py3-none-any.whl (10.7 kB view hashes)

Uploaded Python 3

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