[package]
name = "river-data-core"
version = "0.2.0"
edition = "2024"
rust-version = "1.95"
description = "Common types & traits for the in the river-data platform"
license = "MIT"
repository = "https://github.com/RIVER-EPFL/river-data-core"
keywords = ["sync", "control-plane", "axum", "sea-orm"]
categories = ["web-programming", "database"]
[lints.rust]
unsafe_code = "forbid"
[features]
default = []
client = ["dep:reqwest"]
server = ["dep:sea-orm", "dep:axum", "dep:moka"]
toolbox = []
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.11", features = ["v4", "serde"] }
tokio = { version = "1.43", features = ["rt", "time", "signal", "sync", "macros"] }
tracing = "0.1"
thiserror = "2.0"
sha2 = "0.10"
rand = "0.9"
async-trait = "0.1"
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false, optional = true }
sea-orm = { version = "1.1", features = ["sqlx-postgres", "runtime-tokio-rustls", "with-uuid", "with-chrono", "with-json"], optional = true }
axum = { version = "0.8", optional = true }
moka = { version = "0.12", features = ["future"], optional = true }
[dev-dependencies]
http = "1.0"