engish

Crates.ioengish
lib.rsengish
version0.3.9
created_at2022-08-24 14:47:54.08526+00
updated_at2025-12-09 19:57:35.116645+00
descriptionA language utility for sampling and building words.
homepage
repositoryhttps://github.com/fishykins/engish/
max_upload_size
id651664
size120,176
Fishy (fishykins)

documentation

README

Engish

Latest Version docs Minimum Supported Rust Version

A strongly opinionated crate that supports messing around with language (in ways you probably shouldn't).

About The Project

This project provides functionality for procedurally building pseudo words, as well as basic dictionary sampling. Nouns, Verbs and Adjectives are defined and constructable, with grammatical rules available for changing tense, pluralizing etc. Due to the nature of "rules" and the English language, you should not use this for anything that falls outside the remit of "silly".

The only data that comes with this crate is for letter frequencies- if you want to build a dictionary then you need to provide your own data sets.

Getting Started

As with most rust crates, this can be imported to a project using crates.io. Follow the link for more infomation.

Usage

First, add engish to your Cargo.toml. To use the word builders, you'll need to enable the builders feature.

[dependencies]
engish = { version = "0.3", features = ["builders"] }

(Note: check crates.io for the latest version number.)

Here is an example of how to generate a pseudo-word using the PropperNounBuilder:

use engish::prelude::*;

fn main() {
    // Build a new 'propper' noun with a length between 5 and 10 characters.
    let noun = PropperNounBuilder::new()
        .build();

    println!("Generated proper noun: {}", noun);
}

Optional features

  • [builders] - adds functionality for word building.

License

Licensed under either of

at your option.

Contribution

Contributions are both welcome and appreciated!

Contributions in any form (issues, pull requests, etc.) to this project must adhere to Rust's Code of Conduct.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Contact

Caspar Green - caspar.m.green@gmail.com

Project Link: https://github.com/fishykins/engish

(back to top)

Commit count: 13

cargo fmt