A lightweight secret storage vault with CLI and Python API. Stores secrets in encrypted files with master password secured via OS keychain (keyring).
Project description
lbx - Lock Box
A lightweight secret storage vault with CLI and Python API. Stores secrets in encrypted files with master password secured via OS keychain.
Features
- Secure Encryption: AES-256 encryption with master password protection
- Cross-Platform: Works on Windows, macOS, and Linux
- Dual Interface: Both CLI and Python API available
- Keychain Integration: Master password stored securely in OS keychain
- Simple Workflow: Intuitive commands for daily use
- Minimal Dependencies: Lightweight and secure
Installation
pipx install lbx
For additional installation methods, see the Installation Guide.
Quick Start
CLI Usage
# Create a new vault
lbx vault init
# Add a secret
lbx secret add github token --value ghp_xxxxxx
# Retrieve a secret
lbx secret get github token
# Update a secret
printf "new-value" | lbx secret update github token
# List services and secrets
lbx service list
lbx secret list
lbx secret list --service github
# Rename or move secrets
lbx secret rename github token api_key
lbx secret move github api_key gitlab
# Lock or delete the vault
lbx vault lock
lbx vault delete
Python API
from lbx import Lbx
vault = Lbx()
vault.add_secret("github", "token", "value")
entry = vault.get_secret("github", "token")
print(entry.value)
vault.list_services()
vault.list_secrets()
For complete examples and tutorials, see the Quick Start Guide.
Use Cases
- Development Teams: Store API keys, database credentials, and service tokens securely
- DevOps & CI/CD: Manage secrets in deployment pipelines and infrastructure automation
- Personal Projects: Keep sensitive configuration data encrypted and organized
- Security-Conscious Users: Replace plain-text config files with encrypted secret storage
Documentation
Complete documentation is available at: https://jd-35656.github.io/lbx/latest/
- Installation Guide - Detailed installation instructions
- Quick Start - Get started in minutes
- CLI Reference - Complete command documentation
- API Reference - Python API documentation
- Contributing - How to contribute
Requirements
- Python 3.10 or higher
- Windows, macOS, or Linux
- OS keychain support (automatic)
Contributing
Contributions are welcome! Please read the Contributing Guide for details on our development process, coding standards, and how to submit pull requests.
License
MIT License - see LICENSE file for details.
Support
- Documentation: https://jd-35656.github.io/lbx/latest/
- PyPI Package: pypi.org/project/lbx
- Bug Reports: GitHub Issues
- Discussions: GitHub Discussions
© 2025 Jitesh Sahani (JD)
📧 jitesh.sahani@outlook.com
"Your secrets are safe, your mind at peace."
🐺 Crafted by a dreamer, for dreamers 🐺
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 lbx-1.2.0.tar.gz.
File metadata
- Download URL: lbx-1.2.0.tar.gz
- Upload date:
- Size: 61.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c68e62e9af17196a90eb8a1cd23e6f5937a7dcafd82ba1bb9f92c0ef98868085
|
|
| MD5 |
3778b868d641164ac50e584e601b017d
|
|
| BLAKE2b-256 |
4e20746bfe9d8785bb16e08187ba834bb32c6e4de4d98d3baacabcf48e4f36de
|
Provenance
The following attestation bundles were made for lbx-1.2.0.tar.gz:
Publisher:
release.yml on jd-35656/lbx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lbx-1.2.0.tar.gz -
Subject digest:
c68e62e9af17196a90eb8a1cd23e6f5937a7dcafd82ba1bb9f92c0ef98868085 - Sigstore transparency entry: 1205743151
- Sigstore integration time:
-
Permalink:
jd-35656/lbx@cf7481bc1561cb772d219f85d6dbf64d5f8883bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jd-35656
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf7481bc1561cb772d219f85d6dbf64d5f8883bb -
Trigger Event:
schedule
-
Statement type:
File details
Details for the file lbx-1.2.0-py3-none-any.whl.
File metadata
- Download URL: lbx-1.2.0-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ed45bb65f0eec677a2cffd1c3ac7884659e57167aa80b8326d278791bb72bed
|
|
| MD5 |
e0eedd69003d7af536b94b595f92b5e4
|
|
| BLAKE2b-256 |
f68dd18dfa811a335ef3d00b868fdc404a8a66076a2574e58c0c06b2d15a5b86
|
Provenance
The following attestation bundles were made for lbx-1.2.0-py3-none-any.whl:
Publisher:
release.yml on jd-35656/lbx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lbx-1.2.0-py3-none-any.whl -
Subject digest:
4ed45bb65f0eec677a2cffd1c3ac7884659e57167aa80b8326d278791bb72bed - Sigstore transparency entry: 1205743171
- Sigstore integration time:
-
Permalink:
jd-35656/lbx@cf7481bc1561cb772d219f85d6dbf64d5f8883bb -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jd-35656
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf7481bc1561cb772d219f85d6dbf64d5f8883bb -
Trigger Event:
schedule
-
Statement type: