[package] name = "commonware-runtime" edition.workspace = true publish = true version.workspace = true license.workspace = true description = "Execute asynchronous tasks with a configurable scheduler." readme = "README.md" homepage.workspace = true repository = "https://github.com/commonwarexyz/monorepo/tree/main/runtime" documentation = "https://docs.rs/commonware-runtime" [dependencies] thiserror = { workspace = true } cfg-if = { workspace = true } commonware-macros = { workspace = true } commonware-utils = { workspace = true, features = ["std"] } futures = { workspace = true } rand = { workspace = true } tracing = { workspace = true } bytes = { workspace = true } sha2 = { workspace = true } governor = { workspace = true } prometheus-client = { workspace = true } tracing-subscriber = { workspace = true, features = ["fmt", "json", "env-filter"] } opentelemetry = { workspace = true } tracing-opentelemetry = { workspace = true } rayon = { workspace = true } async-lock = { workspace = true } io-uring = { workspace = true, optional = true } libc = { workspace = true } sysinfo = { workspace = true } [features] default = [] iouring-storage = ["io-uring"] iouring-network = ["io-uring"] # Enable "js" feature when WASM is target [target.'cfg(target_arch = "wasm32")'.dependencies.getrandom] version = "0.2.15" features = ["js"] [target.'cfg(not(target_arch = "wasm32"))'.dependencies] criterion = { workspace = true, features = ["async"] } tokio = { workspace = true, features = ["full"] } axum = { workspace = true } opentelemetry_sdk = { workspace = true, features = ["rt-tokio"] } opentelemetry-otlp = { workspace = true, features = ["http-proto"] } [lib] bench = false crate-type = ["rlib", "cdylib"]