Terminal credential generator with a curses-based TUI.
Project description
Generate It
A terminal credential generator and local manager with a curses-based UI.
It can generate:
- Random passwords (choose a length and character categories)
- Random passphrases (random words separated by hyphens)
- Random usernames (adjective+noun, random characters, or word combinations)
New: Now features a secure local vault to save and manage your credentials directly from the TUI.
Install
From PyPI (recommended)
Requires Python 3.10 or later and pip.
pip install generate-it
Then run:
generate-it
From source (for development)
git clone https://github.com/j-kemble/Generate-It.git
cd Generate-It
python3 -m venv .venv
# Linux/macOS
source .venv/bin/activate
# Windows (PowerShell)
# .\venv\Scripts\Activate.ps1
pip install -e .
Then run:
generate-it
Features
Secure Vault
Generate It includes an encrypted local vault to store your generated credentials.
- Encryption: Uses AES-256 (via
cryptography) to secure your data locally. - Master Password: You create a master password on first run. This key is never stored; it unlocks your vault each session.
- Offline: Your data stays on your machine (
~/.local/share/generate-it/on Linux). - Clipboard: Quickly copy passwords or usernames with hotkeys.
Controls
-
General Navigation:
Tab/Shift-TaborArrow keys: move focusSpace: toggle checkboxes / optionsLeft/Right: adjust numeric valuesEnter: confirm actionq(orESC): quit
-
Hotkeys:
g: Generate new credentialv: Open Vault Explorer
Vault Explorer (v)
↑/↓: Navigate your saved credentialsEnter: View credential detailsc: Copy Password to clipboardu: Copy Username to clipboardd: Delete credential (requires confirmation)Esc: Close vault
Saving Credentials
When you generate a credential you will:
- Select [ Save ] (or navigate to it).
- Enter a Service Name (e.g., "GitHub").
- Enter a Username or Password (whichever wasn't generated).
- Pro Tip: Press
Tabin these fields to instantly generate a random username or password on the fly!
- Pro Tip: Press
How it works
Random passwords (characters)
- Length options: 8–64 characters
- Choose 2 or 3 categories from:
- letters
- numbers
- special characters
Random passphrases (words)
- Word options: 3–10 words
- Words are joined with hyphens (e.g.
forest-ember-spark) - Words are chosen without replacement (no repeated words within a single passphrase)
- Optional extras:
- add numbers (randomly inserted into words)
- add special characters (randomly inserted into words)
Random usernames
Three generation styles:
-
Adjective + Noun (e.g.
swift_tiger,cosmic_eagle_42)- Memorable and easy to pronounce
- Optionally add 2-3 digit suffix
- Separator options: underscore or hyphen
-
Random Characters (e.g.
a7k9m2p1,ab_3d_ef)- Maximum security and randomness
- Length: 3–25 characters
- Separator options: none, underscore, or hyphen
-
Multiple Words (e.g.
swift_tiger_eagle,forest_ocean_123)- Memorable yet more unique
- Word count: 1–3 words
- Optionally add digit suffix
- Separator options: underscore or hyphen
Custom word list
The included word list contains 1000 lowercase words.
Override the word list in one of these ways (highest priority first):
- Set
GENERATE_IT_WORDLISTto a file path - Put a
wordlist.txtin your current working directory
Otherwise, Generate It uses the bundled default word list.
License
Generate It is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file generate_it-0.2.0.tar.gz.
File metadata
- Download URL: generate_it-0.2.0.tar.gz
- Upload date:
- Size: 66.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbca267a5a4f4285ae16408477566753c79e804b60d899792d79c07ee31227fc
|
|
| MD5 |
02fa3d4c77d0ea1a4a7b92dc1bbd8431
|
|
| BLAKE2b-256 |
7f3d1f4ab53560737fa9caf335ebc6909bc10c588e76773999395125ef301dc3
|
File details
Details for the file generate_it-0.2.0-py3-none-any.whl.
File metadata
- Download URL: generate_it-0.2.0-py3-none-any.whl
- Upload date:
- Size: 50.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2d82318c6f32ee59222a0dfe81be7ef43ba6ecfa198eec9731d71f9aaeb8bc4
|
|
| MD5 |
d93a18ccc390d7e779a3e919a8640425
|
|
| BLAKE2b-256 |
3bb4b8fdbe14efa429d749bc66578d1d618ce1ba85cc22ad708c093dd8f0f997
|