-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
131 lines (114 loc) · 4.3 KB
/
Cargo.toml
File metadata and controls
131 lines (114 loc) · 4.3 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
[workspace]
members = ["crates/*"]
[workspace.dependencies]
html-to-egui = { git = "https://github.com/DougAnderson444/rdx.git" }
html-egui-bindgen = { git = "https://github.com/DougAnderson444/rdx.git" }
rhai = "1.20.1"
[package]
name = "eframe-multinode"
version = "0.1.2"
authors = ["Doug Anderson <doug@peerpiper.io>"]
edition = "2021"
include = ["LICENSE-APACHE", "LICENSE-MIT", "**/*.rs", "Cargo.toml"]
rust-version = "1.83"
description = "A PeerPiper multi-node application built using egui and efrem that runs in the browser and desktop."
default-run = "eframe-multinode"
[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"]
# [[bin]]
# name = "force-build-wasm-bins"
# path = "build.rs"
[dependencies]
egui = "0.30"
eframe = { version = "0.30", default-features = false, features = [
# "accesskit", # Make egui compatible with screen readers. NOTE: adds a lot of dependencies.
"default_fonts", # Embed the default egui fonts.
"glow", # Use the glow rendering backend. Alternative: "wgpu".
"persistence", # Enable restoring app state when restarting the app.
"wayland", # To support Linux (and CI)
"x11",
] }
log = "0.4"
# You only need serde if you want app persistence:
serde = { version = "1", features = ["derive"] }
tracing = { version = "0.1", features = ["log"] }
egui_material_icons = "0.2.0"
cloudflare = { version = "0.12.0", git = "https://github.com/cloudflare/cloudflare-rs.git" }
reqwest = { version = "0.11.27", default-features = false, features = [
"native-tls-vendored", # worksaround openssl issue in cross in Docker image. Could potentially use: openssl-sys = { version = "0.9", features = ['vendored'] }
] }
multiaddr = "0.18"
thiserror = "2.0"
bon = "3.1.1" # for easy builder pattern
wasmparser = "0.221"
rdx = { version = "0.3.0", git = "https://github.com/DougAnderson444/rdx.git" }
rand = "0.8"
send_wrapper = "0.6"
dirs = "5.0.1"
anyhow = "1.0"
futures = "0.3"
peerpiper = { git = "https://github.com/PeerPiper/peerpiper.git" }
serde_json = "1.0"
chrono = "0.4"
blockstore = "0.7.1"
cid = "0.11.1"
web-time = "1.1.0"
rfd = "0.15" # Rust File Dialog
# native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tokio = { version = "1", features = [
"time",
"rt",
"macros",
"sync",
"rt-multi-thread",
] }
peerpiper-plugins = { git = "https://github.com/PeerPiper/peerpiper.git" }
peerpiper-native = { git = "https://github.com/PeerPiper/peerpiper.git" }
ollama-rs = { version = "0.2.4", features = ["stream"] }
ollama-launcher = { git = "https://github.com/DougAnderson444/eframe_ollama.git" }
# web:
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = "0.4"
web-sys = { version = "0.3.70", features = [
"FileReader",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Headers",
"Storage",
"Window",
] }
serde-wasm-bindgen = "0.6"
peerpiper-browser = { git = "https://github.com/PeerPiper/peerpiper.git" }
tokio = { version = "1", features = ["sync"] }
gloo-timers = { version = "0.3.0", features = ["futures"] }
[build-dependencies]
wasmparser = "0.221"
[profile.release]
opt-level = 2 # fast and small wasm
lto = true
codegen-units = 1
# Optimize all dependencies even in debug builds:
[profile.dev.package."*"]
opt-level = 2
[patch.crates-io]
# patch peerpiper-plugins = { git = "https://github.com/PeerPiper/peerpiper.git" }
# [patch.'https://github.com/PeerPiper/peerpiper.git']
# peerpiper-plugins = { path = "../peerpiper/crates/peerpiper-plugins" }
# peerpiper = { path = "../peerpiper/crates/peerpiper" }
# peerpiper-native = { path = "../peerpiper/crates/peerpiper-native" }
# peerpiper-browser = { path = "../peerpiper/crates/peerpiper-browser" }
# [patch.'https://github.com/DougAnderson444/rdx.git']
# rdx = { path = "../rdx" }
# html-to-egui = { path = "../rdx/crates/html-to-egui" }
# html-egui-bindgen = { path = "../rdx/crates/html-egui-bindgen" }
# If you want to use the bleeding edge version of egui and eframe:
# egui = { git = "https://github.com/emilk/egui", branch = "master" }
# eframe = { git = "https://github.com/emilk/egui", branch = "master" }
# If you fork https://github.com/emilk/egui you can test with:
# egui = { path = "../egui/crates/egui" }
# eframe = { path = "../egui/crates/eframe" }