Files
lancedb/python
Wyatt Alt 3f1a94c8d1 python: Job/AsyncJob rebound to the platform jobs API (ENT-1956)
JobHandle becomes Job (AsyncJobHandle -> AsyncJob), per the reference
naming convention (Job the reference vs JobInfo the snapshot), and the
implementation moves off the legacy inflight-listing poll onto the
platform jobs API:

- The reference holds the submission (manifest) id and lazily resolves
  the platform job id (one /v1/jobs/list call with the manifest-id
  filter), tolerating async dispatch with a pending grace window.
- status/progress/wait read /v1/jobs/describe: terminal states are
  first-class (DONE / FAILED / CANCELLED) instead of inferred from
  leaving the inflight listing, progress comes from the owner-written
  payload, and a failed job raises JobFailedError with the server
  error. A job that never registers raises instead of hanging.
- cancel() drives /v1/jobs/cancel (with a short resolve retry), which
  the server now propagates to running workers.

Connection surfaces gain the three passthroughs (sync + async); every
Job-returning API (refresh_column, MV refresh/wait, load_columns)
hands out the new type. job_history()/errors() stay on their existing
routes (the per-row error store is outside the platform jobs API).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 17:14:44 -07:00
..
2026-07-18 17:14:44 -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.