mirror of
https://github.com/lancedb/lancedb.git
synced 2026-01-04 19:02:58 +00:00
Compare commits
1 Commits
python-v0.
...
codex/upda
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
23d5544bcd |
4
.github/workflows/nodejs.yml
vendored
4
.github/workflows/nodejs.yml
vendored
@@ -88,7 +88,7 @@ jobs:
|
|||||||
npm install -g @napi-rs/cli
|
npm install -g @napi-rs/cli
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
npm ci --include=optional
|
npm ci
|
||||||
npm run build:debug -- --profile ci
|
npm run build:debug -- --profile ci
|
||||||
npm run tsc
|
npm run tsc
|
||||||
- name: Setup localstack
|
- name: Setup localstack
|
||||||
@@ -146,7 +146,7 @@ jobs:
|
|||||||
npm install -g @napi-rs/cli
|
npm install -g @napi-rs/cli
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
npm ci --include=optional
|
npm ci
|
||||||
npm run build:debug -- --profile ci
|
npm run build:debug -- --profile ci
|
||||||
npm run tsc
|
npm run tsc
|
||||||
- name: Test
|
- name: Test
|
||||||
|
|||||||
6
.github/workflows/python.yml
vendored
6
.github/workflows/python.yml
vendored
@@ -49,8 +49,8 @@ jobs:
|
|||||||
|
|
||||||
type-check:
|
type-check:
|
||||||
name: "Type Check"
|
name: "Type Check"
|
||||||
timeout-minutes: 60
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-2404-8x-x64
|
runs-on: "ubuntu-22.04"
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -78,7 +78,7 @@ jobs:
|
|||||||
|
|
||||||
doctest:
|
doctest:
|
||||||
name: "Doctest"
|
name: "Doctest"
|
||||||
timeout-minutes: 60
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-2404-8x-x64
|
runs-on: ubuntu-2404-8x-x64
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
|
|||||||
68
Cargo.lock
generated
68
Cargo.lock
generated
@@ -3086,8 +3086,8 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fsst"
|
name = "fsst"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"rand 0.9.2",
|
"rand 0.9.2",
|
||||||
@@ -4422,8 +4422,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance"
|
name = "lance"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-arith",
|
"arrow-arith",
|
||||||
@@ -4488,8 +4488,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-arrow"
|
name = "lance-arrow"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"arrow-buffer",
|
"arrow-buffer",
|
||||||
@@ -4507,8 +4507,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-bitpacking"
|
name = "lance-bitpacking"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayref",
|
"arrayref",
|
||||||
"paste",
|
"paste",
|
||||||
@@ -4517,8 +4517,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-core"
|
name = "lance-core"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"arrow-buffer",
|
"arrow-buffer",
|
||||||
@@ -4554,8 +4554,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-datafusion"
|
name = "lance-datafusion"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
@@ -4585,8 +4585,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-datagen"
|
name = "lance-datagen"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
@@ -4603,8 +4603,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-encoding"
|
name = "lance-encoding"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-arith",
|
"arrow-arith",
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
@@ -4641,8 +4641,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-file"
|
name = "lance-file"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-arith",
|
"arrow-arith",
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
@@ -4674,8 +4674,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-geo"
|
name = "lance-geo"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"datafusion",
|
"datafusion",
|
||||||
"geo-types",
|
"geo-types",
|
||||||
@@ -4686,8 +4686,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-index"
|
name = "lance-index"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-arith",
|
"arrow-arith",
|
||||||
@@ -4748,8 +4748,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-io"
|
name = "lance-io"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-arith",
|
"arrow-arith",
|
||||||
@@ -4789,8 +4789,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-linalg"
|
name = "lance-linalg"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"arrow-buffer",
|
"arrow-buffer",
|
||||||
@@ -4806,8 +4806,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-namespace"
|
name = "lance-namespace"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@@ -4819,8 +4819,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-namespace-impls"
|
name = "lance-namespace-impls"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-ipc",
|
"arrow-ipc",
|
||||||
@@ -4858,8 +4858,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-table"
|
name = "lance-table"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow",
|
"arrow",
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
@@ -4898,8 +4898,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lance-testing"
|
name = "lance-testing"
|
||||||
version = "1.0.0"
|
version = "1.0.0-rc.3"
|
||||||
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0#a0979691926f57afd5d3ac90bf6e5bb11188c0c3"
|
source = "git+https://github.com/lance-format/lance.git?tag=v1.0.0-rc.3#2808908de4b5d367d3a8fabe20734ddd566dbf54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrow-array",
|
"arrow-array",
|
||||||
"arrow-schema",
|
"arrow-schema",
|
||||||
|
|||||||
28
Cargo.toml
28
Cargo.toml
@@ -15,20 +15,20 @@ categories = ["database-implementations"]
|
|||||||
rust-version = "1.78.0"
|
rust-version = "1.78.0"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
lance = { "version" = "=1.0.0", default-features = false, "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance = { "version" = "=1.0.0-rc.3", default-features = false, "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-core = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-core = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-datagen = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-datagen = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-file = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-file = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-io = { "version" = "=1.0.0", default-features = false, "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-io = { "version" = "=1.0.0-rc.3", default-features = false, "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-index = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-index = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-linalg = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-linalg = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-namespace = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-namespace = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-namespace-impls = { "version" = "=1.0.0", default-features = false, "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-namespace-impls = { "version" = "=1.0.0-rc.3", default-features = false, "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-table = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-table = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-testing = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-testing = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-datafusion = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-datafusion = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-encoding = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-encoding = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
lance-arrow = { "version" = "=1.0.0", "tag" = "v1.0.0", "git" = "https://github.com/lance-format/lance.git" }
|
lance-arrow = { "version" = "=1.0.0-rc.3", "tag" = "v1.0.0-rc.3", "git" = "https://github.com/lance-format/lance.git" }
|
||||||
ahash = "0.8"
|
ahash = "0.8"
|
||||||
# Note that this one does not include pyarrow
|
# Note that this one does not include pyarrow
|
||||||
arrow = { version = "56.2", optional = false }
|
arrow = { version = "56.2", optional = false }
|
||||||
|
|||||||
@@ -229,29 +229,6 @@ def set_local_version():
|
|||||||
update_cargo_toml(line_updater)
|
update_cargo_toml(line_updater)
|
||||||
|
|
||||||
|
|
||||||
def update_lockfiles(version: str, fallback_to_git: bool = False):
|
|
||||||
"""
|
|
||||||
Update Cargo metadata and optionally fall back to using the git tag if the
|
|
||||||
requested crates.io version is unavailable.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
print("Updating lockfiles...", file=sys.stderr, end="")
|
|
||||||
run_command("cargo metadata > /dev/null")
|
|
||||||
print(" done.", file=sys.stderr)
|
|
||||||
except Exception as e:
|
|
||||||
if fallback_to_git and "failed to select a version" in str(e):
|
|
||||||
print(
|
|
||||||
f" failed for crates.io v{version}, retrying with git tag...",
|
|
||||||
file=sys.stderr,
|
|
||||||
)
|
|
||||||
set_preview_version(version)
|
|
||||||
print("Updating lockfiles...", file=sys.stderr, end="")
|
|
||||||
run_command("cargo metadata > /dev/null")
|
|
||||||
print(" done.", file=sys.stderr)
|
|
||||||
else:
|
|
||||||
raise
|
|
||||||
|
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description="Set the version of the Lance package.")
|
parser = argparse.ArgumentParser(description="Set the version of the Lance package.")
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"version",
|
"version",
|
||||||
@@ -267,7 +244,6 @@ if args.version == "stable":
|
|||||||
file=sys.stderr,
|
file=sys.stderr,
|
||||||
)
|
)
|
||||||
set_stable_version(latest_stable_version)
|
set_stable_version(latest_stable_version)
|
||||||
update_lockfiles(latest_stable_version)
|
|
||||||
elif args.version == "preview":
|
elif args.version == "preview":
|
||||||
latest_preview_version = get_latest_preview_version()
|
latest_preview_version = get_latest_preview_version()
|
||||||
print(
|
print(
|
||||||
@@ -275,10 +251,8 @@ elif args.version == "preview":
|
|||||||
file=sys.stderr,
|
file=sys.stderr,
|
||||||
)
|
)
|
||||||
set_preview_version(latest_preview_version)
|
set_preview_version(latest_preview_version)
|
||||||
update_lockfiles(latest_preview_version)
|
|
||||||
elif args.version == "local":
|
elif args.version == "local":
|
||||||
set_local_version()
|
set_local_version()
|
||||||
update_lockfiles("local")
|
|
||||||
else:
|
else:
|
||||||
# Parse the version number.
|
# Parse the version number.
|
||||||
version = args.version
|
version = args.version
|
||||||
@@ -286,9 +260,11 @@ else:
|
|||||||
if version.startswith("v"):
|
if version.startswith("v"):
|
||||||
version = version[1:]
|
version = version[1:]
|
||||||
|
|
||||||
if "beta" in version:
|
if "beta" in version or "rc" in version:
|
||||||
set_preview_version(version)
|
set_preview_version(version)
|
||||||
update_lockfiles(version)
|
|
||||||
else:
|
else:
|
||||||
set_stable_version(version)
|
set_stable_version(version)
|
||||||
update_lockfiles(version, fallback_to_git=True)
|
|
||||||
|
print("Updating lockfiles...", file=sys.stderr, end="")
|
||||||
|
run_command("cargo metadata > /dev/null")
|
||||||
|
print(" done.", file=sys.stderr)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[tool.bumpversion]
|
[tool.bumpversion]
|
||||||
current_version = "0.26.0"
|
current_version = "0.26.0-beta.1"
|
||||||
parse = """(?x)
|
parse = """(?x)
|
||||||
(?P<major>0|[1-9]\\d*)\\.
|
(?P<major>0|[1-9]\\d*)\\.
|
||||||
(?P<minor>0|[1-9]\\d*)\\.
|
(?P<minor>0|[1-9]\\d*)\\.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "lancedb-python"
|
name = "lancedb-python"
|
||||||
version = "0.26.0"
|
version = "0.26.0-beta.1"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
description = "Python bindings for LanceDB"
|
description = "Python bindings for LanceDB"
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ dependencies = [
|
|||||||
"pyarrow>=16",
|
"pyarrow>=16",
|
||||||
"pydantic>=1.10",
|
"pydantic>=1.10",
|
||||||
"tqdm>=4.27.0",
|
"tqdm>=4.27.0",
|
||||||
"lance-namespace>=0.3.2"
|
"lance-namespace>=0.2.1"
|
||||||
]
|
]
|
||||||
description = "lancedb"
|
description = "lancedb"
|
||||||
authors = [{ name = "LanceDB Devs", email = "dev@lancedb.com" }]
|
authors = [{ name = "LanceDB Devs", email = "dev@lancedb.com" }]
|
||||||
|
|||||||
@@ -3208,27 +3208,7 @@ def _infer_target_schema(
|
|||||||
if pa.types.is_floating(field.type.value_type):
|
if pa.types.is_floating(field.type.value_type):
|
||||||
target_type = pa.list_(pa.float32(), dim)
|
target_type = pa.list_(pa.float32(), dim)
|
||||||
elif pa.types.is_integer(field.type.value_type):
|
elif pa.types.is_integer(field.type.value_type):
|
||||||
values = peeked.column(i)
|
target_type = pa.list_(pa.uint8(), dim)
|
||||||
|
|
||||||
if isinstance(values, pa.ChunkedArray):
|
|
||||||
values = values.combine_chunks()
|
|
||||||
|
|
||||||
flattened = values.flatten()
|
|
||||||
valid_count = pc.count(flattened, mode="only_valid").as_py()
|
|
||||||
|
|
||||||
if valid_count == 0:
|
|
||||||
target_type = pa.list_(pa.uint8(), dim)
|
|
||||||
else:
|
|
||||||
min_max = pc.min_max(flattened)
|
|
||||||
min_value = min_max["min"].as_py()
|
|
||||||
max_value = min_max["max"].as_py()
|
|
||||||
|
|
||||||
if (min_value is not None and min_value < 0) or (
|
|
||||||
max_value is not None and max_value > 255
|
|
||||||
):
|
|
||||||
target_type = pa.list_(pa.float32(), dim)
|
|
||||||
else:
|
|
||||||
target_type = pa.list_(pa.uint8(), dim)
|
|
||||||
else:
|
else:
|
||||||
continue # Skip non-numeric types
|
continue # Skip non-numeric types
|
||||||
|
|
||||||
|
|||||||
@@ -46,39 +46,6 @@ def test_basic(mem_db: DBConnection):
|
|||||||
assert table.to_arrow() == expected_data
|
assert table.to_arrow() == expected_data
|
||||||
|
|
||||||
|
|
||||||
def test_create_table_infers_large_int_vectors(mem_db: DBConnection):
|
|
||||||
data = [{"vector": [0, 300]}]
|
|
||||||
|
|
||||||
table = mem_db.create_table(
|
|
||||||
"int_vector_overflow", data=data, mode="overwrite", exist_ok=True
|
|
||||||
)
|
|
||||||
|
|
||||||
vector_field = table.schema.field("vector")
|
|
||||||
assert vector_field.type == pa.list_(pa.float32(), 2)
|
|
||||||
|
|
||||||
vector_column = table.to_arrow().column("vector")
|
|
||||||
assert vector_column.type == pa.list_(pa.float32(), 2)
|
|
||||||
assert vector_column.to_pylist() == [[0.0, 300.0]]
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
|
||||||
async def test_create_table_async_infers_large_int_vectors(
|
|
||||||
mem_db_async: AsyncConnection,
|
|
||||||
):
|
|
||||||
data = [{"vector": [256, 257]}]
|
|
||||||
|
|
||||||
table = await mem_db_async.create_table(
|
|
||||||
"int_vector_overflow_async", data=data, mode="overwrite", exist_ok=True
|
|
||||||
)
|
|
||||||
|
|
||||||
schema = await table.schema()
|
|
||||||
assert schema.field("vector").type == pa.list_(pa.float32(), 2)
|
|
||||||
|
|
||||||
vector_column = (await table.to_arrow()).column("vector")
|
|
||||||
assert vector_column.type == pa.list_(pa.float32(), 2)
|
|
||||||
assert vector_column.to_pylist() == [[256.0, 257.0]]
|
|
||||||
|
|
||||||
|
|
||||||
def test_input_data_type(mem_db: DBConnection, tmp_path):
|
def test_input_data_type(mem_db: DBConnection, tmp_path):
|
||||||
schema = pa.schema(
|
schema = pa.schema(
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user