Rune is a cli credential manager for developers. Store, retrieve, update, and manage secrets securely and easily.
Project description
Rune — Encrypted Local Secret Vault (CLI)
Rune is a tiny, dependency-light CLI tool for storing secrets locally on your machine. Secrets are organized by name and optional namespaces, and can be copied to clipboard securely without printing them to the terminal.
Features
- Store secrets with any number of fields (
host,user,password, etc.) - Organize secrets in namespaces (
db/prod/mydb) - AES-GCM encryption (or plaintext mode)
- Secure prompts (values are hidden)
- Retrieve secrets interactively
- Copy secrets directly to the clipboard without revealing them
- Minimal configuration
- Simple JSON-based storage
Installation
pip install rune
Basic Usage
Add a secret
rune add -n db/prod/mydb -f host,port,user,password
You will be prompted securely for each field value and for the encryption key (unless provided).
Names & Namespaces
You can provide namespaces using slashes:
db/prod/mydb
└─ namespace: db/prod
└─ name: mydb
Rune automatically splits these internally.
Commands
add
Add a new secret.
rune add -f field1,field2,... [-n name] [-k key]
Example:
rune add -f username,password -n github/personal
get
Retrieve a secret (copies to clipboard).
rune get -n github/personal
This does NOT print the secret unless you add:
--show
Example:
$ rune get -n github/personal
[1] - username
[2] - password
Select field to copy (q to cancel):
Pick a number, and that field is copied to the clipboard.
update
Modify an existing secret.
rune update -f user,password -n github/personal
Only the specified fields are updated.
delete
Delete a secret.
rune delete -n github/personal
ls
List all secrets.
rune ls
Example output:
[1] db/prod/mydb
[2] github/personal
[3] redis/dev/cache
Interactive Mode
rune ls -i
Lets you select an entry and directly open it via get.
config
Configure Rune’s behavior.
rune config [--encryption aesgcm|no-encryption] [--storage-mode local] [--secrets-file path]
Examples:
Set encryption mode:
rune config -e aesgcm
Change secrets location:
rune config -f ~/.mysecrets.json
whereis
Display paths to the settings file and secrets file:
rune whereis
Example output:
settings: /home/user/.config/rune/settings.json
secrets: /home/user/.local/share/rune/secrets.json
Clipboard Behavior
Rune uses pyperclip to copy retrieved secrets directly to your clipboard.
- Nothing is displayed unless
--showis used. - You must select the field to copy.
- Copying is interactive to avoid accidental exposure.
Storage
Rune stores:
- encrypted (or plaintext) secrets
- user configuration (settings)
in JSON files in your user directory.
Use rune whereis to locate them.
License
Apache 2.0.
See LICENSE file.
Project details
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 rune-0.2.0.tar.gz.
File metadata
- Download URL: rune-0.2.0.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
011cb645a6a2dc7eaa3e12d43a53a888b4ff7146b61643377fd0a104be5cbc8f
|
|
| MD5 |
ad3ed3ec325ea302a559615fc524a855
|
|
| BLAKE2b-256 |
fe01c1c4f2119cac627e2dc0a038945c91f91ddf54cc46a8a85565435782cbf4
|
File details
Details for the file rune-0.2.0-py3-none-any.whl.
File metadata
- Download URL: rune-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2a65f3d4c6095636d8cf3981be821f88ce00bc6896d89fb992782d65729060a
|
|
| MD5 |
b7c9371bf2bcf1f0ea2925c324a7519c
|
|
| BLAKE2b-256 |
a6263d4bacf93f9eda934f69bbfd0dae4df2144db884afcd4ff3537ba7fda487
|