Goofy Animals
A lightweight Rust library for generating fun, random names in the format adjective-adjective-animal.
Overview
Goofy Animals generates names like:
healthy-frivolous-doveglorious-meager-polar-bearthankful-elastic-clownfish
Perfect for:
- Container & machine names
- Test fixtures
- Temporary resources
- Development environments
- Anywhere you need a friendly, memorable identifier
Features
- No-std compatible - Core functionality works without the standard library
- Lightweight - Uses compile-time string parsing for small binary size
- Fast - Efficient name generation with minimal overhead
- Configurable - Optional features for different use cases
- Deterministic - Support for seeded RNG for repeatable results
Installation
Add this to your Cargo.toml:
[]
= "0.0.1"
Usage
Basic example
use generate_name;
use SeedableRng;
use ChaCha20Rng;
Deterministic names
use generate_name;
use SeedableRng;
use ChaCha20Rng;
Just the parts
If you want the individual name components:
use SeedableRng;
use ChaCha20Rng;
use generate_name_parts;
Feature flags
alloc(default): Enables thegenerate_namefunction that returns aStringtracing: Adds tracing instrumentation for debuggingexamples: Enables building the example binarygoofy-animal
Command line tool
With the examples feature enabled, you can build and run the simple CLI tool:
# Build with examples feature
# Run the binary
# Output: handsome-modest-porcupine
Or you can install the CLI tool via cargo install:
Development
This project uses a Nix flake for development environment setup. If you have Nix installed:
# Enter the development shell
Or with direnv:
License
This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.
Data
The library includes:
- 355 animal names
- 1300 adjectives
All words are in English.