forked from lakeops-org/queryflux
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
91 lines (75 loc) · 2.7 KB
/
Copy pathCargo.toml
File metadata and controls
91 lines (75 loc) · 2.7 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[workspace]
resolver = "2"
members = [
"crates/queryflux",
"crates/queryflux-bench",
"crates/queryflux-e2e-tests",
"crates/queryflux-core",
"crates/queryflux-auth",
"crates/queryflux-persistence",
"crates/queryflux-routing",
"crates/queryflux-translation",
"crates/queryflux-engine-adapters",
"crates/queryflux-frontend",
"crates/queryflux-cluster-manager",
"crates/queryflux-config",
"crates/queryflux-metrics",
"crates/queryflux-fingerprint",
]
[workspace.package]
version = "0.1.2"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/lakeops-org/queryflux"
[workspace.dependencies]
# Async runtime
tokio = { version = "1.50", features = ["full"] }
tokio-stream = "0.1.18"
bytes = "1.11.1"
# HTTP
axum = { version = "0.8.8", features = ["macros"] }
reqwest = { version = "0.12.28", features = ["json", "rustls-tls"], default-features = false }
tower-http = { version = "0.6.8", features = ["trace", "cors"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1.0.149"
serde_yaml = "0.9"
url = "2.5.8"
urlencoding = "2.1.3"
# Error handling
thiserror = "2.0.18"
anyhow = "1.0.102"
# Tracing
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] }
# Async trait support
async-trait = "0.1.89"
# Time
chrono = { version = "0.4.44", features = ["serde"] }
# SQL
polyglot-sql = "0.3.2"
# Concurrency
dashmap = "6.1.0"
# Internal crates
queryflux-core = { path = "crates/queryflux-core" }
queryflux-auth = { path = "crates/queryflux-auth" }
queryflux-persistence = { path = "crates/queryflux-persistence" }
queryflux-routing = { path = "crates/queryflux-routing" }
queryflux-translation = { path = "crates/queryflux-translation" }
queryflux-engine-adapters = { path = "crates/queryflux-engine-adapters" }
queryflux-frontend = { path = "crates/queryflux-frontend" }
queryflux-cluster-manager = { path = "crates/queryflux-cluster-manager" }
queryflux-config = { path = "crates/queryflux-config" }
queryflux-metrics = { path = "crates/queryflux-metrics" }
queryflux-fingerprint = { path = "crates/queryflux-fingerprint" }
# Arrow ecosystem — version must match what duckdb uses (bundled duckdb crate pins arrow)
arrow = { version = "58.1.0", features = ["ipc"] }
futures = "0.3.32"
# Python interop for sqlglot translation + routing scripts
pyo3 = { version = "0.28.2", features = ["auto-initialize"] }
# MySQL wire protocol client (StarRocks backend — engine-adapters + bench)
mysql_async = { version = "0.36.1", default-features = false, features = ["default-rustls"] }
# OpenAPI documentation
utoipa = { version = "5.4.0", features = ["axum_extras", "chrono"] }
# Password hashing
bcrypt = "0.16"