Skip to main content

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 --show is 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

rune-0.2.0.tar.gz (20.2 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.2.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

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

Hashes for rune-0.2.0.tar.gz
Algorithm Hash digest
SHA256 011cb645a6a2dc7eaa3e12d43a53a888b4ff7146b61643377fd0a104be5cbc8f
MD5 ad3ed3ec325ea302a559615fc524a855
BLAKE2b-256 fe01c1c4f2119cac627e2dc0a038945c91f91ddf54cc46a8a85565435782cbf4

See more details on using hashes here.

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

Hashes for rune-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2a65f3d4c6095636d8cf3981be821f88ce00bc6896d89fb992782d65729060a
MD5 b7c9371bf2bcf1f0ea2925c324a7519c
BLAKE2b-256 a6263d4bacf93f9eda934f69bbfd0dae4df2144db884afcd4ff3537ba7fda487

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