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.1.tar.gz
(10.6 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.1.tar.gz.
File metadata
- Download URL: kachy_valkey-0.1.1.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fe285bbf6b04f14fb7df30e223780e4d9fc53fae7a3a148b873c6f9f9338c46
|
|
| MD5 |
2cebbab1b38c70a3e215d7b49bd098d3
|
|
| BLAKE2b-256 |
e699d5a30c7ae5836c28d5d2dfbcdb5331a5e8da514fc6e891c4955e5f8585bb
|
File details
Details for the file kachy_valkey-0.1.1-py3-none-any.whl.
File metadata
- Download URL: kachy_valkey-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.8 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 |
e34afc220dba409f1f21f7f6381b5abed1512508b3c4143828df62c5724670bb
|
|
| MD5 |
a1c67e53fdc9f612c6ce2aa4a1e9acbf
|
|
| BLAKE2b-256 |
f2bc1fa721c688d08bfdf5864d6c8ccc3e2eb83a6faa110045be1aeca72f6024
|