mirror of
https://github.com/lancedb/lancedb.git
synced 2026-11-13 22:26:53 +00:00
A broad documentation pass across the areas LanceDB Enterprise and Embedded diverge on most: **Data Curation** -- GPU Function execution, Slurm scheduling (and what Slurm is, for readers new to it), blob late materialization as its own page, joins, aggregation/profiling, sampling, near-duplicate detection, chunking, distributed shuffle, and IVF-partition clustering. **Feature Engineering** -- computed columns and materialized views, restructured to lead with the Function-based path and show the SQL form side by side with Python throughout; a single Auto Refresh page instead of duplicating scheduling details on every refresh page; adaptive execution; checkpointing; GPU and Slurm placement for refresh workers; a Training Cache page for the PyTorch data loader's automatic cache benefit. **Security & Governance** -- an Audit Log reference (schema, access, grants), Secrets promoted to an ordinary catalog object with their own SQL DDL and a vending/rotation guide, and privilege-table fixes verified against the authorization source. **Deployment & Maintenance** -- Horizontal Scaling and OpenTelemetry moved into a real Deployment area; Automated Cleanup folded into Intelligent Auto-Maintenance (every other maintenance decision already lived there); RTE Compaction and Advanced Conflict Resolution documented in depth. **Landing page** -- the Enterprise feature comparison table reorganized (several redundant or stale rows removed, several new areas added), and the "why Enterprise" bullets replaced with ones tied to a concrete page (Performance, Scale, Fault tolerance, Multicloud deployment, Simplify operations) instead of vague promises. Plus a full pass addressing lancedb-gatekeeper's review: a real test-safety bug (a quickstart test could silently overwrite and delete a deployment's own `frames` table), a fabricated SQL statement with no backing implementation, an actual dedup-guarantee bug in `take_row_ids`, and dozens of documentation-accuracy fixes verified against source rather than taken on faith -- each either fixed, or left with an explicit note on why it needs a feature or deployment owner's sign-off instead of being guessed at. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_018PXMCbRH6i5w47TsjeEUMT --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
90 lines
4.1 KiB
Plaintext
90 lines
4.1 KiB
Plaintext
---
|
|
title: "SDKs"
|
|
sidebarTitle: "SDKs"
|
|
description: "Choose a LanceDB SDK and find the API reference for your language."
|
|
icon: code-compare
|
|
keywords: ["python", "typescript", "rust", "java", "sdk", "api reference"]
|
|
---
|
|
|
|
Use a LanceDB SDK to create tables, add data, build indexes and run searches
|
|
from your application. Python, TypeScript and Rust work with both LanceDB
|
|
Embedded and LanceDB Enterprise. LanceDB Embedded runs in your application's
|
|
process; your data can live on local disk or in object storage. LanceDB
|
|
Enterprise distributes query execution, indexing, maintenance and refresh
|
|
work across the service, outside your application.
|
|
|
|
The [quickstart](/quickstart) includes installation instructions and complete
|
|
examples in all three languages. For connection settings, see
|
|
[Connect to LanceDB](/basics/catalog).
|
|
|
|
## Official SDKs {#supported-sdks}
|
|
|
|
| SDK | API reference |
|
|
| --- | --- |
|
|
| Python | [Python reference](https://lancedb.github.io/lancedb/python/python/) |
|
|
| TypeScript | [TypeScript reference](https://lancedb.github.io/lancedb/js/) |
|
|
| Rust | [Rust reference](https://docs.rs/lancedb/latest/lancedb/index.html) |
|
|
|
|
Guides show the available language examples together. Use the API reference for
|
|
method signatures and options; SDKs do not expose every feature through the same
|
|
methods. In Rust, enable the `remote` feature to connect to Enterprise.
|
|
|
|
For SQL joins, aggregations and window functions, use
|
|
[SQL](/basics/sql). Python provides a SQL client, and applications in other
|
|
languages can use a Flight SQL client. TypeScript's table query API does not
|
|
provide a SQL execution method.
|
|
|
|
## Lance Namespace SDKs {#lance-namespace-sdks}
|
|
|
|
LanceDB Enterprise's catalog and table operations follow the
|
|
[Lance Namespace Client SDK Specification](https://lance.org/format/namespace),
|
|
an open specification for describing access to tables in a multimodal
|
|
lakehouse. Any client that implements it can integrate with LanceDB this
|
|
way, not only the official SDKs above -- useful for a language or tool
|
|
without a LanceDB SDK. For SQL queries, connect through
|
|
[Flight SQL](/basics/sql) instead.
|
|
|
|
| Language | Package | Used by |
|
|
| --- | --- | --- |
|
|
| Java | `org.lance:lance-namespace-core` | Spark, Flink, Kafka, Trino, Presto; also LanceDB's Java client |
|
|
| Python | `lance-namespace` | Core interface and connect functionality |
|
|
| Rust | `lance-namespace` | Core interface, in [lance-format/lance](https://github.com/lance-format/lance) |
|
|
|
|
LanceDB's Java client builds on this Lance Namespace Java core: table creation,
|
|
listing and most other catalog operations go through the generated
|
|
`LanceNamespace` interface talking to Enterprise's Namespace endpoint.
|
|
The [real time engine](/tables/realtime-engine) is the one area with its own,
|
|
LanceDB-specific Java client on top, since RTE's LSM write path is not part of
|
|
the Lance Namespace Client SDK Specification.
|
|
|
|
See [lance.org/format/namespace](https://lance.org/format/namespace) for the
|
|
full specification and its other catalog implementations (Directory, Apache Polaris,
|
|
Unity Catalog, Apache Hive Metastore, Apache Iceberg REST Catalog, and more).
|
|
|
|
## Community SDKs {#community-sdks}
|
|
|
|
These clients are maintained by the community. Check each project's supported
|
|
features, installation instructions and releases before choosing one.
|
|
|
|
| Language | Project |
|
|
| --- | --- |
|
|
| Go | [lancedb-go](https://pkg.go.dev/github.com/lancedb/lancedb-go/pkg/lancedb) |
|
|
| Ruby | [Lancelot](https://github.com/scientist-labs/lancelot) |
|
|
| Swift | [LanceDbSwiftKit](https://github.com/RyanLisse/LanceDbSwiftKit) |
|
|
| R | [lancedb](https://github.com/CathalByrneGit/lancedb) |
|
|
| Flutter | [flutter_lancedb](https://github.com/Alexcn/flutter_lancedb) |
|
|
|
|
## Related guides {#next}
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="SQL" icon="table-list" href="/basics/sql">
|
|
Query Enterprise tables with SQL from Python or a Flight SQL client.
|
|
</Card>
|
|
<Card title="PyTorch Data Loader" icon="fire" href="/training/data-loading">
|
|
Use LanceDB tables in a DataLoader, including multiple worker processes.
|
|
</Card>
|
|
<Card title="Agentic Skills" icon="robot" href="/basics/agentic-skills">
|
|
Use the LanceDB plugin to help a coding agent work with your data.
|
|
</Card>
|
|
</CardGroup>
|