VectorLake SDK — Deterministic backend engine powering agent workflows
Project description
WaveflowDB SDK Starter
A lightweight launcher script for interacting with WaveflowDB and performing WaveQL (VQL) brace-based semantic retrieval.
This starter project demonstrates how to:
- Configure and initialize a Vector Lake client\
- Ingest documents (direct or path-based)\
- Refresh documents\
- Run semantic chat (static + dynamic)\
- Retrieve matching documents\
- Query namespaces\
- Use WaveQL-style logical filtering for agentic retrieval
📌 Overview
Vector Lake is an unstructured semantic data platform enabling:
- Natural-language structured filtering through WaveQL (VQL)
- Hybrid ranking (Filter + Semantic)
- Zero-schema ingestion (no JSON schemas required)
- SQL-like logical joins on raw text
- Automatic semantic fallback when filters fail
The included starter.py file provides ready-to-run function wrappers
to interact with the Vector Lake API.
🚀 Getting Started
1. Install Dependencies
pip install waveflowdb_client
2. Configure API Credentials
Edit the top section of starter.py:
API_KEY = "<<>>"
HOST = "https://waveflow-analytics.com"
VECTOR_LAKE_PATH = "<<>>"
USER_ID = ""
NAMESPACE = ""
🧠 Using WaveQL (VQL) Queries
WaveQL enables natural language filtering using brace-based logical groups:
{clinical trials or observational studies} {type 2 diabetes} {India}
Key Rules
✔ Each {} is a logical filter group
✔ Groups combine with implicit AND
✔ Use AND, OR, () inside braces
✔ Multi-word phrases must use parentheses when operators are used
Examples:
Correct Incorrect
{(machine learning) or (deep learning)} {machine learning or deep learning}
{(product manager) or (data scientist)} {product manager or Delhi}
WaveQL supports three-tier hybrid ranking:
- Tier 1 -- Filter + Semantic match (best)\
- Tier 2 -- Filter-only match\
- Tier 3 -- Semantic-only fallback
🧪 Using the Starter Script
The script exposes multiple ready-to-run functions.
Run Health Check
run_health()
Add Documents
run_add_direct()
run_add_path()
Refresh Documents
run_refresh_direct()
run_refresh_path()
Chat With Documents
run_chat_static("your question")
run_chat_dynamic("summarize this")
Retrieve Matching Documents
run_match_static("your query")
run_match_dynamic("your query")
run_match_with_data("your query")
Namespace & Document Inspection
run_namespace_details()
run_docs_info()
🧩 Example WaveQL Queries
{diabetes} {(clinical trial)} {India}{(product manager)} {Python} {Delhi}{genomics} {cancer}{(supply chain)} {pharma}
📝 Tips & Best Practices
Do:
- Use 1--2 keywords per brace\
- Wrap multi-word phrases in
()when using OR/AND\ - Keep groups domain-consistent
Don't:
- Use long multi-word phrases\
- Mix unrelated domains\
- Forget parentheses for multi-word logic
📧 Support
For API or platform support, visit:
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
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 waveflowdb_client-0.0.2.tar.gz.
File metadata
- Download URL: waveflowdb_client-0.0.2.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3744d0540af812a89e89c0c5b4d95d310198adc038381915816e9cd6176cb4b8
|
|
| MD5 |
0195f11a67c6321c5f8dc52e1c1090e6
|
|
| BLAKE2b-256 |
97b11ca4ba321fd30a27532eb0dcfee8506a1dde5be82f0590d36bb2d5031197
|
File details
Details for the file waveflowdb_client-0.0.2-py3-none-any.whl.
File metadata
- Download URL: waveflowdb_client-0.0.2-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3aafc70e9f8d31ee9116220e76e28cfee8b4bef865bb02e4111c38503641caa
|
|
| MD5 |
4ac9cc2a02f78cd82eb5b5f5bc810f2b
|
|
| BLAKE2b-256 |
b94be8c5cc2e760ec4fa26f64d625f5aad5f22f66d2c7844a6280a96149dcf0d
|