This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: sunset
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-3.13 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 Exploreri: Import credentials from CSVe: Export credentials to CSV
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
CSV Import/Export
- Export: Press
e, choose an export format, then enter a file path. If the file already exists, you must confirm overwrite.- If any credentials fail to decrypt during export, you'll see a list of skipped entries.
- Import: Press
i, choose an import format (orauto), then enter a CSV file path.- The importer detects duplicates (case-insensitive match on service name + username) and asks whether to merge (overwrite) or ignore them.
- Rows with missing required fields or unsupported record types are skipped with an issue report.
- Supported formats:
generic(browser-style):name,url,username,password,notebitwarden: supports login CSV fields (name,login_username,login_password,type, etc.). Non-login item types are skipped.apple: supports Apple-style title/url/username/password exports (with optional notes/OTP columns).nordpass: supports NordPass CSV template columns.
- Data model note: The vault currently stores only
service,username, andpassword.- During export, unsupported provider fields (folder, notes, TOTP, cards, custom fields, etc.) are emitted as empty/default values.
- During import, unsupported/non-credential rows are ignored with a reason.
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.
Metadata
Release files for generate-it 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| generate_it-0.2.2.tar.gz | 79.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| generate_it-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 140.5 kB
Release files / generate_it-0.2.2.tar.gz
| Download URL | generate_it-0.2.2.tar.gz |
|---|---|
| Size | 79.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
750a78119a89edc38ca102b9378b4f0ef911f656982de2ecf886ebb21136ea8a
|
|
BLAKE2b-256 checksum How to use checksums |
bba573a204fde06137fc81285938d8c16b65f729a0a83d788f1a5a5c7610839e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / generate_it-0.2.2-py3-none-any.whl
| Download URL | generate_it-0.2.2-py3-none-any.whl |
|---|---|
| Size | 60.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c1bef26b5a3ee9966a782fb90db2070487bfa87ed9c26e34c65dda66f3ffc88
|
|
BLAKE2b-256 checksum How to use checksums |
1479d419e5cd91396970c1b41b697554e66a7b857fd0b13a4ce1ae03d7194328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|