-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathCargo.toml
More file actions
69 lines (58 loc) · 2.17 KB
/
Cargo.toml
File metadata and controls
69 lines (58 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[workspace]
members = [".", "benchmark"]
[package]
name = "datafusion-ducklake"
version = "0.1.0"
edition = "2024"
authors = ["zac@hotdata.dev", "shefeek@hotdata.dev", "anoop@hotdata.dev"]
description = "DuckLake query engine for rust, built with datafusion."
license = "Apache-2.0"
repository = "https://github.com/hotdata-dev/datafusion-ducklake"
homepage = "https://github.com/hotdata-dev/datafusion-ducklake"
documentation = "https://docs.rs/datafusion-ducklake"
readme = "README.md"
keywords = ["datafusion", "duckdb", "ducklake", "iceberg", "datalake"]
categories = ["database", "filesystem"]
exclude = ["datafusion-ducklake.iml", "target", "tests/test_data"]
[dependencies]
datafusion = "52.2"
arrow = "57"
parquet = { version = "57", features = ["async"] }
object_store = { version = "0.12.4", features = ["aws"] }
url = "2.5"
percent-encoding = "2"
async-trait = "0.1"
tokio = { version = "1", features = ["full"] }
futures = "0.3"
tracing = "0.1"
thiserror = "2.0"
# Encryption support (optional)
base64 = { version = "0.22", optional = true }
hex = { version = "0.4", optional = true }
# Write support (optional)
uuid = { version = "1.0", features = ["v4"], optional = true }
# Metadata providers (optional)
duckdb = { version = "1.4.1", features = ["bundled"], optional = true }
sqlx = { version = "0.8", features = ["runtime-tokio"], optional = true }
[dev-dependencies]
testcontainers = "0.23"
testcontainers-modules = { version = "0.11", features = ["minio", "postgres", "mysql"] }
tempfile = "3.14"
anyhow = "1.0"
aws-sdk-s3 = "1.75"
aws-credential-types = "1.2"
sqllogictest = "0.23"
[features]
default = ["metadata-duckdb"]
# Allow skipping tests that use docker (in CI, macos doesn't support docker).
skip-tests-with-docker = []
# Metadata provider backends
metadata-duckdb = ["dep:duckdb"]
metadata-postgres = ["dep:sqlx", "sqlx/postgres", "sqlx/chrono"]
metadata-mysql = ["dep:sqlx", "sqlx/mysql", "sqlx/chrono"]
metadata-sqlite = ["dep:sqlx", "sqlx/sqlite", "sqlx/chrono"]
# Encryption support for Parquet files
encryption = ["parquet/encryption", "datafusion/parquet_encryption", "dep:base64", "dep:hex"]
# Write support
write = ["dep:uuid"]
write-sqlite = ["write", "metadata-sqlite"]