mirror of
https://github.com/lancedb/lancedb.git
synced 2026-11-13 14:16:54 +00:00
Fixes #4773. Python job polling now retries transient connection, send, and read failures with capped exponential backoff under the caller's original timeout. If the deadline expires while disconnected, `wait()` raises `ConnectionError` with the job ID, reconnect guidance, and the original cause; after recovery, ordinary timeouts remain `TimeoutError`. Terminal job errors, cancellation, and malformed responses continue to surface immediately. Validation: exact-head CI passed across Rust all-features, Python on Linux, macOS, and Windows, NodeJS, deny, and packaging checks. The hosted macOS wheel suite passed 3049 tests (162 skipped, 70 deselected), including sync and async recovery, timeout reuse, cancellation, terminal errors, and error preservation.
115 lines
5.0 KiB
TOML
115 lines
5.0 KiB
TOML
[workspace]
|
|
members = [
|
|
"rust/lancedb/cli",
|
|
"rust/lancedb",
|
|
"nodejs",
|
|
"python",
|
|
"docs/web-tests/blob-v2/rs",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
authors = ["LanceDB Devs <dev@lancedb.com>"]
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/lancedb/lancedb"
|
|
description = "Serverless, low-latency vector database for AI applications"
|
|
keywords = ["lancedb", "lance", "database", "vector", "search"]
|
|
categories = ["database-implementations"]
|
|
rust-version = "1.95.0"
|
|
|
|
[workspace.dependencies]
|
|
lance = { "version" = "=15.0.0-beta.8", default-features = false, "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-core = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-datagen = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-file = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-io = { "version" = "=15.0.0-beta.8", default-features = false, "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-index = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-jsonb = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-linalg = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-namespace = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-namespace-impls = { "version" = "=15.0.0-beta.8", default-features = false, "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-table = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-testing = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-datafusion = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-encoding = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lance-arrow = { "version" = "=15.0.0-beta.8", "tag" = "v15.0.0-beta.8", "git" = "https://github.com/lance-format/lance.git" }
|
|
lancedb = { path = "rust/lancedb", default-features = false }
|
|
ahash = "0.8"
|
|
anyhow = "1"
|
|
# Note that this one does not include pyarrow
|
|
arrow = { version = "59.2.0", optional = false }
|
|
arrow-array = "59.2.0"
|
|
arrow-buffer = "59.2.0"
|
|
arrow-data = "59.2.0"
|
|
arrow-ipc = "59.2.0"
|
|
arrow-ord = "59.2.0"
|
|
arrow-schema = "59.2.0"
|
|
arrow-select = "59.2.0"
|
|
arrow-cast = "59.2.0"
|
|
arrow-flight = { version = "59.2.0", features = ["flight-sql-experimental"] }
|
|
async-trait = "0"
|
|
# Smithy JSON 0.63 requires the pre-1.7 Document representation; allow the MSRV pin.
|
|
aws-smithy-types = ">=1.3.6, <1.7"
|
|
base64 = "0.22"
|
|
bytes = "1"
|
|
datafusion = { version = "55.0.0", default-features = false }
|
|
datafusion-catalog = "55.0.0"
|
|
datafusion-common = { version = "55.0.0", default-features = false }
|
|
datafusion-execution = "55.0.0"
|
|
datafusion-expr = "55.0.0"
|
|
datafusion-functions = "55.0.0"
|
|
datafusion-physical-plan = "55.0.0"
|
|
datafusion-physical-expr = "55.0.0"
|
|
datafusion-sql = "55.0.0"
|
|
env_logger = "0.11"
|
|
half = { "version" = "2.7.1", default-features = false, features = [
|
|
"num-traits",
|
|
] }
|
|
futures = "0.3"
|
|
hf-hub = { version = "0.4.1", default-features = false }
|
|
http = "1"
|
|
log = "0.4"
|
|
metrics = "0.24"
|
|
metrics-util = "0.19"
|
|
moka = { version = "0.12", features = ["future"] }
|
|
object_store = "0.14.1"
|
|
pin-project = "1.0.7"
|
|
prost = "0.14"
|
|
rand = "0.9"
|
|
snafu = "0.8"
|
|
url = "2"
|
|
num-traits = "0.2"
|
|
oauth2 = { version = "5.0", default-features = false }
|
|
regex = "1.10"
|
|
reqwest = { version = "0.13.0", default-features = false }
|
|
semver = "1.0.25"
|
|
serde = "1"
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
serial_test = "3"
|
|
sha2 = "0.10"
|
|
tempfile = "3.5.0"
|
|
tokio = { version = "1.23", features = ["rt-multi-thread", "sync"] }
|
|
tonic = { version = "0.14", features = ["tls-native-roots", "tls-aws-lc"] }
|
|
tracing = "0.1"
|
|
uuid = { version = "1.7.0", features = ["v4", "v7"] }
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
|
|
|
[patch.crates-io]
|
|
# Lance v14.0.0-beta.18 requires multipart write modes from this upstream revision.
|
|
object_store = { git = "https://github.com/apache/arrow-rs-object-store.git", rev = "c10758c207c0103355f940f0c736fb8ecb157b04" }
|
|
|
|
[profile.ci]
|
|
debug = "line-tables-only"
|
|
inherits = "dev"
|
|
incremental = false
|
|
|
|
# This rule applies to every package except workspace members (dependencies
|
|
# such as `arrow` and `tokio`). It disables debug info and related features on
|
|
# dependencies so their binaries stay smaller, improving cache reuse.
|
|
[profile.ci.package."*"]
|
|
debug = false
|
|
debug-assertions = false
|
|
strip = "debuginfo"
|
|
incremental = false
|