{"id":20961646,"url":"https://github.com/earthmanmuons/spellout","last_synced_at":"2026-02-17T01:32:07.454Z","repository":{"id":170191149,"uuid":"646279186","full_name":"EarthmanMuons/spellout","owner":"EarthmanMuons","description":"Convert characters into spelling alphabet code words ","archived":false,"fork":false,"pushed_at":"2025-03-24T11:32:32.000Z","size":244,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-02T19:20:58.274Z","etag":null,"topics":["cli","formatting","humanize","rust","text"],"latest_commit_sha":null,"homepage":"https://earthmanmuons.github.io/spellout/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EarthmanMuons.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-27T21:35:51.000Z","updated_at":"2025-01-02T21:35:08.000Z","dependencies_parsed_at":"2023-07-15T18:17:04.048Z","dependency_job_id":"8948a73d-b0e5-45e6-90d1-1cbd8bd1b941","html_url":"https://github.com/EarthmanMuons/spellout","commit_stats":null,"previous_names":["earthmanmuons/spellout"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarthmanMuons%2Fspellout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarthmanMuons%2Fspellout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarthmanMuons%2Fspellout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EarthmanMuons%2Fspellout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EarthmanMuons","download_url":"https://codeload.github.com/EarthmanMuons/spellout/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254094816,"owners_count":22013647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","formatting","humanize","rust","text"],"created_at":"2024-11-19T02:15:04.175Z","updated_at":"2026-02-17T01:32:02.428Z","avatar_url":"https://github.com/EarthmanMuons.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spellout\n\n**Convert characters into spelling alphabet code words.**\n\n[![CI status](https://img.shields.io/github/actions/workflow/status/EarthmanMuons/spellout/on-pull-request.yml?event=merge_group\u0026label=ci\u0026logo=github)](https://github.com/EarthmanMuons/spellout/actions?query=event%3Amerge_group)\n\n---\n\nA command-line application for transforming text strings into corresponding code\nwords based on predefined [spelling alphabets][], like the NATO phonetic\nalphabet. These alphabets are designed to enhance verbal clarity, especially\nwhen spelling out words over low-fidelity voice channels.\n\n[spelling alphabets]: https://en.wikipedia.org/wiki/Spelling_alphabet\n\n## Examples\n\n    $ spellout Example123!\n    ECHO x-ray alfa mike papa lima echo One Two Tree Exclamation\n\n    $ spellout --alphabet us-financial Example123!\n    EDDIE xavier adam mary peter larry eddie One Two Three Exclamation\n\n    $ spellout --nonce-form Rust\n    'R' as in ROMEO, 'u' as in uniform, 's' as in sierra, 't' as in tango\n\n    $ spellout --verbose Aaron \"Bull Schaefer\"\n    Aaron -\u003e ALFA alfa romeo oscar november\n    Bull Schaefer -\u003e BRAVO uniform lima lima Space SIERRA charlie hotel alfa echo foxtrot echo romeo\n\n    $ spellout -- --help\n    Dash Dash hotel echo lima papa\n\n    $ spellout \"So 📞 me, maybe?\"\n    SIERRA oscar Space 📞 Space mike echo Comma Space mike alfa yankee bravo echo Question\n\nspellout will also read lines from standard input (stdin):\n\n    $ cat secrets | spellout --verbose\n    4PN%mAnt -\u003e Fower PAPA NOVEMBER Percent mike ALFA november tango\n    5Jzd}y(d -\u003e Fife JULIETT zulu delta RightBrace yankee LeftParens delta\n    BTW{2J~l -\u003e BRAVO TANGO WHISKEY LeftBrace Two JULIETT Tilde lima\n\n## Usage\n\nIn operation, spellout preserves the original capitalization of letters by\nreturning either lowercase or uppercase code words. It similarly converts known\ndigits and other symbols into code words, while unrecognized characters are\nreturned unconverted.\n\nEach string will have its output printed on a separate line. Using `--` will\nstop the program from interpreting subsequent arguments as options.\n\n    Usage: spellout [OPTIONS] [STRING]...\n\n    Arguments:\n      [STRING]...  An input character string to convert into code words\n\n    Options:\n      -a, --alphabet \u003cALPHABET\u003e    Which spelling alphabet to use for the conversion\n      -o, --overrides \u003cOVERRIDES\u003e  Define overrides for spelling alphabet code words\n          --dump-alphabet          Display the spelling alphabet and exit\n      -n, --nonce-form             Expand output into nonce form like \"'A' as in ALFA\"\n      -v, --verbose                Use verbose output\n      -h, --help                   Print help (see more with '--help')\n      -V, --version                Print version\n\n### Environment Variables\n\nSome options can alternatively be provided by setting environment variables (the\ncommand-line arguments take precedence). To set the variables, use:\n`export VARNAME=value`, where `VARNAME` is the name of the environment variable\nand `value` is the desired setting.\n\n##### `SPELLOUT_ALPHABET`\n\nThis environment variable determines the spelling alphabet to use for the\nconversion.\n\nDefault: `nato`\n\nPossible values:\n\n- `jan`: Use the JAN (Joint Army/Navy) spelling alphabet.\n- `lapd`: Use the LAPD (Los Angeles Police Department) spelling alphabet.\n- `nato`: Use the NATO (North Atlantic Treaty Organization) spelling alphabet.\n  This is the default setting.\n- `royal-navy`: Use the Royal Navy spelling alphabet.\n- `us-financial`: Use the United States Financial Industry spelling alphabet.\n- `western-union`: Use the Western Union spelling alphabet.\n\n##### `SPELLOUT_OVERRIDES`\n\nDefault: None\n\nThis environment variable allows you to define overrides for spelling alphabet\ncode words. Provide a comma-separated list of _character=word_ pairs like\n`\"a=apple,b=banana\"`.\n\n##### `SPELLOUT_NONCE_FORM`\n\nDefault: `false`\n\nSetting this environment variable to any non-falsey value enables the nonce form\noutput, which expands conversions into a form like \"'A' as in ALFA\".\n\n##### `SPELLOUT_VERBOSE`\n\nDefault: `false`\n\nSetting this environment variable to any non-falsey value enables the verbose\noutput, which will include the input characters along with each line's output.\n\n## Installation\n\n### Precompiled Binaries\n\nPrecompiled binaries for various architectures are provided in the [Releases][]\nsection of our GitHub repository. Download the appropriate release archive for\nyour system and extract the contents.\n\nThe extracted directory contains:\n\n- The `spellout` binary, which is the main application. Ensure to place it in a\n  directory listed in your system's PATH to make it globally accessible.\n- Auxiliary assets, including shell completions and a manual page in ROFF\n  format. Install these according to your operating system's standard\n  instructions.\n\n[Releases]: https://github.com/EarthmanMuons/spellout/releases\n\n### Building from Source\n\nAfter [installing Rust][], to build the binary and install it on your system\nunder the `~/.cargo/bin/` directory, run the following command:\n\n```\ncargo install --locked --git https://github.com/EarthmanMuons/spellout/ spellout\n```\n\n[installing Rust]: https://www.rust-lang.org/learn/get-started\n\n## Contribution\n\nIf you would like to contribute to the project, please read our [guide for\ncontributors][CONTRIBUTING.md].\n\n[CONTRIBUTING.md]:\n  https://github.com/EarthmanMuons/spellout/blob/main/CONTRIBUTING.md\n\n## Credits\n\nspellout was inspired by the output from the no-longer-in-existence [WinGuides\nSecure Password Generator][WinGuides] that disappeared back in January 2007, and\nthe similarly inspired [Lingua::Alphabet::Phonetic::Password][Lingua] Perl\nmodule written by [James FitzGibbon][@jf647].\n\n[WinGuides]:\n  https://web.archive.org/web/20070106073206/www.winguides.com/security/password.php\n[Lingua]: https://github.com/jf647/Lingua-Alphabet-Phonetic-Password/\n[@jf647]: https://github.com/jf647/\n\n## License\n\nspellout is released under the [Zero Clause BSD License][LICENSE] (SPDX: 0BSD).\n\nCopyright \u0026copy; 2023 [Aaron Bull Schaefer][EMAIL] and contributors\n\n[LICENSE]: https://github.com/EarthmanMuons/spellout/blob/main/LICENSE\n[EMAIL]: mailto:aaron@elasticdog.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearthmanmuons%2Fspellout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fearthmanmuons%2Fspellout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fearthmanmuons%2Fspellout/lists"}