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.7.tar.gz
(10.2 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.7.tar.gz.
File metadata
- Download URL: kachy_valkey-0.1.7.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ddaedcabe67410bb23d3d15985cfa2f42c10dbc09e38d7536fda5169c796895
|
|
| MD5 |
60addf02b1be7ba72e46cd95b70b80f5
|
|
| BLAKE2b-256 |
a2c63733d8f05473cb5fd8cac0ba03140a210bfbe5f6666297aa143ab51cc956
|
File details
Details for the file kachy_valkey-0.1.7-py3-none-any.whl.
File metadata
- Download URL: kachy_valkey-0.1.7-py3-none-any.whl
- Upload date:
- Size: 7.7 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 |
44a973561d662f95b314a847218584096d4c7674a1cdd4c567ccadcd3bff9cd1
|
|
| MD5 |
48eb19d8c0ad27dc77c9dd5b6ced2499
|
|
| BLAKE2b-256 |
7ab6dee7f1e9931dc827a7d76193b4b8c51d39f67eed46159234068f3c869a32
|