High-performance Valkey client with automatic authentication and multi-tenancy
Project description
Kachy Valkey Python Client
High-performance Valkey client with automatic authentication and multi-tenancy support for Python.
Installation
pip install kachy-valkey
Quick Start
import os
import kachy
# Initialize with your access key
kachy.init(os.environ.get("KACHY_ACCESS_KEY"))
# Basic operations
kachy.set("greeting", "Hello, World!")
kachy.set("user:123:name", "John Doe")
kachy.set("session:abc", "active", 3600) # 1 hour expiration
# Retrieve values
greeting = kachy.get("greeting")
user_name = kachy.get("user:123:name")
session = kachy.get("session:abc")
print(f"Greeting: {greeting}")
print(f"User name: {user_name}")
print(f"Session: {session}")
# Check if keys exist
exists_greeting = kachy.exists("greeting")
print(f"Greeting exists: {exists_greeting}")
# Get TTL
ttl = kachy.ttl("session:abc")
print(f"Session TTL: {ttl} seconds")
# Cleanup
kachy.delete("greeting")
kachy.delete("user:123:name")
kachy.delete("session:abc")
# Close connection
kachy.close()
Advanced Operations
Custom Valkey Commands
# Hash operations
kachy.valkey("HMSET", "user:123:profile", "age", "30", "city", "New York")
profile = kachy.valkey("HMGET", "user:123:profile", "age", "city")
print(f"User profile: {profile}")
# List operations
kachy.valkey("LPUSH", "notifications:123", "Welcome message")
kachy.valkey("LPUSH", "notifications:123", "System update")
notifications = kachy.valkey("LRANGE", "notifications:123", 0, -1)
print(f"Notifications: {notifications}")
Pipeline Operations
# Batch operations for better performance
with kachy.pipeline() as pipe:
pipe.set("batch:1", "value1")
pipe.set("batch:2", "value2")
pipe.set("batch:3", "value3")
results = pipe.execute()
print(f"Pipeline results: {results}")
Configuration
Configure the client using environment variables:
KACHY_ACCESS_KEY: Your authentication access key (required)KACHY_BASE_URL: API base URL (default: https://api.klache.net)KACHY_TIMEOUT: Request timeout in seconds (default: 30)KACHY_MAX_RETRIES: Maximum retry attempts (default: 3)KACHY_RETRY_DELAY: Delay between retries in seconds (default: 1.0)KACHY_POOL_SIZE: Connection pool size (default: 10)
API Reference
| Operation | Method | Description |
|---|---|---|
set |
kachy.set(key, value, ex?) |
Set key-value pair with optional expiration |
get |
kachy.get(key) |
Get value by key |
delete |
kachy.delete(key) |
Delete a key |
exists |
kachy.exists(key) |
Check if key exists |
expire |
kachy.expire(key, seconds) |
Set expiration for key |
ttl |
kachy.ttl(key) |
Get time to live for key |
valkey |
kachy.valkey(command, *args) |
Execute any Valkey command |
pipeline |
kachy.pipeline() |
Create pipeline for batch operations |
Requirements
- Python 3.7+
- requests >= 2.25.0
Development
# Clone the repository
git clone https://github.com/Klug-Labs/kachy-valkey-python.git
cd kachy-valkey-python
# Install in development mode
pip install -e .
# Run tests
python -m pytest tests/
License
MIT License - see LICENSE file for details.
Support
- Documentation: https://docs.klache.net
- API Status: https://status.klache.net
- Support Email: support@klache.net
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
kachy_valkey-0.1.8.tar.gz
(10.5 kB
view details)
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 kachy_valkey-0.1.8.tar.gz.
File metadata
- Download URL: kachy_valkey-0.1.8.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9be7df4ec290cf099f70f42c684ec29d087b6a48d551858627f7ef5a056e126
|
|
| MD5 |
5dcb8d3719f778a52ec72666df0372f8
|
|
| BLAKE2b-256 |
249c328ec1773491d7b72e0a8513582996013549e92e6e3d1fb259ec2d958aec
|
File details
Details for the file kachy_valkey-0.1.8-py3-none-any.whl.
File metadata
- Download URL: kachy_valkey-0.1.8-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed482eb1992ef075fd89567aadeea9253fd547f82a5120fc1a511d05d1f76497
|
|
| MD5 |
9f58c6da23832501565193a773216a33
|
|
| BLAKE2b-256 |
900e6566bc6de1979638334d3deb3d6f67a8c604b934b9804be31d69db53d298
|