[package] name = "daily-epub" version = "0.3.0" edition = "2024" [dependencies] ammonia = "4.1.4" anyhow = "1.0.104" arborium = { version = "2.18.2", default-features = false, features = ["lang-asm", "lang-awk", "lang-bash", "lang-c", "lang-c-sharp", "lang-clojure", "lang-cmake", "lang-commonlisp", "lang-cpp", "lang-css", "lang-d", "lang-dart", "lang-diff", "lang-dockerfile", "lang-elisp", "lang-elixir", "lang-elm", "lang-erlang", "lang-fish", "lang-fsharp", "lang-gleam", "lang-glsl", "lang-go", "lang-graphql", "lang-groovy", "lang-haskell", "lang-hcl", "lang-html", "lang-ini", "lang-java", "lang-javascript", "lang-jq", "lang-json", "lang-julia", "lang-kotlin", "lang-lean", "lang-lua", "lang-make", "lang-matlab", "lang-nix", "lang-objc", "lang-ocaml", "lang-odin", "lang-perl", "lang-php", "lang-powershell", "lang-prolog", "lang-proto", "lang-python", "lang-r", "lang-ruby", "lang-rust", "lang-scala", "lang-scheme", "lang-scss", "lang-solidity", "lang-sql", "lang-starlark", "lang-swift", "lang-toml", "lang-tsx", "lang-typescript", "lang-verilog", "lang-vhdl", "lang-vim", "lang-x86asm", "lang-xml", "lang-yaml", "lang-zig", "lang-zsh"] } askama = "0.16.0" async-trait = "0.1.92" axum = "0.8.9" axum-login = { git = "https://github.com/maxcountryman/axum-login.git", rev = "151c72d7a1b4646830f86b4332e6bd6e34d719a7", version = "0.18.0" } base64 = "0.23.1" betlang = "0.1.1" clap = { version = "4.6.6", features = ["derive"] } dom_smoothie = "0.18.0" epub-builder = "0.8.3" figment = { version = "0.10.19", features = ["toml", "env"] } futures = "0.3.34" hex = "0.4.3" hmac = "0.13.0" image = "0.25.10" jiff = { version = "0.2.35", features = ["serde"] } lettre = { version = "0.11", default-features = false, features = ["builder", "smtp-transport", "tokio1", "tokio1-rustls-tls", "hostname"] } libc = "0.2.189" password-auth = "1.0.0" percent-encoding = "2.3.2" rand = "0.10.2" reqwest = { version = "0.13.4", default-features = false, features = [ "rustls", "gzip", "json", "charset", "http2", "query", "system-proxy", ] } resvg = "0.48.1" rpassword = "7.5.4" scraper = "0.27.0" serde = { version = "1.0.229", features = ["derive"] } serde_json = "1.0.151" sha2 = "0.11.0" sqlx = { version = "0.9.0", default-features = false, features = [ "derive", "json", "macros", "migrate", "runtime-tokio", "sqlite", "tls-rustls-ring", ] } thiserror = "2.0.20" time = "0.3.55" tiny-skia = "0.12.0" tokio = { version = "1.53.1", features = ["full"] } tokio-util = { version = "0.7.19", features = ["io"] } toml = "1.1.4" toml_edit = "0.25" tower-http = { version = "0.7.0", features = ["trace", "fs", "request-id"] } tower_governor = { version = "0.8.0", features = ["axum"] } tracing = "0.1.44" tracing-subscriber = { version = "0.3.23", features = ["env-filter"] } url = { version = "2.5.8", features = ["serde"] } zip = { version = "6", default-features = false, features = ["deflate"] } [profile.release] # Per-request cost in the web server is JSON decode and template render, both # CPU-bound and spread across crates; whole-program LTO and one codegen unit # buy a slice of that for a longer release build (tests use the dev profile). lto = "fat" codegen-units = 1 [dev-dependencies] figment = { version = "0.10.19", features = ["test", "toml", "env"] } roxmltree = "0.21.1" tempfile = "3.27.0" tower = { version = "0.5.3", features = ["util"] }