Python client SDK for LivenDB
from liven_py import LivenClient, Pipeline, Filter
client = LivenClient.connect("127.0.0.1:43121")
client.insert("users", "u1", {"name": "Alice", "role": "admin"})
user = client.get("users", "u1")
print(user[0].field("name"))
# → Alice
results = client.run(
Pipeline.from_stream("users")
.filter(Filter.field("role").eq("admin"))
.limit(10)
)
client.close()pip install liven-clientRequires Python 3.9+.
from liven_py import LivenClient
# Default port is 43121
client = LivenClient.connect("localhost")
# With authentication key
client = LivenClient.connect("localhost:43121?auth_key=your-api-key")# Insert
client.insert("events", "e1", {"type": "click", "value": 42})
# Upsert (insert or replace)
client.upsert("events", "e1", {"type": "click", "value": 99})
# Update (merge)
client.update("users", "u1", {"last_login": 1234567890})
# Get by key
record = client.get("users", "u1")
# Delete
client.delete("events", "e1")
# Clear all records from a stream
client.clear("sessions")
# Drop an entire stream
client.drop_stream("old_data")client.insert_many("events", [
("e1", {"type": "click"}),
("e2", {"type": "view"}),
])from liven_py import Pipeline, Filter
results = client.run(
Pipeline.from_stream("orders")
.filter(Filter.field("amount").gte(100))
.filter(Filter.field("status").eq("completed"))
.sort("amount", descending=True)
.limit(10)
)client.filter("events", Filter.field("type").eq("click"))
client.limit("events", 50)
client.count("events")
client.sort("orders", "total", descending=True)
client.page("events", 1, 25)
client.page_cursor("feed", "cursor_abc", 25)
client.map("users", ["name", "email"])
client.window("pageviews", 60000, "count")
client.group("events", "type", ["count", "sum(value)"])
client.distinct("visitors", "ip_address")
client.vector_filter("documents", "embedding", [1, 0, -1], 0.75)client.enrich("orders", "users", "user_id")
client.correlate("events", "sessions", "session_id", 5000)
client.chain("reviews", "orders", "order_id")
client.sequence("events", [
Filter.field("type").eq("login"),
Filter.field("type").eq("purchase"),
], 300000)client.run_update(
Pipeline.from_stream("events").filter(Filter.field("status").eq("pending")),
{"status": "processed"}
)
client.run_delete(
Pipeline.from_stream("events").filter(Filter.field("type").eq("temp"))
)client.run_listen(
Pipeline.from_stream("alerts").filter(Filter.field("priority").eq("critical"))
)streams = client.streams()
status = client.status()results = client.query('from("users") | count()')# Install dependencies
pip install -e .
# Run the demo
python examples/demo.py
python examples/demo.py --key your-api-key
# Run tests
python -m pytestMIT