-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathCargo.toml
111 lines (89 loc) · 4.01 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
[package]
name = "navigatum-server"
version = "1.0.0"
authors = ["Markus A <[email protected]>", "Frank Elsinga <[email protected]>"]
edition = "2021"
description = "Navigating around TUM with excellence – An API and website to search for rooms, buildings and other places"
repository = "https://github.com/TUM-Dev/navigatum"
readme = "README.md"
license = "GPL-3.0"
keywords = ["website", "navigation", "api-rest", "tum"]
default-run = "navigatum-server"
[[bin]]
name = "navigatum-server"
path = "src/main.rs"
[dependencies]
# logging/obeservability
actix-web-prom = { version = "0.9.0", default-features = false, features = [] }
tracing-subscriber = { version = "0.3.19", features = ["env-filter", "json", "fmt"] }
tracing = "0.1.41"
tracing-log = { version = "0.2.0", features = ["std", "log-tracer", "interest-cache"] }
tracing-actix-web = "0.7.15"
sentry = { version = "0.35.0", features = ["tracing", "metrics", "backtrace", "contexts", "debug-images", "panic", "reqwest", "rustls"] }
sentry-actix = "0.35.0"
# errors
anyhow = { version = "1.0.94", features = ["backtrace"] }
#serialisation
serde = { version = "1.0.216", features = ["derive"] }
serde_json = { version = "1.0.133", features = ["raw_value"] }
serde_yaml = "0.9.34"
# runtime + webserver
tokio = { version = "1.42.0", default-features = false, features = ["rt-multi-thread", "time", "sync", "process"] }
actix-web = { version = "4.9.0", default-features = false, features = ["compress-brotli", "compress-gzip", "compress-zstd", "cookies", "http2", "macros"] }
actix-cors = "0.7.0"
rustls = "0.23.20"
cached = { version = "0.54.0", features = ["default", "async", "disk_store"] }
futures = "0.3.31"
unicode-truncate = "2.0.0"
# database
sqlx = { version = "0.8.2", features = ['chrono', 'json', 'macros', 'migrate', 'postgres', 'runtime-tokio', 'tls-rustls'], default-features = false }
chrono = { version = "0.4.39", default-features = false, features = ["serde"] }
# search
meilisearch-sdk = "0.27.1"
logos = "0.15.0"
regex = "1.11.1"
# web access
oauth2 = { version = "4.4.2", default-features = false, features = ["rustls-tls", "reqwest"] }
reqwest = { version = "0.12.9", default-features = false, features = ["gzip", "hickory-dns", "http2", "json", "rustls-tls"] }
# image production
image = { version = "0.25.5", default-features = false, features = ["jpeg", "png", "webp"] }
imageproc = "0.25.0"
ab_glyph = { version = "0.2.28", default-features = false }
rand = "0.8.5"
octocrab = { version = "0.42.1", default-features = false, features = ["default-client", "retry", "rustls", "rustls-webpki-tokio"] }
# auth/security
jsonwebtoken = { version = "9.3.0", default-features = false, features = [] }
actix-governor = { version = "0.8.0", features = ["logger"] }
# proposing feedback
tempfile = "3.12.0"
base64 = "0.22.1"
polars = { version = "0.45.1", features = ["dtype-struct", "dtype-date", "dtype-datetime", "dtype-duration", "parquet"], default-features = false }
# geodata
geo = { version = "0.29.3", features = ["use-serde"], default-features = false }
geozero = { version = "0.14.0", features = ["with-postgis-sqlx", "with-geo"], default-features = false }
geo-types = { version = "0.7.13", default-features = false }
actix-middleware-etag = "0.4.2"
[dev-dependencies]
insta = { version = "1.39.0", features = ["json", "redactions", "yaml"] }
pretty_assertions = "1.4.1"
testcontainers = { version = "0.23.1", features = ["watchdog"] }
testcontainers-modules = { version = "0.11.4", features = ["meilisearch", "postgres"] }
tracing-test = "0.2.5"
[profile.release]
strip = false
lto = false
# Enable max optimizations for some dependencies, but not for our code
# nessesary to get acceptable performance out of the image processing code
[profile.dev.package.image]
opt-level = 3
[profile.dev.package.imageproc]
opt-level = 3
[profile.dev.package.ab_glyph]
opt-level = 3
# https://github.com/launchbadge/sqlx?tab=readme-ov-file#compile-time-verification
[profile.dev.package.sqlx-macros]
opt-level = 3
# https://insta.rs/docs/quickstart/
[profile.dev.package]
insta.opt-level = 3
similar.opt-level = 3