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.
aziz-hamze
sakura-krishna
rumi-chen-1234
dalil-fatima-8472
- 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)
cargo install inames
Download pre-built binaries from the releases page.
git clone https://github.com/RustSandbox/inames.git
cd inames
cargo build --release
cargo install --path .
Generate a single name:
inames
Generate multiple names:
inames --amount 5
Generate names with numbers:
inames --number
inames --number --amount 10
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());
}
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.
Read the essay "The Names We Choose" for thoughts on why multicultural naming in programming is more important than it might seem.
Use just
to see available development commands:
just --list
MIT OR Apache-2.0