datafold 0.1.21

A personal database for data sovereignty with AI-powered ingestion and S3 support
Documentation
[package]
name = "datafold"
version = "0.1.21"
edition = "2021"
authors = ["Tom Tang <tom@datafold.ai>"]
description = "A personal database for data sovereignty with AI-powered ingestion and S3 support"
documentation = "https://docs.rs/datafold"
homepage = "https://datafold.ai"
repository = "https://github.com/shiba4life/fold_db"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["database", "distributed", "schema", "ingestion", "s3"]
categories = ["database", "data-structures", "network-programming"]
exclude = [
    "data/*",
    "schema_registry/*",
    "test_db/*",
    "target/*",
    "sample_data/*",
    "*.log",
    ".github/*",
    ".roo/*",
]

[features]
default = []
test-utils = []  # Feature flag for test utilities
ts-bindings = ["ts-rs"]  # Generate TypeScript bindings when enabled
lambda = ["lambda_runtime"]  # AWS Lambda support with simplified API

[dependencies]
# Utilities

# Cryptography
ring = "0.16.20"
base64 = "0.21.0"
ed25519-dalek = { version = "2.0", features = ["rand_core", "serde"] }
aes-gcm = "0.10"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
ts-rs = { version = "10", optional = true }
sled = "0.34"
uuid = { version = "1.0", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
regex = "1"
sha2 = "0.10"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "sync", "time", "fs", "signal", "io-util"] }
thiserror = "1.0"
futures-util = "0.3"
once_cell = "1"
tokio-stream = { version = "0.1", features = ["sync"] }
rand = "0.8"
tempfile = "3.8"
seahash = "4.1"
clap = { version = "4.4", features = ["derive"] }
log = "0.4"
# Enhanced logging dependencies
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt", "chrono", "ansi"] }
tracing-appender = "0.2"
toml = "0.8"

# HTTP Server
actix-web = "4.3"
actix-files = "0.6"
actix-cors = "0.6"
actix-multipart = "0.6"

# OpenAPI generation
utoipa = { version = "4", features = ["actix_extras"] }

# HTTP Client for OpenRouter API
reqwest = { version = "0.11", features = ["json", "multipart"] }

# File to JSON conversion
file_to_json = "0.1.5"

# AWS SDK for S3 storage and DynamoDB
aws-config = "1.0"
aws-sdk-s3 = "1.0"
aws-sdk-dynamodb = "1.0"

# Lambda runtime (optional, for AWS Lambda deployments)
lambda_runtime = { version = "0.13", optional = true }
async-trait = "0.1"

[dev-dependencies]
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "full"] }
reqwest = { version = "0.11", features = ["json"] }

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

# Note: Binary paths based on actual file structure
# These binaries will be available when installing the package
[[bin]]
name = "datafold_http_server"
path = "src/bin/datafold_http_server.rs"