lance 1.0.0

A columnar data format that is 100x faster than Parquet for random access.
Documentation
[[bench]]
harness = false
name = "ivf_pq"
path = "benches/ivf_pq.rs"

[[bench]]
harness = false
name = "random_access"
path = "benches/random_access.rs"

[[bench]]
harness = false
name = "scalar_index"
path = "benches/scalar_index.rs"

[[bench]]
harness = false
name = "scan"
path = "benches/scan.rs"

[[bench]]
harness = false
name = "take"
path = "benches/take.rs"

[[bench]]
harness = false
name = "vector_index"
path = "benches/vector_index.rs"

[[bin]]
name = "lq"
path = "src/bin/lq.rs"
required-features = ["cli"]

[dependencies.arrow]
features = ["prettyprint"]
version = "56.1"

[dependencies.arrow-arith]
version = "56.1"

[dependencies.arrow-array]
version = "56.1"

[dependencies.arrow-buffer]
version = "56.1"

[dependencies.arrow-ipc]
features = ["zstd"]
version = "56.1"

[dependencies.arrow-ord]
version = "56.1"

[dependencies.arrow-row]
version = "56.1"

[dependencies.arrow-schema]
version = "56.1"

[dependencies.arrow-select]
version = "56.1"

[dependencies.async-recursion]
version = "1.0"

[dependencies.async-trait]
version = "0.1"

[dependencies.async_cell]
version = "0.2.2"

[dependencies.aws-credential-types]
optional = true
version = "1.2.0"

[dependencies.aws-sdk-dynamodb]
optional = true
version = "1.38.0"

[dependencies.byteorder]
version = "1.5"

[dependencies.bytes]
version = "1.4"

[dependencies.chrono]
default-features = false
features = ["std", "now", "serde"]
version = "0.4.41"

[dependencies.clap]
features = ["derive"]
optional = true
version = "4.1.1"

[dependencies.dashmap]
version = "6"

[dependencies.datafusion]
default-features = false
features = ["nested_expressions", "regex_expressions", "unicode_expressions", "crypto_expressions", "encoding_expressions", "datetime_expressions", "string_expressions"]
version = "50.0.0"

[dependencies.datafusion-expr]
version = "50.0.0"

[dependencies.datafusion-functions]
features = ["regex_expressions"]
version = "50.0.0"

[dependencies.datafusion-physical-expr]
version = "50.0.0"

[dependencies.datafusion-physical-plan]
version = "50.0.0"

[dependencies.deepsize]
version = "0.2.0"

[dependencies.either]
version = "1.0"

[dependencies.futures]
version = "0.3"

[dependencies.half]
default-features = false
features = ["num-traits", "std"]
version = "2.1"

[dependencies.humantime]
version = "2.2.0"

[dependencies.itertools]
version = "0.13"

[dependencies.lance-arrow]
version = "=1.0.0"

[dependencies.lance-core]
version = "=1.0.0"

[dependencies.lance-datafusion]
version = "=1.0.0"

[dependencies.lance-encoding]
version = "=1.0.0"

[dependencies.lance-file]
version = "=1.0.0"

[dependencies.lance-geo]
version = "=1.0.0"

[dependencies.lance-index]
version = "=1.0.0"

[dependencies.lance-io]
default-features = false
version = "=1.0.0"

[dependencies.lance-linalg]
version = "=1.0.0"

[dependencies.lance-namespace]
version = "=1.0.0"

[dependencies.lance-table]
version = "=1.0.0"

[dependencies.lapack]
optional = true
version = "0.19.0"

[dependencies.log]
version = "0.4"

[dependencies.moka]
features = ["future", "sync"]
version = "0.12"

[dependencies.object_store]
version = "0.12.3"

[dependencies.permutation]
version = "0.4.0"

[dependencies.pin-project]
version = "1.0"

[dependencies.prost]
version = "0.13.2"

[dependencies.prost-types]
version = "0.13.2"

[dependencies.rand]
features = ["small_rng"]
version = "0.9.1"

[dependencies.roaring]
version = "0.10.1"

[dependencies.semver]
version = "1.0"

[dependencies.serde]
version = "^1"

[dependencies.serde_json]
version = "1"

[dependencies.snafu]
version = "0.8"

[dependencies.tantivy]
features = ["stopwords"]
version = "0.24.1"

[dependencies.tokio]
features = ["rt-multi-thread", "macros", "fs", "sync"]
version = "1.23"

[dependencies.tokio-stream]
version = "0.1.14"

[dependencies.tracing]
version = "0.1"

[dependencies.url]
version = "2.5.7"

[dependencies.uuid]
features = ["v4", "serde"]
version = "1.2"

[dev-dependencies.all_asserts]
version = "2.3.1"

[dev-dependencies.approx]
version = "0.5.1"

[dev-dependencies.aws-config]
version = "1.2.0"

[dev-dependencies.aws-sdk-s3]
version = "1.38.0"

[dev-dependencies.clap]
features = ["derive", "derive"]
version = "4"

[dev-dependencies.criterion]
features = ["async", "async_tokio", "html_reports"]
version = "0.5"

[dev-dependencies.dirs]
version = "5.0.0"

[dev-dependencies.env_logger]
version = "0.11.7"

[dev-dependencies.geo-types]
version = "0.7.16"

[dev-dependencies.geoarrow-array]
version = "0.6"

[dev-dependencies.geoarrow-schema]
version = "0.6"

[dev-dependencies.lance-datagen]
version = "=1.0.0"

[dev-dependencies.lance-io]
default-features = false
features = ["test-util"]
version = "=1.0.0"

[dev-dependencies.lance-test-macros]
version = "=1.0.0"

[dev-dependencies.lance-testing]
version = "=1.0.0"

[dev-dependencies.mock_instant]
version = "0.6.0"

[dev-dependencies.pretty_assertions]
version = "1.4.0"

[dev-dependencies.rstest]
version = "0.23.0"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.test-log]
version = "0.2.15"

[dev-dependencies.tracing-chrome]
version = "0.7.1"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.17"

[dev-dependencies.tracking-allocator]
features = ["tracing-compat"]
version = "0.4"

[features]
aws = ["lance-io/aws", "dep:aws-credential-types"]
azure = ["lance-io/azure"]
cli = ["dep:clap", "lzma-sys/static"]
default = ["aws", "azure", "gcp", "oss", "huggingface"]
dynamodb = ["lance-table/dynamodb", "dep:aws-sdk-dynamodb"]
dynamodb_tests = ["dynamodb"]
fp16kernels = ["lance-linalg/fp16kernels"]
gcp = ["lance-io/gcp"]
huggingface = ["lance-io/huggingface"]
oss = ["lance-io/oss"]
protoc = ["lance-encoding/protoc", "lance-file/protoc", "lance-index/protoc", "lance-table/protoc"]
substrait = ["lance-datafusion/substrait"]

[lib]
name = "lance"
path = "src/lib.rs"

[lints.clippy]
dbg_macro = "deny"
fallible_impl_from = "deny"
large_futures = "deny"
manual_let_else = "deny"
multiple-crate-versions = "allow"
print_stderr = "deny"
print_stdout = "deny"
redundant_clone = "deny"
redundant_pub_crate = "deny"
single_range_in_vec_init = "allow"
string_add = "deny"
string_add_assign = "deny"
string_lit_as_bytes = "deny"
string_to_string = "deny"
trait_duplication_in_bounds = "deny"
use_self = "deny"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "deny"
priority = -1

[lints.clippy.style]
level = "deny"
priority = -1

[package]
authors = ["Lance Devs <dev@lance.org>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database-implementations", "data-structures", "development-tools", "science"]
description = "A columnar data format that is 100x faster than Parquet for random access."
edition = "2021"
keywords = ["data-format", "data-science", "machine-learning", "apache-arrow", "data-analytics"]
license = "Apache-2.0"
name = "lance"
readme = "README.md"
repository = "https://github.com/lance-format/lance"
rust-version = "1.82.0"
version = "1.0.0"

[package.metadata.docs.rs]
features = []
no-default-features = true

[target.'cfg(target_os = "linux")'.dev-dependencies.lzma-sys]
version = "0.1"

[target.'cfg(target_os = "linux")'.dev-dependencies.pprof]
features = ["flamegraph", "criterion"]
version = "0.14.0"

[[test]]
name = "resource_tests"
path = "tests/resource_tests.rs"