Files
lancedb/python
Will JonesandClaude Opus 4.8 6858a9370f fix: adapt permutation tests and datafusion python to lance v9
DataFusion 54 (pulled in by lance v9) replaced its hashing RandomState
(ahash -> foldhash), which changes hash-based split output. Update the
hardcoded expectations in test_hash_split, and hash a high-cardinality
column in the Python test_split_hash_with_discard so its discard behavior
is stable.

The new lance file reader returns no batches for an empty file (the old
read_record_batch returned a single empty batch), so concat_batches on
batches[0] panicked when a shuffle output file was empty. Build the batch
from the known schema instead, which handles the empty case.

Bump the datafusion Python package to v54 to match the bundled DataFusion,
avoiding an FFI ABI mismatch in register_table_provider.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 08:14:50 -07:00
..
2025-01-29 08:27:07 -08:00
2024-04-05 16:22:59 -07:00

LanceDB Python SDK

A Python library for LanceDB.

Installation

pip install lancedb

Preview Releases

Stable releases are created about every 2 weeks. For the latest features and bug fixes, you can install the preview release. These releases receive the same level of testing as stable releases, but are not guaranteed to be available for more than 6 months after they are released. Once your application is stable, we recommend switching to stable releases.

pip install --pre --extra-index-url https://pypi.fury.io/lancedb/ lancedb

Usage

Basic Example

import lancedb
db = lancedb.connect('<PATH_TO_LANCEDB_DATASET>')
table = db.open_table('my_table')
results = table.search([0.1, 0.3]).limit(20).to_list()
print(results)

Development

See CONTRIBUTING.md for information on how to contribute to LanceDB.