[package]
edition = "2024"
rust-version = "1.90"
name = "taladb"
version = "0.12.0"
authors = ["taladb"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedded, local-first document and vector database: serde documents, JSON filters, vector, full-text and hybrid search, live queries"
homepage = "https://github.com/taladb/taladb"
documentation = "https://docs.rs/taladb"
readme = "README.md"
keywords = [
"database",
"embedded",
"local-first",
"vector-search",
"document",
]
categories = [
"database-implementations",
"wasm",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/taladb/taladb"
resolver = "2"
[features]
config-yaml = ["dep:serde_yaml_ng"]
default = [
"config-yaml",
"legacy-migration",
]
encryption = [
"dep:aes-gcm",
"dep:pbkdf2",
"dep:hmac",
"dep:sha2",
"dep:zeroize",
]
legacy-migration = ["dep:redb2"]
vector-hnsw = []
[lib]
name = "taladb"
path = "src/lib.rs"
[[example]]
name = "hnsw_profile"
path = "examples/hnsw_profile.rs"
[[example]]
name = "open_table_cost"
path = "examples/open_table_cost.rs"
[[example]]
name = "vector_filter_profile"
path = "examples/vector_filter_profile.rs"
[[example]]
name = "vector_memory_profile"
path = "examples/vector_memory_profile.rs"
[[test]]
name = "aggregate_match_regex"
path = "tests/aggregate_match_regex.rs"
[[test]]
name = "aggregate_project_and_topk"
path = "tests/aggregate_project_and_topk.rs"
[[test]]
name = "aggregate_sorted_index"
path = "tests/aggregate_sorted_index.rs"
[[test]]
name = "array_containment"
path = "tests/array_containment.rs"
[[test]]
name = "audit"
path = "tests/audit.rs"
[[test]]
name = "backend_migration"
path = "tests/backend_migration.rs"
[[test]]
name = "caller_supplied_id"
path = "tests/caller_supplied_id.rs"
[[test]]
name = "collection_crud"
path = "tests/collection_crud.rs"
[[test]]
name = "compact"
path = "tests/compact.rs"
[[test]]
name = "concurrent_consistency"
path = "tests/concurrent_consistency.rs"
[[test]]
name = "crypto_format_fixtures"
path = "tests/crypto_format_fixtures.rs"
[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"
[[test]]
name = "encryption"
path = "tests/encryption.rs"
[[test]]
name = "fts"
path = "tests/fts.rs"
[[test]]
name = "fts_bm25"
path = "tests/fts_bm25.rs"
[[test]]
name = "hybrid_search"
path = "tests/hybrid_search.rs"
[[test]]
name = "index_array_scaling"
path = "tests/index_array_scaling.rs"
[[test]]
name = "migration_drop_replication_tables"
path = "tests/migration_drop_replication_tables.rs"
[[test]]
name = "migration_reencode"
path = "tests/migration_reencode.rs"
[[test]]
name = "migrations"
path = "tests/migrations.rs"
[[test]]
name = "perf_paths"
path = "tests/perf_paths.rs"
[[test]]
name = "query_engine"
path = "tests/query_engine.rs"
[[test]]
name = "regex_failure_is_an_error"
path = "tests/regex_failure_is_an_error.rs"
[[test]]
name = "secondary_indexes"
path = "tests/secondary_indexes.rs"
[[test]]
name = "snapshot"
path = "tests/snapshot.rs"
[[test]]
name = "snapshot_empty_table_name"
path = "tests/snapshot_empty_table_name.rs"
[[test]]
name = "stopwords_and_projection"
path = "tests/stopwords_and_projection.rs"
[[test]]
name = "typed"
path = "tests/typed.rs"
[[test]]
name = "vector_backfill"
path = "tests/vector_backfill.rs"
[[test]]
name = "vector_build_cache"
path = "tests/vector_build_cache.rs"
[[test]]
name = "vector_cache"
path = "tests/vector_cache.rs"
[[test]]
name = "vector_corrupt_entry"
path = "tests/vector_corrupt_entry.rs"
[[test]]
name = "vector_graph_cache"
path = "tests/vector_graph_cache.rs"
[[test]]
name = "vector_hnsw"
path = "tests/vector_hnsw.rs"
[[test]]
name = "vector_index_filters"
path = "tests/vector_index_filters.rs"
[[test]]
name = "vector_lifecycle"
path = "tests/vector_lifecycle.rs"
[[test]]
name = "vector_performance"
path = "tests/vector_performance.rs"
[[test]]
name = "vector_recall"
path = "tests/vector_recall.rs"
[[test]]
name = "vector_search_memory"
path = "tests/vector_search_memory.rs"
[[test]]
name = "vector_streaming"
path = "tests/vector_streaming.rs"
[[test]]
name = "vector_write_dimension"
path = "tests/vector_write_dimension.rs"
[[test]]
name = "watch"
path = "tests/watch.rs"
[[bench]]
name = "engine"
path = "benches/engine.rs"
harness = false
[dependencies.aes-gcm]
version = "0.11"
optional = true
[dependencies.getrandom]
version = "0.4"
[dependencies.hmac]
version = "0.13"
optional = true
[dependencies.pbkdf2]
version = "0.13"
optional = true
[dependencies.postcard]
version = "1.0"
features = ["alloc"]
default-features = false
[dependencies.redb]
version = "4.2"
[dependencies.redb2]
version = "2.6"
optional = true
package = "redb"
[dependencies.regex]
version = "1.11"
features = [
"std",
"unicode-perl",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dependencies.serde_yaml_ng]
version = "0.10"
optional = true
[dependencies.sha2]
version = "0.11"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.ulid]
version = "1.1"
features = ["serde"]
[dependencies.web-time]
version = "1"
[dependencies.zeroize]
version = "1.7"
features = ["derive"]
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.tempfile]
version = "3.10"
[dev-dependencies.zeroize]
version = "1.7"
features = ["derive"]
[lints.clippy]
cast_lossless = "warn"
redundant_clone = "warn"
redundant_closure_for_method_calls = "warn"
uninlined_format_args = "warn"
use_self = "warn"
[lints.rust]
unsafe_op_in_unsafe_fn = "deny"