[package] name = "storyteller-web" edition = "2018" version = "0.0.1" authors = [ "Brandon Thomas ", "Brandon Thomas ", ] 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" hmac = "0.10.0" md-5 = "0.9.1" sha2 = "0.9.5" # Serialization serde = "1.0.125" serde_derive = "1.0.125" serde_json = "1.0.64" toml = "0.5.8" [build-dependencies] # NB: Only using diesel for migrations support diesel = { version = "1.4.6", features = ["mysql"] }