**kycli** is a high-performance Python CLI toolkit built with Cython for speed.
Project description
🔑 kycli — A Robust CLI Key-Value Store
kycli is a lightweight, high-performance Python CLI utility to save, get, list, and audit key-value pairs directly from your terminal. Built with Cython and SQLite for speed and reliability.
📦 Installation
pip install kycli
Or, clone and install locally:
git clone https://github.com/balakrishna-maduru/kycli.git
cd kycli
python3 -m pip install -e .
🚀 Usage
✅ Save a value
kys <key> <value>
Safety Features:
- Automatically normalizes keys to lowercase and trims whitespace.
- Overwrite Protection: Asks for confirmation (Y/N) if the key already exists with a different value.
- Integrity: Prevents saving empty keys or values.
📥 Get current value
kyg <key>
- Supports exact key matching.
- Supports Regex patterns (e.g.,
kyg "user_.*").
📜 Audit & History
kyv # View full audit history (no arguments)
kyv -h # View full audit history (identical to kyv)
kyv <key> # View the latest historical value for a specific key
- Every change is timestamped and logged in an audit trail.
📃 List Keys
kyl # List all keys
kyl "pattern" # List keys matching a regex
❌ Delete
kyd <key>
📂 Portability
kye data.csv # Export to CSV (default)
kye data.json json # Export to JSON
kyi backup.csv # Import from file (auto-detects format)
- Atomic Exports: Uses temporary files and atomic moves to ensure your exports are never corrupted during a crash.
🛠 Advanced Features
- Concurrency Support: Built-in retry mechanism for SQLite database locks.
- Persistence: Data is stored in
~/kydata.db. - Speed: Core logic is compiled with Cython for maximum throughput.
Author
👤 Balakrishna Maduru
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kycli-0.0.5.tar.gz
(114.3 kB
view details)
File details
Details for the file kycli-0.0.5.tar.gz.
File metadata
- Download URL: kycli-0.0.5.tar.gz
- Upload date:
- Size: 114.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3d482016b968719c07cb03b79d36885173ccb0254a29888864fdcd0b6edfffe
|
|
| MD5 |
db3fadf6e3add85a9c34e9a2b01ca2e0
|
|
| BLAKE2b-256 |
d7abf4e48ddee65df5a6c3280858cd51672927c051f9a0310bafb8316c7d4660
|
Provenance
The following attestation bundles were made for kycli-0.0.5.tar.gz:
Publisher:
publish.yml on balakrishna-maduru/kycli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kycli-0.0.5.tar.gz -
Subject digest:
a3d482016b968719c07cb03b79d36885173ccb0254a29888864fdcd0b6edfffe - Sigstore transparency entry: 788330829
- Sigstore integration time:
-
Permalink:
balakrishna-maduru/kycli@d1605fed9ec0c56e24b98b2a4422684e4bca2c4c -
Branch / Tag:
refs/tags/0.0.5 - Owner: https://github.com/balakrishna-maduru
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d1605fed9ec0c56e24b98b2a4422684e4bca2c4c -
Trigger Event:
push
-
Statement type: