Compare commits

..

4 Commits

Author SHA1 Message Date
Lance Release
d85d338a8e Bump version: 0.26.1-beta.2 → 0.26.1 2026-01-02 17:38:22 +00:00
Lance Release
f0320725b6 Bump version: 0.26.1-beta.1 → 0.26.1-beta.2 2026-01-02 17:38:20 +00:00
Will Jones
dfbd3552bf feat: update lance dependency to v1.0.1 (#2881)
Co-authored-by: Jack Ye <yezhaoqin@gmail.com>
2026-01-02 09:23:46 -08:00
Jonathan Hsieh
1cf7b4b678 docs: remove incorrect "LanceDb Cloud only" from table_names params (#2893)
The page_token and limit parameters for table_names() are supported by
both local storage and LanceDB Cloud, not just Cloud as the docstring
incorrectly stated.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 09:08:04 -08:00
9 changed files with 109 additions and 100 deletions

103
Cargo.lock generated
View File

@@ -3141,8 +3141,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]]
name = "fsst"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ffdff7a2d68d22afc0657eddde3e946371ce7cfe730a3f78a5ed44ea5b1cb2e"
dependencies = [
"arrow-array",
"rand 0.9.2",
@@ -4261,7 +4262,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5"
dependencies = [
"equivalent",
"hashbrown 0.15.5",
"hashbrown 0.16.0",
"serde",
"serde_core",
]
@@ -4478,8 +4479,9 @@ dependencies = [
[[package]]
name = "lance"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8c439decbc304e180748e34bb6d3df729069a222e83e74e2185c38f107136e9"
dependencies = [
"arrow",
"arrow-arith",
@@ -4544,14 +4546,14 @@ dependencies = [
[[package]]
name = "lance-arrow"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4ee5508b225456d3d56998eaeef0d8fbce5ea93856df47b12a94d2e74153210"
dependencies = [
"arrow-array",
"arrow-buffer",
"arrow-cast",
"arrow-data",
"arrow-ord",
"arrow-schema",
"arrow-select",
"bytes",
@@ -4564,8 +4566,9 @@ dependencies = [
[[package]]
name = "lance-bitpacking"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1c065fb3bd4a8cc4f78428443e990d4921aa08f707b676753db740e0b402a21"
dependencies = [
"arrayref",
"paste",
@@ -4574,8 +4577,9 @@ dependencies = [
[[package]]
name = "lance-core"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8856abad92e624b75cd57a04703f6441948a239463bdf973f2ac1924b0bcdbe"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -4588,7 +4592,6 @@ dependencies = [
"datafusion-sql",
"deepsize",
"futures",
"itertools 0.13.0",
"lance-arrow",
"libc",
"log",
@@ -4612,8 +4615,9 @@ dependencies = [
[[package]]
name = "lance-datafusion"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c8835308044cef5467d7751be87fcbefc2db01c22370726a8704bd62991693f"
dependencies = [
"arrow",
"arrow-array",
@@ -4643,8 +4647,9 @@ dependencies = [
[[package]]
name = "lance-datagen"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "612de1e888bb36f6bf51196a6eb9574587fdf256b1759a4c50e643e00d5f96d0"
dependencies = [
"arrow",
"arrow-array",
@@ -4655,15 +4660,15 @@ dependencies = [
"half",
"hex",
"rand 0.9.2",
"rand_distr 0.5.1",
"rand_xoshiro",
"random_word 0.5.2",
]
[[package]]
name = "lance-encoding"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b456b29b135d3c7192602e516ccade38b5483986e121895fa43cf1fdb38bf60"
dependencies = [
"arrow-arith",
"arrow-array",
@@ -4700,8 +4705,9 @@ dependencies = [
[[package]]
name = "lance-file"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab1538d14d5bb3735b4222b3f5aff83cfa59cc6ef7cdd3dd9139e4c77193c80b"
dependencies = [
"arrow-arith",
"arrow-array",
@@ -4733,8 +4739,9 @@ dependencies = [
[[package]]
name = "lance-geo"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5a69a2f3b55703d9c240ad7c5ffa2c755db69e9cf8aa05efe274a212910472d"
dependencies = [
"datafusion",
"geo-types",
@@ -4745,8 +4752,9 @@ dependencies = [
[[package]]
name = "lance-index"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ea84613df6fa6b9168a1f056ba4f9cb73b90a1b452814c6fd4b3529bcdbfc78"
dependencies = [
"arrow",
"arrow-arith",
@@ -4792,7 +4800,6 @@ dependencies = [
"prost-types",
"rand 0.9.2",
"rand_distr 0.5.1",
"rangemap",
"rayon",
"roaring",
"serde",
@@ -4808,8 +4815,9 @@ dependencies = [
[[package]]
name = "lance-io"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b3fc4c1d941fceef40a0edbd664dbef108acfc5d559bb9e7f588d0c733cbc35"
dependencies = [
"arrow",
"arrow-arith",
@@ -4849,8 +4857,9 @@ dependencies = [
[[package]]
name = "lance-linalg"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62ffbc5ce367fbf700a69de3fe0612ee1a11191a64a632888610b6bacfa0f63"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -4866,8 +4875,9 @@ dependencies = [
[[package]]
name = "lance-namespace"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "791bbcd868ee758123a34e07d320a1fb99379432b5ecc0e78d6b4686e999b629"
dependencies = [
"arrow",
"async-trait",
@@ -4879,8 +4889,9 @@ dependencies = [
[[package]]
name = "lance-namespace-impls"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee713505576f6b1988a491f77c7ca8b0cf7090a393598e63c85079fa70a53ebf"
dependencies = [
"arrow",
"arrow-ipc",
@@ -4909,9 +4920,9 @@ dependencies = [
[[package]]
name = "lance-namespace-reqwest-client"
version = "0.3.2"
version = "0.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00a21b43fe2a373896727b97927adedd2683d2907683f294f62cf8815fbf6a01"
checksum = "3ea349999bcda4eea53fc05d334b3775ec314761e6a706555c777d7a29b18d19"
dependencies = [
"reqwest",
"serde",
@@ -4922,8 +4933,9 @@ dependencies = [
[[package]]
name = "lance-table"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fdb2d56bfa4d1511c765fa0cc00fdaa37e5d2d1cd2f57b3c6355d9072177052"
dependencies = [
"arrow",
"arrow-array",
@@ -4962,8 +4974,9 @@ dependencies = [
[[package]]
name = "lance-testing"
version = "2.0.0-beta.5"
source = "git+https://github.com/lance-format/lance.git?tag=v2.0.0-beta.5#26ad809c3fa0f1785f40bba27e0cca40431bf85b"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8ccb1a4a9284435c6a8c02c8c06e7e041bece0d7f722152159353cf55dc51e3"
dependencies = [
"arrow-array",
"arrow-schema",
@@ -6729,8 +6742,8 @@ version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf"
dependencies = [
"heck 0.4.1",
"itertools 0.12.1",
"heck 0.5.0",
"itertools 0.14.0",
"log",
"multimap",
"once_cell",
@@ -6750,7 +6763,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d"
dependencies = [
"anyhow",
"itertools 0.12.1",
"itertools 0.14.0",
"proc-macro2",
"quote",
"syn 2.0.106",
@@ -8080,7 +8093,7 @@ version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451"
dependencies = [
"heck 0.4.1",
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.106",

View File

@@ -15,20 +15,20 @@ categories = ["database-implementations"]
rust-version = "1.78.0"
[workspace.dependencies]
lance = { "version" = "=2.0.0-beta.5", default-features = false, "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-core = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-datagen = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-file = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-io = { "version" = "=2.0.0-beta.5", default-features = false, "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-index = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-linalg = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-namespace = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-namespace-impls = { "version" = "=2.0.0-beta.5", default-features = false, "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-table = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-testing = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-datafusion = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-encoding = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance-arrow = { "version" = "=2.0.0-beta.5", "tag" = "v2.0.0-beta.5", "git" = "https://github.com/lance-format/lance.git" }
lance = { "version" = "=1.0.1", default-features = false }
lance-core = "=1.0.1"
lance-datagen = "=1.0.1"
lance-file = "=1.0.1"
lance-io = { "version" = "=1.0.1", default-features = false }
lance-index = "=1.0.1"
lance-linalg = "=1.0.1"
lance-namespace = "=1.0.1"
lance-namespace-impls = { "version" = "=1.0.1", default-features = false }
lance-table = "=1.0.1"
lance-testing = "=1.0.1"
lance-datafusion = "=1.0.1"
lance-encoding = "=1.0.1"
lance-arrow = "=1.0.1"
ahash = "0.8"
# Note that this one does not include pyarrow
arrow = { version = "56.2", optional = false }

View File

@@ -1,5 +1,5 @@
[tool.bumpversion]
current_version = "0.26.1-beta.1"
current_version = "0.26.1"
parse = """(?x)
(?P<major>0|[1-9]\\d*)\\.
(?P<minor>0|[1-9]\\d*)\\.

View File

@@ -1,6 +1,6 @@
[package]
name = "lancedb-python"
version = "0.26.1-beta.1"
version = "0.26.1"
edition.workspace = true
description = "Python bindings for LanceDB"
license.workspace = true

View File

@@ -210,10 +210,8 @@ class DBConnection(EnforceOverrides):
page_token: str, optional
The token to use for pagination. If not present, start from the beginning.
Typically, this token is last table name from the previous page.
Only supported by LanceDb Cloud.
limit: int, default 10
The size of the page to return.
Only supported by LanceDb Cloud.
Returns
-------

View File

@@ -325,11 +325,11 @@ impl Connection {
let inner = self_.get_inner()?.clone();
let py = self_.py();
future_into_py(py, async move {
use lance_namespace::models::CreateNamespaceRequest;
use lance_namespace::models::{create_namespace_request, CreateNamespaceRequest};
let mode_enum = mode.and_then(|m| match m.to_lowercase().as_str() {
"create" => Some("Create".to_string()),
"exist_ok" => Some("ExistOk".to_string()),
"overwrite" => Some("Overwrite".to_string()),
"create" => Some(create_namespace_request::Mode::Create),
"exist_ok" => Some(create_namespace_request::Mode::ExistOk),
"overwrite" => Some(create_namespace_request::Mode::Overwrite),
_ => None,
});
let request = CreateNamespaceRequest {
@@ -360,15 +360,15 @@ impl Connection {
let inner = self_.get_inner()?.clone();
let py = self_.py();
future_into_py(py, async move {
use lance_namespace::models::DropNamespaceRequest;
use lance_namespace::models::{drop_namespace_request, DropNamespaceRequest};
let mode_enum = mode.and_then(|m| match m.to_uppercase().as_str() {
"SKIP" => Some("Skip".to_string()),
"FAIL" => Some("Fail".to_string()),
"SKIP" => Some(drop_namespace_request::Mode::Skip),
"FAIL" => Some(drop_namespace_request::Mode::Fail),
_ => None,
});
let behavior_enum = behavior.and_then(|b| match b.to_uppercase().as_str() {
"RESTRICT" => Some("Restrict".to_string()),
"CASCADE" => Some("Cascade".to_string()),
"RESTRICT" => Some(drop_namespace_request::Behavior::Restrict),
"CASCADE" => Some(drop_namespace_request::Behavior::Cascade),
_ => None,
});
let request = DropNamespaceRequest {

View File

@@ -154,7 +154,6 @@ impl Database for LanceNamespaceDatabase {
let describe_request = DescribeTableRequest {
id: Some(table_id.clone()),
version: None,
with_table_uri: None,
};
let describe_result = self.namespace.describe_table(describe_request).await;

View File

@@ -42,8 +42,8 @@ use lance_index::DatasetIndexExt;
use lance_index::IndexType;
use lance_io::object_store::LanceNamespaceStorageOptionsProvider;
use lance_namespace::models::{
QueryTableRequest as NsQueryTableRequest, QueryTableRequestColumns,
QueryTableRequestFullTextQuery, QueryTableRequestVector, StringFtsQuery,
QueryTableRequest as NsQueryTableRequest, QueryTableRequestFullTextQuery,
QueryTableRequestVector, StringFtsQuery,
};
use lance_namespace::LanceNamespace;
use lance_table::format::Manifest;
@@ -2334,21 +2334,6 @@ impl NativeTable {
/// Convert an AnyQuery to the namespace QueryTableRequest format.
fn convert_to_namespace_query(&self, query: &AnyQuery) -> Result<NsQueryTableRequest> {
fn convert_select_to_columns(
select: &Select,
) -> Result<Option<Box<QueryTableRequestColumns>>> {
match select {
Select::All => Ok(None),
Select::Columns(cols) => Ok(Some(Box::new(QueryTableRequestColumns {
column_names: Some(cols.clone()),
column_aliases: None,
}))),
Select::Dynamic(_) => Err(Error::NotSupported {
message: "Dynamic columns are not supported for server-side query".to_string(),
}),
}
}
match query {
AnyQuery::VectorQuery(vq) => {
// Extract the query vector(s)
@@ -2361,7 +2346,17 @@ impl NativeTable {
};
// Convert select to columns list
let columns = convert_select_to_columns(&vq.base.select)?;
let columns = match &vq.base.select {
Select::All => None,
Select::Columns(cols) => Some(cols.clone()),
Select::Dynamic(_) => {
return Err(Error::NotSupported {
message:
"Dynamic column selection is not supported for server-side queries"
.to_string(),
});
}
};
// Check for unsupported features
if vq.base.reranker.is_some() {
@@ -2424,7 +2419,16 @@ impl NativeTable {
.map(|f| self.filter_to_sql(f))
.transpose()?;
let columns = convert_select_to_columns(&q.select)?;
let columns = match &q.select {
Select::All => None,
Select::Columns(cols) => Some(cols.clone()),
Select::Dynamic(_) => {
return Err(Error::NotSupported {
message: "Dynamic columns are not supported for server-side query"
.to_string(),
});
}
};
// Handle full text search if present
let full_text_query = q.full_text_search.as_ref().map(|fts| {
@@ -5142,9 +5146,7 @@ mod tests {
assert_eq!(ns_request.k, 10);
assert_eq!(ns_request.offset, Some(5));
assert_eq!(ns_request.filter, Some("id > 0".to_string()));
let columns = ns_request.columns.as_ref().unwrap();
assert_eq!(columns.column_names, Some(vec!["id".to_string()]));
assert!(columns.column_aliases.is_none());
assert_eq!(ns_request.columns, Some(vec!["id".to_string()]));
assert_eq!(ns_request.vector_column, Some("vector".to_string()));
assert_eq!(ns_request.distance_type, Some("l2".to_string()));
assert!(ns_request.vector.single_vector.is_some());
@@ -5185,9 +5187,7 @@ mod tests {
assert_eq!(ns_request.k, 20);
assert_eq!(ns_request.offset, Some(5));
assert_eq!(ns_request.filter, Some("id > 5".to_string()));
let columns = ns_request.columns.as_ref().unwrap();
assert_eq!(columns.column_names, Some(vec!["id".to_string()]));
assert!(columns.column_aliases.is_none());
assert_eq!(ns_request.columns, Some(vec!["id".to_string()]));
assert_eq!(ns_request.with_row_id, Some(true));
assert_eq!(ns_request.bypass_vector_index, Some(true));
assert!(ns_request.vector_column.is_none()); // No vector column for plain queries

View File

@@ -100,8 +100,7 @@ impl DatasetRef {
let should_checkout = match &target_ref {
refs::Ref::Version(_, Some(target_ver)) => version != target_ver,
refs::Ref::Version(_, None) => true, // No specific version, always checkout
refs::Ref::VersionNumber(target_ver) => version != target_ver,
refs::Ref::Tag(_) => true, // Always checkout for tags
refs::Ref::Tag(_) => true, // Always checkout for tags
};
if should_checkout {