[package]
edition = "2021"
name = "datafold"
version = "0.1.51"
authors = ["Tom Tang <tom@datafold.ai>"]
build = "build.rs"
exclude = [
"data/*",
"schema_registry/*",
"test_db/*",
"target/*",
"sample_data/*",
"*.log",
".github/*",
".roo/*",
"**/.DS_Store",
".DS_Store",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A personal database for data sovereignty with AI-powered ingestion"
homepage = "https://datafold.ai"
documentation = "https://docs.rs/datafold"
readme = "README.md"
keywords = [
"database",
"distributed",
"schema",
"ingestion",
]
categories = [
"database",
"data-structures",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shiba4life/fold_db"
[features]
aws-backend = [
"aws-config",
"aws-sdk-dynamodb",
"aws-sdk-s3",
"serde_dynamo",
]
default = []
lambda = [
"lambda_runtime",
"aws-backend",
]
test-utils = []
ts-bindings = ["ts-rs"]
[lib]
name = "datafold"
path = "src/lib.rs"
[[bin]]
name = "datafold_http_server"
path = "src/bin/datafold_http_server.rs"
[[bin]]
name = "ensure_identity"
path = "src/bin/ensure_identity.rs"
[[bin]]
name = "openapi_dump"
path = "src/bin/openapi_dump.rs"
[[bin]]
name = "schema_service"
path = "src/bin/schema_service.rs"
[[example]]
name = "lambda_s3_ingestion"
path = "examples/lambda_s3_ingestion.rs"
[[example]]
name = "lambda_simple_logger_test"
path = "examples/lambda_simple_logger_test.rs"
[[example]]
name = "lambda_ui_demo"
path = "examples/lambda_ui_demo.rs"
required-features = ["lambda"]
[[example]]
name = "storage_abstraction_demo"
path = "examples/storage_abstraction_demo.rs"
[[example]]
name = "test_timeout"
path = "examples/test_timeout.rs"
[[test]]
name = "approval_block_not_failure_test"
path = "tests/approval_block_not_failure_test.rs"
[[test]]
name = "atom_deduplication_test"
path = "tests/atom_deduplication_test.rs"
[[test]]
name = "backfill_failure_test"
path = "tests/backfill_failure_test.rs"
[[test]]
name = "backfill_on_approval_test"
path = "tests/backfill_on_approval_test.rs"
[[test]]
name = "batch_index_merge_test"
path = "tests/batch_index_merge_test.rs"
[[test]]
name = "blogpost_wordindex_approval_test"
path = "tests/blogpost_wordindex_approval_test.rs"
[[test]]
name = "blogpost_wordindex_transform_registration"
path = "tests/blogpost_wordindex_transform_registration.rs"
[[test]]
name = "dsl_heart_rate_test"
path = "tests/dsl_heart_rate_test.rs"
[[test]]
name = "dsl_implicit_cardinality_test"
path = "tests/dsl_implicit_cardinality_test.rs"
[[test]]
name = "dynamodb_mock_test"
path = "tests/dynamodb_mock_test.rs"
[[test]]
name = "dynamodb_mutation_perf"
path = "tests/dynamodb_mutation_perf.rs"
[[test]]
name = "field_mapper_approval_test"
path = "tests/field_mapper_approval_test.rs"
[[test]]
name = "field_name_search_test"
path = "tests/field_name_search_test.rs"
[[test]]
name = "http_test_helper"
path = "tests/http_test_helper.rs"
[[test]]
name = "ingestion_perf_local"
path = "tests/ingestion_perf_local.rs"
[[test]]
name = "ingestion_topology_test"
path = "tests/ingestion_topology_test.rs"
[[test]]
name = "lambda_api_parity_test"
path = "tests/lambda_api_parity_test.rs"
[[test]]
name = "lambda_context_test"
path = "tests/lambda_context_test.rs"
[[test]]
name = "lambda_dynamodb_test"
path = "tests/lambda_dynamodb_test.rs"
[[test]]
name = "lambda_ingestion_logging_test"
path = "tests/lambda_ingestion_logging_test.rs"
[[test]]
name = "lambda_query_test"
path = "tests/lambda_query_test.rs"
[[test]]
name = "lambda_sync_logging_test"
path = "tests/lambda_sync_logging_test.rs"
[[test]]
name = "logging_verification_test"
path = "tests/logging_verification_test.rs"
[[test]]
name = "mock_check"
path = "tests/mock_check.rs"
[[test]]
name = "mutation_perf_investigation"
path = "tests/mutation_perf_investigation.rs"
[[test]]
name = "mutation_performance_test"
path = "tests/mutation_performance_test.rs"
[[test]]
name = "mutation_triggers_transform"
path = "tests/mutation_triggers_transform.rs"
[[test]]
name = "native_index_deduplication_test"
path = "tests/native_index_deduplication_test.rs"
[[test]]
name = "native_word_index_test"
path = "tests/native_word_index_test.rs"
[[test]]
name = "node_startup_schema_loading"
path = "tests/node_startup_schema_loading.rs"
[[test]]
name = "range_key_exact_filter_test"
path = "tests/range_key_exact_filter_test.rs"
[[test]]
name = "repro_schema_error"
path = "tests/repro_schema_error.rs"
[[test]]
name = "schema_service_closeness_test"
path = "tests/schema_service_closeness_test.rs"
[[test]]
name = "schema_topology_loading_test"
path = "tests/schema_topology_loading_test.rs"
[[test]]
name = "test_indexing_progress"
path = "tests/test_indexing_progress.rs"
[[test]]
name = "topology_hash_test"
path = "tests/topology_hash_test.rs"
[[test]]
name = "topology_validation_test"
path = "tests/topology_validation_test.rs"
[[test]]
name = "transform_event_monitor_regression_test"
path = "tests/transform_event_monitor_regression_test.rs"
[[test]]
name = "transform_execution_test"
path = "tests/transform_execution_test.rs"
[[test]]
name = "transform_integration"
path = "tests/transform_integration.rs"
[[test]]
name = "transform_persistence_test"
path = "tests/transform_persistence_test.rs"
[[test]]
name = "transform_queue_deduplication"
path = "tests/transform_queue_deduplication.rs"
[[test]]
name = "transform_requires_approval_test"
path = "tests/transform_requires_approval_test.rs"
[dependencies.actix-cors]
version = "0.6"
[dependencies.actix-files]
version = "0.6"
[dependencies.actix-multipart]
version = "0.6"
[dependencies.actix-web]
version = "4.3"
[dependencies.aes-gcm]
version = "0.10"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-config]
version = "1.0"
optional = true
[dependencies.aws-sdk-dynamodb]
version = "1.0"
optional = true
[dependencies.aws-sdk-s3]
version = "1.0"
optional = true
[dependencies.base64]
version = "0.21.0"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.4"
features = ["derive"]
[dependencies.colored]
version = "3.1.1"
[dependencies.ed25519-dalek]
version = "2.0"
features = [
"rand_core",
"serde",
]
[dependencies.file_to_json]
version = "0.1.5"
[dependencies.futures-util]
version = "0.3"
[dependencies.lambda_runtime]
version = "0.13"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.mime_guess]
version = "2.0"
[dependencies.once_cell]
version = "1"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.11"
features = [
"json",
"multipart",
]
[dependencies.ring]
version = "0.16.20"
[dependencies.rust-embed]
version = "6.6"
[dependencies.seahash]
version = "4.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_dynamo]
version = "4.3.0"
features = ["aws-sdk-dynamodb+1"]
optional = true
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.sled]
version = "0.34"
[dependencies.tempfile]
version = "3.8"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
"fs",
"signal",
"io-util",
]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
[dependencies.toml]
version = "0.8"
[dependencies.ts-rs]
version = "10"
optional = true
[dependencies.utoipa]
version = "4"
features = ["actix_extras"]
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"serde",
]
[dev-dependencies.aws-smithy-runtime-api]
version = "1.9.2"
[dev-dependencies.aws-smithy-types]
version = "1.3.4"
[dev-dependencies.http]
version = "1.4.0"
[dev-dependencies.lambda_http]
version = "0.8"
[dev-dependencies.reqwest]
version = "0.11"
features = ["json"]
[dev-dependencies.tokio]
version = "1.0"
features = [
"macros",
"rt-multi-thread",
"full",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"