/uwuifyy

A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

Primary LanguageRustMIT LicenseMIT

uwuifyy

build crate.io downloads license

A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

Logo Credits: Jade Nelson

Table Of Contents

About

Have you ever wanted to uwu'ify text and large files at blazing fast speeds? Well! You came to the right place! uwuifyy allows you to uwu'ify text and files from within your own terminal in an extremely fast manner!

Features

  • BLAZINGLY FAST (Check out -> Benchmarks)
  • Seeded by default to allow for reproducible results
  • Excludes URL's & Emails
  • UwU'ify files available locally on disk
  • Completely customisable modifiers

Installation

Homebrew

For macOS users, installation through Homebrew is recommended.

$ brew tap sgoudham/tap
$ brew install uwuifyy

AUR

Arch Linux users can install uwuifyy through the AUR using an AUR helper.

$ paru uwuifyy

Binaries

Binaries for Windows, macOS & Linux are available with every single release

Windows

  1. Download either uwuifyy-x86_64-pc-windows-msvc.zip or uwuifyy-x86_64-pc-windows-gnu.zip

  2. Extract into \bin folder at C:\your\path\here\

C:
|__your
    |__path
        |__here
            |__bin
                |__uwuifyy.exe
  1. Set uwuifyy.exe in your path to access it globally
$ setx path "%path%;C:\your\path\here\bin"
  1. Refresh command line and verify installation
$ uwuifyy --help

Linux \ macOS

  1. Download uwuifyy-x86_64-unknown-linux-gnu.tar.gz or uwuifyy-x86_64-unknown-linux-musl.tar.gz or uwuifyy-x86_64-apple-darwin.tar.gz

  2. Extract into your local directory

# Linux
$ tar -xf uwuifyy-x86_64-unknown-linux-gnu.tar.gz
$ tar -xf uwuifyy-x86_64-unknown-linux-musl.tar.gz

# macOS
$ tar -xf uwuifyy-x86_64-apple-darwin.tar.gz
  1. Move into ~/bin
# Create ~/bin if it does not exist
$ mkdir -p ~/bin
$ mv uwuifyy ~/bin
  1. Set permissions for executable
$ chmod 755 ~/bin/uwuifyy
  1. Update PATH to use globally
# Linux
$ echo 'export PATH=~/bin:$PATH' >> ~/.bashrc 
$ source ~/.bashrc

# macOS
$ echo 'export PATH=~/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile
  1. Verify installation
$ uwuifyy --version
uwuifyy 0.3.0

Rust \ Cargo

Alternatively, if using Rust's package manager, Cargo, all that is needed is

$ cargo install uwuifyy

If you do not have Cargo available on your machine, you can download it as part of Rust here

Usage

$ uwuifyy --help

USAGE:
    uwuifyy.exe [OPTIONS] <--text <TEXT>|--infile <FILE>>

OPTIONS:
    -t, --text <TEXT>         The text to uwu'ify
    -i, --infile <FILE>       The file to uwu'ify
    -o, --outfile <FILE>      The file to output uwu'ified text
        --ascii-only          The uwu'ified text will only include ASCII faces
        --unicode-only        The uwu'ified text will only include UTF-8 faces
    -r, --random              The flag to enable randomized uwu'ified text
    -w, --words <VALUE>       The modifier to determine how many words to be uwu'ified [default: 1]
    -f, --faces <VALUE>       The modifier for uwu faces e.g hello -> (^-^*)/ hewwo [default: 0.05]
    -a, --actions <VALUE>     The modifier for actions e.g *shuffles over* [default: 0.125]
    -s, --stutters <VALUE>    The modifier for stutters e.g b-baka! [default: 0.225]
    -h, --help                Print help information
    -V, --version             Print version information

Text Input to Text Output

Text Input to File Output

File Input to File Output

Benchmarks

  • Benchmarks/Tests carried out on a Dell XPS 15
    • CPU: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
    • SSD: NVMe Micron 2300 1TB

The Complete Works of William Shakespeare

  • Dataset
  • Size: 5.46 MiB
  • Time Taken: < 1s

300k+ Tokyo 2020\21 Olympics Tweets

  • Dataset
  • Size: 98.54 MiB
  • Time Taken: 1s

3.5M Tiktok Google Play Reviews

  • Dataset
  • Size: 543.02 MiB
  • Time Taken: 4s

3.6M Amazon Reviews And Ratings

  • Dataset
  • Size: 1.6 GiB
  • Time Taken: 21s
  • DISCLAIMER: The input is a 1.6GB file and the output is a 2.2GB file. They are not included in the repo.

License

MIT License

Acknowledgement

This project is inspired from one of many existing normal to uwu converters: Uwuifier