LambdaDB provides explicit Qdrant-style compatibility clients for Python and TypeScript applications. Use them when you have already moved or plan to move Qdrant data into LambdaDB, but want to keep common Qdrant client calls while you migrate application code. The compatibility clients are not full Qdrant client replacements. They cover the common dense-vector search and RAG subset, map Qdrant points to LambdaDB documents, and raise an explicit unsupported-feature error for behavior that LambdaDB cannot safely emulate.Documentation Index
Fetch the complete documentation index at: https://docs.lambdadb.ai/llms.txt
Use this file to discover all available pages before exploring further.
When to use this path
Use the Qdrant compatibility clients when:- Your application already uses Qdrant’s Python or JavaScript/TypeScript SDK.
- You want a smaller application change than rewriting all query code to LambdaDB native APIs at once.
- Your workload uses dense vectors, named dense vectors, payload filters, document retrieval, deletes, unfiltered scroll, or collection metadata checks.
- You are building new application code.
- You need LambdaDB-specific query features such as lexical plus vector hybrid search.
- You want the clearest long-term API surface after migration.
Install
Python support is available inlambdadb >= 0.8.1:
@functional-systems/lambdadb >= 0.4.2:
Connection settings
LambdaDB Cloud uses region-specific API base URLs. Use the base URL, project name, and project API key shown for your project in the LambdaDB Cloud console. Do not assume a global default URL or a fixed project name.
Python
Change the import and client construction explicitly:Python
TypeScript
Change the import and client construction explicitly:TypeScript
Supported Qdrant-style APIs
| Area | Python | TypeScript | Notes |
|---|---|---|---|
| Client | QdrantCompatClient | QdrantCompatClient | Accepts LambdaDB connection settings or an existing LambdaDB client. |
| Collection exists | collection_exists() | collectionExists() / collection_exists() | Maps to LambdaDB collection metadata lookup. |
| Collection metadata | get_collection() | getCollection() / get_collection() | Returns minimal Qdrant-style vector config used by integrations. |
| Create collection | create_collection() | createCollection() / create_collection() | Supports dense vectors and named dense vectors. Use payload schema for filter fields. |
| Recreate collection | recreate_collection() | recreateCollection() / recreate_collection() | Deletes the collection if it exists, then creates it. |
| Delete collection | delete_collection() | deleteCollection() / delete_collection() | Maps to LambdaDB collection delete. |
| Payload index | create_payload_index() | createPayloadIndex() / create_payload_index() | Limited to empty collections unless the same index already exists. Prefer declaring payload schema at creation time. |
| Upsert points | upsert() | upsert() | Dense vectors only. Qdrant point IDs become LambdaDB document IDs. |
| Upload points | upload_points() | uploadPoints() / upload_points() | Batches points through upsert. |
| Upload collection | upload_collection() | uploadCollection() / upload_collection() | Converts vectors, IDs, and payload arrays into points. |
| Query | query_points() | queryPoints() / query_points() | Dense vector query plus supported payload filters. |
| Query alias | search() | query() / search() | TypeScript query() supports Qdrant JS-style filter, with_payload, and with_vector. |
| Retrieve | retrieve() | retrieve() | Uses strongly consistent LambdaDB fetches. |
| Delete points | delete() | delete() | Supports point IDs and supported Qdrant filters. |
| Scroll | scroll() | scroll() | Unfiltered scroll. Payload and vector response selectors are applied when shaping the response. |
| Count | count() | count() | Unfiltered collection count only. |
Data mapping
| Qdrant concept | LambdaDB mapping |
|---|---|
| Point ID | Document id, stringified |
| Original numeric ID | Reserved _qdrant_id field |
| Unnamed dense vector | Reserved _qdrant_vector field |
Named dense vector title | Reserved _qdrant_vector_title field |
| Payload fields | Top-level document fields |
id or the reserved _qdrant_ prefix.
Payload and vector selectors
Boolean selectors and field-list selectors are supported on query and retrieve paths. Field-list payload selectors are mapped to LambdaDBfields.include where possible and are also applied to the Qdrant-style response payload.
Vector-name selectors request vector values from LambdaDB and filter the returned Qdrant-style vector object by Qdrant vector name:
Python
TypeScript
scroll() maps to LambdaDB list documents. LambdaDB list responses include stored vector values, so the compatibility layer applies Qdrant-style vector selectors while shaping the response:
Python
TypeScript
Filter support
| Qdrant filter | Status |
|---|---|
Filter.must | Supported |
Filter.should | Supported through LambdaDB bool clauses |
Filter.must_not / mustNot | Supported |
FieldCondition.match=MatchValue | Supported |
FieldCondition.match=MatchAny | Supported |
FieldCondition.match=MatchExcept | Supported |
FieldCondition.range | Supported |
HasIdCondition | Supported |
MatchText | Unsupported |
| Geo filters | Unsupported |
| Nested object filters | Unsupported |
Unsupported behavior
- Local Qdrant mode, including
pathandlocation=":memory:" - Sparse vector upsert through the compatibility client
- Multi-vector comparators
- Geo payload indexes and geo filters
- Filtered scroll
- Filtered count
- Query offset
score_threshold- HNSW and search tuning semantics beyond warnings
How this fits with the Migration CLI
The LambdaDB Migration CLI moves data from Qdrant to LambdaDB. The Qdrant compatibility clients help reduce application code changes after data is in LambdaDB. For a full Qdrant migration workflow, start with the migration guide:Migrate from Qdrant
Move Qdrant collections, points, vectors, sparse vectors, and payload indexes to LambdaDB.
SDK reference
Install and use the official LambdaDB SDKs.