Python client for letsearch, RAG-native vector DB in a single binary to embed, index and serve your documents for search
Project description
letsearch-client
A Python client for letsearch — the vector DB so easy, even your grandparents can build a RAG system 😁.
❓ What is this?
letsearch-client provides an easy-to-use Python interface to interact with a running letsearch server. With this client, you can programmatically manage collections, perform health checks, and run searches without worrying about HTTP requests or JSON parsing.
⚠️ Note: The main letsearch- project and this client are still under active development. Rapid changes may occur as letsearch evolves.
🖼️ Features
- Perform health checks on your
letsearchserver. - List and retrieve collection information.
- Run searches on indexed collections.
- Automatically handle errors and raise exceptions when needed.
🏎️ Installation
Install letsearch-client via uv (recommended) or pip:
uv add letsearch-client
or:
pip install letsearch-client
If you want to convert models to use with letsearch, you need to install additional conversion-related dependencies:
pip install letsearch-client[conversion]
🚀 Quickstart
Here’s how you can use the LetsearchClient to interact with a running letsearch instance:
Setup
from letsearch_client import LetsearchClient
# Initialize the client
client = LetsearchClient(letsearch_url="http://localhost:7898", raise_for_status=True)
# Always remember to close the client or use it in a context manager
client.close()
Alternatively, use a context manager to ensure proper cleanup:
from letsearch_client import LetsearchClient
with LetsearchClient(letsearch_url="http://localhost:7898") as client:
health = client.healthcheck()
print(health)
Example Usage
Health Check
response = client.healthcheck()
print(response) # Outputs server health status and version
List Collections
collections = client.get_collections()
print(collections) # Outputs a list of available collections
Retrieve Collection Info
collection_info = client.get_collection("example_collection")
print(collection_info) # Outputs details about the specified collection
Search in a Collection
results = client.search(
collection_name="example_collection",
column_name="content",
query="example query",
limit=5
)
print(results) # Outputs search results
🧭 Roadmap
The roadmap of the letsearch project can be found in its repository.
This client is intended to be a thin wrapper around the functionality of letsearch,
and it will continue to implement new features as letsearch evolves.
🌡️ Tests
Run the client’s test suite using:
pytest
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 letsearch_client-0.1.1.tar.gz.
File metadata
- Download URL: letsearch_client-0.1.1.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ede79ed048d0417c8177f8bd07ab3297b6534e9a0640854037ffc3c28641252
|
|
| MD5 |
10ba3e4a1c8c948140ea68f8b2454290
|
|
| BLAKE2b-256 |
7f0a7d6cae93d7bfafe52a946ab066cc33a6046fb366dbfb19901c804f2df105
|
File details
Details for the file letsearch_client-0.1.1-py3-none-any.whl.
File metadata
- Download URL: letsearch_client-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88b9e8877999f676a308f5fc785ef27195e8bc67caaf73b9ae1010e010514e78
|
|
| MD5 |
05a1e96be2e2a6838f719a7f6938688d
|
|
| BLAKE2b-256 |
c8fff0b893779826f22e3b3844b1e254ab09d605f12a75420f8e1052d73a1118
|