rust-petname
A petname library and command-line tool in Rust. Dustin Kirkland's petname project is the inspiration for this project. The word lists and command-line UX here are taken from there. Check it out! Dustin also maintains libraries for Python 2 & 3, and Golang.
Command-line utility
$ petname --help
rust-petname 1.0.0
Gavin Panella <gavinpanella@gmail.com>
Generate human readable random names.
USAGE:
petname [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-s, --separator <SEP> Separator between words [default: -]
-w, --words <WORDS> Number of words in name [default: 2]
Based on Dustin Kirkland's petname project <https://github.com/dustinkirkland/petname>.
$ petname
untaunting-paxton
$ petname -s _ -w 3
suitably_overdelicate_jamee
Library
There's a petname::Petnames struct:
You can populate this with your own word lists, but there's a convenient default which uses the word lists from upstream petname. The other thing you need is a random number generator from rand:
let mut rng = thread_rng;
let pname = default.generate;
There's also a convenience function that'll do this for you:
let pname = petname
It's probably best to use the generate method if you're building more than a
handful of names.
Getting Started
To install the command-line tool:
- Install cargo,
- Install this crate:
cargo install petname.
Alternatively, to hack the source:
- Install cargo,
- Clone this repository,
- Build it:
cargo build.
Running the tests
After installing the source (see above) run tests with: cargo test.
License
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.