-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
108 lines (101 loc) · 2.42 KB
/
Cargo.toml
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
[[bench]]
harness = false
name = "load_test"
[dependencies]
actix-cors = "0.7.0"
# Web & HTTP
actix-web = "4.4"
ammonia = "3.3"
# Error Handling
anyhow = "1.0"
async-trait = "0.1"
backoff = {version = "0.4", features = ["tokio"]}
bb8 = "0.8"
bb8-postgres = "0.8"
# Date and Time
chrono = {version = "0.4", features = ["serde"]}
# CLI and Configuration
clap = {version = "4.4", features = ["derive"]}
# Database
diesel = {version = ">=2.2.3", default-features = false, features = [
"postgres",
"chrono",
"serde_json",
"numeric",
"32-column-tables",
"r2d2"
]}
diesel-async = {version = "^0.5", features = ["postgres", "bb8"]}
dotenv = "0.15"
futures = "0.3"
governor = "0.6"
lazy_static = "1.5.0"
# Utilities
num_cpus = "1.16"
prometheus = {version = "0.13.4", features = ["process"]}
prometheus-client = "0.22.3"
quick-xml = "0.31"
r2d2 = "0.8"
rand = "0.8"
reqwest = {version = "0.11", features = ["json", "rustls-tls"]}
# RSS and Parsing
rss = "2.0"
rustls = "0.23.21"
rustls-platform-verifier = "0.5.0"
# Serialization
serde = {version = "1.0", features = ["derive"]}
serde_json = "1.0"
tempfile = "3.14.0"
thiserror = "1.0"
time = {version = "0.3", features = ["formatting"]}
# Async Runtime
tokio = {version = "1.32", features = ["full"]}
tokio-postgres = "0.7.12"
tokio-postgres-rustls = "0.13.0"
tokio-stream = "0.1"
tokio-util = {version = "0.7.13", features = ["rt"]}
# Logging and Tracing
tracing = {version = "0.1", features = ["attributes"]}
tracing-appender = "0.2"
tracing-subscriber = {version = "0.3", features = [
"env-filter",
"json",
"time",
"local-time"
]}
url = "2.2.2"
[dev-dependencies]
criterion = {version = "0.5", features = ["async_tokio"]}
diesel_migrations = ">=2.2.0"
# Test Utilities
fake = {version = "2.9", features = ["derive", "chrono"]}
mockall = "0.11"
rand = "0.8"
test-log = {version = "0.2", features = ["trace"]}
# Testing
tokio-test = "0.4"
tracing-test = "0.2"
wiremock = "0.5"
[features]
default = []
[package]
authors = ["Mr.han76@outlook.com"]
categories = ["web-programming"]
description = "Async Rust podcast management and crawling system"
edition = "2021"
keywords = ["podcast", "crawler", "async", "rust"]
license = "MIT"
name = "podcast_crawler"
readme = "README.md"
repository = "https://github.com/Erinable/podcast_crawler"
version = "0.1.0"
[profile.dev]
debug = true
opt-level = 1
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
panic = "abort"
[workspace]
members = [".", "benches"]