Skip to content

An inclusive random name generator for Rust that creates unique names using Persian, Arabic, and Asian names written in Latin characters.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

RustSandbox/inames

iNames Logo

iNames - Inclusive Multicultural Names Generator

CI Crates.io License

An inclusive random name generator for Rust that creates unique names using Persian, Arabic, and Asian names written in Latin characters.

Inspired by fnichol/names, this project extends the concept to include multicultural names from around the world, making it more inclusive and diverse while maintaining the same simple and effective API.

Examples

aziz-hamze
sakura-krishna
rumi-chen-1234
dalil-fatima-8472

Features

  • Generates random combinations of multicultural names
  • All names are written in Latin/English characters
  • Optional 4-digit number suffix
  • Includes names from:
    • Persian/Iranian culture
    • Arabic culture
    • East Asian cultures (Chinese, Japanese)
    • South Asian cultures (Indian, Buddhist)

Installation

Using Cargo

cargo install inames

Pre-built Binaries

Download pre-built binaries from the releases page.

From Source

git clone https://github.com/RustSandbox/inames.git
cd inames
cargo build --release
cargo install --path .

Usage

Command Line

Generate a single name:

inames

Generate multiple names:

inames --amount 5

Generate names with numbers:

inames --number
inames --number --amount 10

As a Library

use inames::{Generator, Name};

fn main() {
    // Default generator
    let mut generator = Generator::default();
    println!("{}", generator.generate().unwrap());
    
    // With numbers
    let mut generator = Generator::with_naming(Name::Numbered);
    println!("{}", generator.generate().unwrap());
    
    // Custom word lists
    let adjectives = &["aziz", "sakura", "rumi"];
    let nouns = &["hamze", "krishna", "chen"];
    let mut generator = Generator::new(adjectives, nouns, Name::Plain);
    println!("{}", generator.generate().unwrap());
}

Name Sources

The name lists include carefully selected names from:

  • Persian names (both modern and classical)
  • Arabic names (transliterated to Latin script)
  • Japanese names
  • Chinese names
  • Indian names
  • Buddhist/Sanskrit terms

All names are respectfully chosen and transliterated to be easily readable in Latin characters.

Why This Matters

Read the essay "The Names We Choose" for thoughts on why multicultural naming in programming is more important than it might seem.

Development

Use just to see available development commands:

just --list

License

MIT OR Apache-2.0

About

An inclusive random name generator for Rust that creates unique names using Persian, Arabic, and Asian names written in Latin characters.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •