Skip to main content

Rune is a terminal-based password manager for developers. Store, retrieve, update, and manage secrets securely and easily.

Project description

Rune

Are you tired of storing passwords and API keys in plain text files? Rune is a simple, developer-focused terminal vault for securely storing secrets. Each secret is encrypted with a key you provide — nothing is ever stored unencrypted, and no master password is saved.

Rune is built with a workflow developers expect: fast commands, helpful prompts, clipboard integration, and flexible configuration.


Features

  • 🔐 Per-secret encryption keys
  • 🏷️ Add, update, delete, and list secrets
  • 📋 Retrieve and auto-copy secrets to your clipboard
  • 🛠️ Configurable encryption mode, storage mode, and file location
  • ❌ Keys are never stored — lose the key, lose the secret
  • ✨ Interactive prompts for missing options

Installation

pip install rune

Usage

All commands prompt for missing values — names, secrets, and keys — making them easy to use interactively.

Add a Secret

rune add --name <name> --secret <secret> --key <key>

If any option is omitted, Rune will prompt:

  • Name
  • Secret (input hidden)
  • Encryption key (input hidden; must be remembered)

Example:

rune add -n github -s myToken123 -k myKey

Retrieve a Secret

rune get --name <name> --key <key>
  • Secret is automatically copied to your clipboard.
  • Add --show to also display it in the terminal.

Example:

rune get -n github -k myKey --show

Update a Secret

rune update --name <name> --secret <new_secret> --key <key>

Delete a Secret

rune delete --name <name>

You will be prompted for the name if omitted.


List All Secrets

rune list

Secrets are shown in a numbered list:

[1] github
[2] aws
[3] database

Configuration

Rune allows you to configure encryption mode, storage mode, and the secrets file location.

rune config --encryption <mode> --storage-mode <mode> --secrets-file <path>

Supported values:

  • --encryption: no-encryption, aesgcm
  • --storage-mode: local
  • --secrets-file: Any file path (e.g., ~/.secrets.json)

Example:

rune config -e no-encryption -s local -f ~/.rune_secrets.json

Run:

rune config -h

for full help.


Security Notes

  • Each secret is encrypted with its own key.
  • Keys are never stored — you must provide the correct key to decrypt or modify a secret.
  • Forget the key → the secret is permanently lost.
  • Secrets are stored locally in an encrypted file.

Example Workflow

# Add
rune add -n stripe -s sk_live_abc -k myStrongKey

# Retrieve (copied to clipboard)
rune get -n stripe -k myStrongKey

# Update
rune update -n stripe -s newKey -k myStrongKey

# Delete
rune delete -n stripe

# List
rune list

License

Apache 2.0 License

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

rune-0.1.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rune-0.1.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file rune-0.1.0.tar.gz.

File metadata

  • Download URL: rune-0.1.0.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for rune-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d1b550062da4f9d7fcf47990c0463ba989bfc9ec045c2fc278d838d3c3bc4e17
MD5 20624126b2196768cb03a5a7aac475bc
BLAKE2b-256 703ea08f45ff4cc646cdd6f429c63ecb170979006ab98794e106a5dc1b7581d0

See more details on using hashes here.

File details

Details for the file rune-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rune-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for rune-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8bd9b288cfd0012972d33449dd470254995f01210fa211834ddf84b04230b59
MD5 47158316397e77e0f353171ec2af5075
BLAKE2b-256 abce4c73ce39a36e60e07cb699460b9b05b102a8ec37f88259df97f6f4798ad1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page