reviewloop 0.2.1

Reproducible, guardrailed automation for academic review workflows on paperreview.ai
Documentation
[package]
name = "reviewloop"
version = "0.2.1"
edition = "2024"
rust-version = "1.85"
description = "Reproducible, guardrailed automation for academic review workflows on paperreview.ai"
readme = "README.md"
license = "GPL-3.0-only"
repository = "https://github.com/Acture/reviewloop"
homepage = "https://github.com/Acture/reviewloop"
documentation = "https://docs.rs/reviewloop"
keywords = ["academic", "review", "research", "cli", "automation"]
categories = ["command-line-utilities", "science"]

[features]
default = []
bar = ["dep:tray-icon", "dep:tao", "dep:muda", "dep:rfd"]
imap = ["dep:imap", "dep:native-tls"]

[[bin]]
name = "reviewloop"
path = "src/main.rs"

[[bin]]
name = "reviewloop-bar"
path = "src/bin/reviewloop_bar.rs"
required-features = ["bar"]

[dependencies]
anyhow = "1.0"
async-trait = "0.1"
base64 = "0.22"
chrono = { version = "0.4", features = ["serde", "clock"] }
clap = { version = "4.5", features = ["derive"] }
rand = "0.8"
regex = "1.11"
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls"] }
reqwest-middleware = { version = "0.4", features = ["json", "multipart"] }
http = "1"
rusqlite = { version = "0.31", features = ["bundled", "chrono"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = "0.10"
tokio = { version = "1.46", features = ["rt-multi-thread", "macros", "sync", "time", "signal", "fs", "io-util", "net", "process"] }
toml = "0.8"
uuid = { version = "1.11", features = ["v4", "serde"] }
thiserror = "2.0"
imap = { version = "2.4", optional = true }
native-tls = { version = "0.2", optional = true }
oauth2 = { version = "5.0", default-features = false, features = ["reqwest", "rustls-tls"] }
tracing = "0.1"
tracing-appender = "0.2"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
# notify-rust: default features pick the platform-appropriate backend
# (mac-notification-sys on macOS, dbus on Linux, winrt on Windows). Pinning
# default-features = false strips ALL Linux backends and breaks the Linux
# build with "you have to build with either zbus or dbus turned on".
notify-rust = "4"
tray-icon = { version = "0.23", optional = true, default-features = false, features = ["common-controls-v6"] }
tao = { version = "0.35", optional = true }
muda = { version = "0.19", optional = true }
rfd = { version = "0.17", optional = true }

[dev-dependencies]
axum = "0.8"
tempfile = "3.14"