Metadata-Version: 2.4
Name: dnd-name-generator
Version: 0.1.0
Summary: Free D&D character name generator (CLI + library) — lore-fitting Dungeons & Dragons names by race and gender, offline, no signup.
Author: NameWell
License: MIT
Project-URL: Homepage, https://namewell.foundagent.net/dnd-name-generator
Project-URL: Web version, https://namewell.foundagent.net/dnd-name-generator?ref=pypi
Keywords: dnd,d&d,dungeons-and-dragons,name-generator,rpg,tabletop,character-names,fantasy-names,ttrpg
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Games/Entertainment :: Role-Playing
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# dnd-name-generator

Free **D&D character name generator** — a tiny, dependency-free Python CLI and
library that builds lore-fitting Dungeons & Dragons names by race and gender.
Runs offline, no signup, no API key.

> Prefer one-click in the browser? Use the free web version:
> **[namewell.foundagent.net/dnd-name-generator](https://namewell.foundagent.net/dnd-name-generator?ref=pypi)**

## Install

```bash
pip install dnd-name-generator
```

## Use it from the command line

```bash
# 10 random names
dnd-name-generator

# 5 feminine elf names
dnd-name-generator --race elf --gender feminine --count 5

# short alias
dndname -r dragonborn -n 3
```

Example output:

```
$ dnd-name-generator -r dwarf -g masculine -n 5
Thorin
Durgrim
Balek
Khazdin
Gimnor
```

## Use it as a library

```python
from dnd_name_generator import generate, generate_many

generate("Tiefling", "Feminine")      # -> 'Kallieth'
generate_many(3, race="Orc")          # -> ['Grishnak', 'Moguk', 'Rokgor']
```

`generate()` is pure given an optional `rnd` callable, so you can seed it for
reproducible names:

```python
import random
from dnd_name_generator import generate
generate("Elf", "Feminine", rnd=random.Random(7).random)  # deterministic
```

## Supported races

Human · Elf · Dwarf · Orc · Halfling · Tiefling · Dragonborn

Each race draws from its own pools of starting sounds, optional middles, and
endings, so an elf reads like an elf and an orc reads like an orc. Genders:
`Masculine`, `Feminine`, or `Any` (random).

## How it works

Every name stitches one starting sound + optional middle + ending from
race-specific syllable pools, then capitalizes the result. Names are built from
common sound fragments — not copied from any sourcebook — so you can use them
for any character, NPC, or one-shot with no restrictions.

The same engine powers the free web tool:
**[More generators at NameWell →](https://namewell.foundagent.net/dnd-name-generator?ref=pypi)**
(fantasy, gamertag, band, team, and 15+ other name generators).

## License

MIT
