-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCargo.toml
More file actions
140 lines (105 loc) · 2.95 KB
/
Cargo.toml
File metadata and controls
140 lines (105 loc) · 2.95 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
[workspace]
resolver = "2"
members = ["client-core", "nuwax-cli", "cli-ui/src-tauri"]
[workspace.dependencies]
# 集成的 ducker Docker TUI
ducker = { git = "https://github.com/robertpsoane/ducker.git", branch = "master" }
# 异步运行时
tokio = { version = "1", features = ["macros", "net", "rt", "rt-multi-thread"] }
tokio-util = "0.7"
futures = "0.3"
futures-util = "0.3"
# 日志
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tracing-appender = "=0.2.2"
log = "0.4"
# 错误处理
anyhow = "1.0"
thiserror = "2.0"
# 时间处理
chrono = { version = "0.4", features = ["serde", "now"] }
# Web框架
axum = { version = "0.8", features = [
"http2",
"query",
"tracing",
"ws",
"multipart",
"macros",
] }
tower = { version = "0.5" }
tower-http = { version = "0.6", features = [
"compression-full",
"cors",
"fs",
"trace",
] }
axum-extra = { version = "0.10", features = ["typed-header"] }
# API文档
utoipa = { version = "5.4", features = ["axum_extras", "chrono"] }
utoipa-rapidoc = { version = "6", features = ["axum"] }
utoipa-redoc = { version = "6", features = ["axum"] }
utoipa-swagger-ui = { version = "9", features = ["axum"] }
# 并发工具
dashmap = "6.1"
once_cell = "1.21"
# 测试
criterion = "0.6"
# 序列化
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "=0.9.33"
serde_with = "3.15"
# 配置文件
toml = "0.9"
# 构建工具
derive_builder = "0.20"
# HTTP客户端
reqwest = { version = "0.12", features = [
"json",
"rustls-tls",
], default-features = false }
http = "1.3"
# 命令行工具
clap = { version = "4.5", features = ["derive", "env"] }
# UUID
uuid = { version = "1", features = ["v7"] }
# 数据库
# sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "sqlite"] }
duckdb = { version = "1.3", features = ["bundled", "chrono", "uuid", "json"] }
# 自更新 - 已移除,现在使用基于 GitHub API 的更新机制
# 系统工具
which = "8.0"
# 文件系统
tempfile = "3.23"
walkdir = "2.5"
# 压缩
zip = "6.0"
zip-extract = "0.4"
flate2 = "1.1"
tar = "0.4"
# 文件类型检测 (魔数检测)
infer = "0.19"
# 加密和哈希
sha2 = "0.10"
# 进度条
indicatif = "0.18"
# 消息传递 (用于DuckDB Actor模式)
tokio-stream = "0.1"
# SQL解析 依赖的库
sqlparser = "0.59"
regex = "1.12"
# --- OSS Dependencies ---
# Note: 使用 aliyun-oss-rust-sdk 库,支持分片上传,解决大文件(>5GB)上传问题;另外: 当文件较大,建议使用 SDK 或者 ossutil 进行大文件下载。下载链接默认有效期 300s,大文件下载可能会失败,失败仍会产生流量费用
aliyun-oss-rust-sdk = "0.2.2"
url = "2.5"
# 版本号解析
winnow = "0.7"
# Docker API 客户端 (与ducker兼容的版本)
bollard = "0.19"
# MySQL Async 客户端,用于连接mysql,执行差异sql,升级库表结构
mysql_async = "0.36.1"
docker-compose-types = "0.22"
# 解析.env 环境变量文件
dotenvy = "0.15"