Skip to content

Dude036/FantasyNameGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fantasy Names

A Python project dedicated to generating names from various bits of fantasy

Code style: black

Installation

pip

Install FantasyNameGenerator as a package with pip using this command:

pip install FantasyNameGenerator

Source

Install FantasyNameGenerator as a package from source using this command while in the home directory

pip install .

Usage

The main use case for this application is to generate a random name for something. Since this project offers many different types of generators, the main formula for these follows this pattern:

from FantasyNameGenerator.<Category> import <Thing>

Examples

Town Name Generator

from FantasyNameGenerator.Stores import Town
print(Town())
var = Town()
for name in Town():
    print(name)

Weapon Name Generator

from FantasyNameGenerator.Items import Weapon 
print(Weapon())
var = Weapon()
for name in Weapon():
    print(name)

Dungeon's & Dragons Aasimer Name

from FantasyNameGenerator.DnD import Aasimer 
print(Aasimer())
var = Aasimer()
for name in Aasimer():
    print(name)

Pathfinder Human Male Name

from FantasyNameGenerator.Pathfinder import Human 
print(Human.generate(Human.HumanType.Male))
var = Human.generate(Human.HumanType.Male)
for name in Human():
    print(name)

Generators

There are a few name generators included with this repo. Here are the main categories and what they contain:

Stores

  • Antique
  • Book
    • Children
    • Drama
    • Fiction
    • Horror
    • Humor
    • Mystery
    • Non-fiction
    • Romance
    • Sci-Fi
    • Tome
  • Clothes
  • Enchanter
  • Alchemist
  • Restaurant
    • Tavern
    • Diner
    • French
  • Jeweller
  • Blacksmith
  • General
  • Town
  • Brothel
  • Gunsmith
  • Guild

Items

  • Relic
    • Armor
    • Book
    • Potion
    • Jewel
    • Other
  • Weapon
    • Axe
    • Bow
    • Dagger
    • Hammer
    • Mace
    • Spear
    • Sword

Pathfinder Races

  • Anadi
  • Android
  • Automaton
  • Azarketi
  • Catfolk
  • Conrasu
  • Dhampir
  • Dwarf
  • Elf
  • Fetchling
  • Fleshwarp
  • Ghoran
  • Gillman
  • Gnoll
  • Gnome
  • Goblin
  • Goloma
  • Grippli
  • Halfling
  • Hobgoblin
  • Human
  • Ifrit
  • Kashrishi
  • Kitsune
  • Kobold
  • Leshy
  • Lizardfolk
  • Merfolk
  • Nagaji
  • Orc
  • Oread
  • Poppet
  • Ratfolk
  • Shisk
  • Shoony
  • Skeleton
  • Sprite
  • Strix
  • Suli
  • Sylph
  • Tengu
  • Tian
  • Undine
  • Vanara
  • Vishkanya

Dungeons & Dragons Races

Note: Accessing this library in the package uses the preface DnD for simplicity.

  • Aarakocra
  • Aasimer
  • Bugbear
  • Centaur
  • Changeling
  • Dragonborn
  • Drow
  • Duergar
  • Dwarf
  • Elf
  • Fetchling
  • Firbolg
  • Genasi
  • Gith
  • Gnome
  • Goblin
  • Goliath
  • Halfling
  • Hobgoblin
  • Human
  • Half-Elf
  • Half-Orc
  • Kalashtar
  • Kenku
  • Kobold
  • Lizardfolk
  • Loxodon
  • Minotaur
  • Orc
  • Shifter
  • Simic Hybrid
  • Svirfneblin
  • Tabaxi
  • Tiefling
  • Tortle
  • Triton
  • Vedalken
  • Warforged
  • Yuan-ti

Contributing

All are suggestions are welcome, and any additions you'd wish to make should be made as a Pull Request to the master branch. There are a few things you need to do prior to making a pull request:

Pull Request Checklist

  • Unit test coverage added
  • Black code format

Unit Test Coverage

This project uses pytest integrated with Tox to run unit tests. To run unit test coverage make sure you have Tox installed, and then run the following command: tox

Tox runs 4 different versions of python to ensure backwards capability, 3.8, 3.9, 3.10, & 3.11. To run these make sure you have the appropriate version of python installed.

Black code formatting

This project is formatted automatically with Black. Prior to making a pull request, please format your code using the follow command: black --line-length=120 .

Build Pipeline

Build Tarball

python -m build --sdist .

Publish via Twine

python -m twine upload dist/FantasyNameGenerator-<Version #>.tar.gz

About

A name generator from various worlds of fantasy

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages