Files
artcraft/Cargo.toml
T

108 lines
3.0 KiB
TOML

[package]
name = "storyteller-web"
edition = "2018"
version = "0.0.1"
authors = [
"Brandon Thomas <bt@brand.io>",
"Brandon Thomas <echelon@gmail.com>",
]
publish = false
# Main server monolith
[[bin]]
name = "storyteller-web"
path = "src/main.rs"
# Jobs for managing downloads and inference
[[bin]]
name = "tts-download-job"
path = "src/tts_download_job.rs"
[[bin]]
name = "tts-inference-job"
path = "src/tts_inference_job.rs"
[[bin]]
name = "w2l-download-job"
path = "src/w2l_download_job.rs"
[[bin]]
name = "w2l-inference-job"
path = "src/w2l_inference_job.rs"
[dependencies]
anyhow = "1.0.40"
base64 = "0.13.0"
chrono = { version = "0.4.19", features = ["serde"] }
derive_more = "0.99.14"
dotenv = "0.15.0"
easyenv = "0.0.5"
futures = "0.3.15"
hex = "0.4.3"
hostname = "0.3.1"
lazy_static = "1.4.0"
log = "0.4.14"
rand = "0.8.3"
regex = "1.5.4"
time = "0.2.26"
uuid = { version = "0.8.2", features = ["v4"] }
# Runtime
# NB(1): We switched to Tokio from `async-std` for broader ecosystem support.
#async-std = { version = "1.6", features = [ "attributes" ] }
# NB(2): Really unfortunate. We can't use Tokio 1.x due to a bug in `rust-s3` that I filed:
# https://github.com/durch/rust-s3/issues/198
#tokio = { version = "1.6.0", features = ["macros"] }
tokio = { version = "0.2.25", features = ["macros"] }
# Database
# "offline" supports typesafe builds without a live database
# "rustls" doesn't appear to work with IP addresses, per:
# https://github.com/launchbadge/sqlx/issues/1095#issuecomment-798050828
#sqlx = { version = "0.5", features = [ "mysql", "runtime-async-std-native-tls", "offline", "chrono" ] }
# NB: We can't use `sqlx` 0.5 due to the `rust-s3` bug that requires a Tokio 1.x -> 0.2 downgrade
#sqlx = { version = "0.5", features = [ "mysql", "runtime-actix-native-tls", "offline", "chrono" ] }
sqlx = { version = "0.4", features = [ "mysql", "runtime-tokio-native-tls", "offline", "chrono" ] }
# Files
data-encoding = "2.3.2"
ring = "0.17.0-alpha.10"
# NB: This is the source of all of our problems. `rust-s3` can't upload to object names with directories
# in the 0.27.* series, so we have to downgrade to 0.26, which includes a broad downgrade from Tokio 1.0 -> 0.2
#rust-s3 = "0.27.0-rc4"
#rust-s3 = { version = "0.27.0-rc4", features = ["with-async-std"], default-features = false }
rust-s3 = { version = "0.26" }
infer = "0.5.0"
subprocess = "0.2.6"
tempdir = "0.3.7"
# Web
actix-cors = "0.5.4"
actix-files= "0.5"
actix-http = "2.2.0"
actix-multipart = "0.3.0" # TODO: Ready for 0.4 upgrade
actix-rt = "2.2.0"
actix-utils = "3.0.0"
actix-web = "3.3.2"
jwt = "0.13.0"
# Crypto
bcrypt = "0.8" # password hashes
hmac = "0.10.0" # cookies
md-5 = "0.9.1" # gravatar
sha2 = "0.9.5" # file hashes, inference text hashes, etc.
# Serialization
serde = "1.0.125"
serde_derive = "1.0.125"
serde_json = "1.0.64"
toml = "0.5.8"
# Text processing
pulldown-cmark = "0.8.0"
[build-dependencies]
# NB: Only using diesel for migrations support
diesel = { version = "1.4.6", features = ["mysql"] }