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.6.tar.gz
(10.0 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.6.tar.gz.
File metadata
- Download URL: kachy_valkey-0.1.6.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
200ebdd34189e8642e4131f9890f2d2f33c5a3e4dccad438b38f05fbd6f7473c
|
|
| MD5 |
7bf831b891e962b63c82f1335efe55a1
|
|
| BLAKE2b-256 |
8072bc3f4e6fd482d1557a785ddd5fc0d97e0c4f1aa326661305dd9657bc0796
|
File details
Details for the file kachy_valkey-0.1.6-py3-none-any.whl.
File metadata
- Download URL: kachy_valkey-0.1.6-py3-none-any.whl
- Upload date:
- Size: 7.4 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 |
ca3483d0d5d7e479b05a25b834d66554b661c4cdfc484e4521f3bcc22584daa9
|
|
| MD5 |
732e822e535c6de1b25607059621a1e6
|
|
| BLAKE2b-256 |
270ede1e3d01c83072a4e4c29adcd88b638d655322efc10ae6de520057f26aa9
|