Skip to content

Latest commit

 

History

History
124 lines (89 loc) · 2.94 KB

File metadata and controls

124 lines (89 loc) · 2.94 KB
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