-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCargo.toml
138 lines (103 loc) · 3.6 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
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
[package]
name = "flowd-rs"
version = "0.3.0-git"
authors = ["Ernst Rohlicek <ernst@rohlicek.at>"]
repository = "https://github.com/ERnsTL/flowd"
license = "LGPL-3.0-or-later"
description = "inter-language runtime for Flow-based Programming (FBP)"
edition = "2021"
[[bin]]
name = "flowd-rs"
[dependencies]
# remove logging level output more detailed than certain level, at compile-time (!)
log = {version = "0.4", features = ["max_level_debug", "release_max_level_info"] }
simplelog = "^0.12.0"
tungstenite = "0.20"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_with = { version = "2.0.0", features = ["macros"] }
#dashmap = { version = "5.3.4", features = ["serde"] }
chrono = "0.4.26"
rtrb = "0.2"
multimap = "0.10.0"
# for CountComponent
atoi = "2.0"
#atoi_simd = "0.15"
# for LibComponent
libloading = "0.7"
# for CronComponent
# also needs chrono
cron = "0.12.0"
# for CmdComponent
shell-words = "1.1.0"
lexopt = "0.3.0"
# for HasherComponent
twox-hash = "1.6.3"
# for HTTPClientComponent
reqwest = { version = "0.11.24", features = [ "blocking" ] }
# for HTTPServerComponent
astra = "0.3.0"
# for MQTTPublisherCompmonent and MQTTSubscriberComponent
rumqttc = { version = "0.23.0", features = ["url"] }
# for canceling event listener thread
#libc = "0.2.153"
# for getting MQTT topic out of URL
url = "2"
# for RedisPublisherComponent and RedisSubscriberComponent
# TODO optimize - try ahash feature for 7-10% performance improvement
redis = { version = "*", default-features = false }
# for IMAPFetchIdleComponent and IMAPAppendComponent
# TODO optimize - try rustls. better performance working with Rust types than converting to and from C types?
imap = "2.4.1"
native-tls = "0.2.11"
# for OpenAIChatComponent
openai = "1.0.0-alpha.14"
tokio = "1.36.0"
# for TeraTemplateComponent
tera = "1.0"
# for FileTailerComponent
#fs-tail = "0.1.4"
#timeout-iterator = { version = "1.1.7", default-features = false, features = ["sync"] }
#chase = "0.1.8"
# ^ not possible to start tailing at end of file, wtf: https://github.com/lloydmeta/chase-rs/issues/4
#logwatcher = "0.1"
# ^ uses callback, which necessitates a separate thread and
# the callback cannot control that thread, so the callback cannot signal "stop tailing", also not the forks
staart = "0.7"
# for ZeroconfResponderComponent and ZeroconfQueryComponent
#simple-mdns = { version = "0.6.1", default-features = false, features = ["sync"] }
# NOTE: simple-mdns has dependency on a different version than the latest version on crates.io, for example ResourceRecord has different generic arguments
# need to use the same version as simple-mdns depends on
#simple-dns = "0.6.2"
mdns-sd = "0.10.4"
# for RegexpExtractComponent
regex = "1.10"
# for XzCompressComponent, XzDecompressComponent
xz = "0.1"
# for BrotliCompressComponent, BrotliDecompressComponent
brotli = "3.5"
# for UnixSocketClientComponent
uds = "0.4.2"
# for TLSClientComponent
rustls = "0.23.4"
webpki-roots = "0.26"
# for TLSServerComponent
rustls-pemfile = "2"
# for JSONQueryComponent
jaq-interpret = "1.2.1"
jaq-parse = "1.0.2"
jaq-core = "1.2.1"
jaq-std = "1.2.1"
# for HTMLQueryComponent
skyscraper = "0.6.3"
# for SSHClientComponent
ssh-rs = "0.5.0"
# for TelegramBotComponent
# list of features: https://github.com/teloxide/teloxide/blob/master/crates/teloxide/Cargo.toml
# specifically, no Ctrl+C handler
teloxide = { version = "0.12.2", default-features = false, features = ["native-tls"] } # or rustls
# for MatrixClientComponent
#tokio 1.x
matrix-sdk = { version = "0.7.1", default-features = false, features = ["e2e-encryption", "native-tls"] } # or rustls
# for Sexp
assoc = "0.1.3"