mirror of
https://github.com/Xevion/banner.git
synced 2026-01-31 10:23:39 -06:00
Subjects now have individually calculated scrape intervals based on their historical change ratio, consecutive zero-change runs, failure counts, and the current time of day. This reduces unnecessary scrapes during inactive periods while maintaining responsiveness during peak hours. Includes four new admin endpoints for monitoring scraper health and scheduling decisions.
70 lines
2.1 KiB
TOML
70 lines
2.1 KiB
TOML
[package]
|
|
name = "banner"
|
|
version = "0.5.0"
|
|
edition = "2024"
|
|
default-run = "banner"
|
|
|
|
[features]
|
|
default = ["embed-assets"]
|
|
embed-assets = ["dep:rust-embed", "dep:mime_guess"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.99"
|
|
async-trait = "0.1"
|
|
axum = { version = "0.8.4", features = ["ws"] }
|
|
bitflags = { version = "2.9.4", features = ["serde"] }
|
|
chrono = { version = "0.4.42", features = ["serde"] }
|
|
compile-time = "0.2.0"
|
|
cookie = "0.18.1"
|
|
dashmap = "6.1.0"
|
|
dotenvy = "0.15.7"
|
|
figment = { version = "0.10.19", features = ["toml", "env"] }
|
|
fundu = "2.0.1"
|
|
futures = "0.3"
|
|
http = "1.3.1"
|
|
poise = "0.6.1"
|
|
rand = "0.9.2"
|
|
regex = "1.10"
|
|
reqwest = { version = "0.12.23", features = ["json", "cookies"] }
|
|
reqwest-middleware = { version = "0.4.2", features = ["json"] }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
serde_json = "1.0.143"
|
|
serenity = { version = "0.12.4", features = ["rustls_backend"] }
|
|
sqlx = { version = "0.8.6", features = [
|
|
"runtime-tokio-rustls",
|
|
"postgres",
|
|
"chrono",
|
|
"json",
|
|
"macros",
|
|
"migrate",
|
|
] }
|
|
thiserror = "2.0.16"
|
|
time = "0.3.43"
|
|
tokio = { version = "1.47.1", features = ["full"] }
|
|
tokio-util = "0.7"
|
|
tracing = "0.1.41"
|
|
tracing-subscriber = { version = "0.3.20", features = ["env-filter", "json"] }
|
|
url = "2.5"
|
|
governor = "0.10.1"
|
|
serde_path_to_error = "0.1.17"
|
|
num-format = "0.4.4"
|
|
tower-http = { version = "0.6.0", features = ["cors", "trace", "timeout", "compression-full"] }
|
|
rust-embed = { version = "8.0", features = ["include-exclude"], optional = true }
|
|
mime_guess = { version = "2.0", optional = true }
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
rapidhash = "4.1.0"
|
|
yansi = "1.0.1"
|
|
extension-traits = "2"
|
|
ts-rs = { version = "11.1.0", features = ["chrono-impl", "serde-compat", "serde-json-impl", "no-serde-warnings"] }
|
|
html-escape = "0.2.13"
|
|
axum-extra = { version = "0.12.5", features = ["query"] }
|
|
urlencoding = "2.1.3"
|
|
chrono-tz = "0.10.4"
|
|
|
|
[dev-dependencies]
|
|
|
|
# A 'release mode' profile that compiles quickly, but still 'appears' like a release build, useful for debugging
|
|
[profile.dev-release]
|
|
inherits = "dev"
|
|
debug-assertions = false
|