[package]
edition = "2021"
name = "coerce"
version = "0.8.11"
authors = ["Leon Hartley <ljph@outlook.com>"]
description = "Async actor runtime and distributed systems framework"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/leonhartley/coerce-rs"
[package.metadata.docs.rs]
all-features = true
[[bench]]
name = "actor_messaging"
harness = false
[[bench]]
name = "actor_creation"
harness = false
[dependencies.anyhow]
version = "1.0.71"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.6.18"
features = ["query"]
optional = true
[dependencies.byteorder]
version = "1.4.3"
optional = true
[dependencies.bytes]
version = "1.4.0"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true
[dependencies.futures]
version = "0.3.28"
[dependencies.hashring]
version = "0.3.0"
optional = true
[dependencies.hmac]
version = "0.12.1"
optional = true
[dependencies.jwt]
version = "0.16.0"
optional = true
[dependencies.lazy_static]
version = "1.4.0"
[dependencies.metrics]
version = "0.21.0"
optional = true
[dependencies.metrics-exporter-prometheus]
version = "0.12.1"
optional = true
[dependencies.metrics-util]
version = "0.15.0"
optional = true
[dependencies.parking_lot]
version = "0.12.1"
optional = true
[dependencies.protobuf]
version = "=3.2.0"
optional = true
[dependencies.rand]
version = "0.8.5"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10.6"
optional = true
[dependencies.tokio]
version = "1.32.0"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1.14"
optional = true
[dependencies.tokio-util]
version = "0.7.8"
features = ["full"]
[dependencies.tracing]
version = "0.1.37"
[dependencies.utoipa]
version = "3"
features = [
"axum_extras",
"chrono",
]
optional = true
[dependencies.utoipa-swagger-ui]
version = "3"
features = ["axum"]
optional = true
[dependencies.uuid]
version = "1.1.2"
features = [
"serde",
"v4",
]
[dependencies.valuable]
version = "0.1"
features = ["derive"]
[dev-dependencies.bencher]
version = "0.1.5"
[dev-dependencies.coerce-macros]
version = "0.2.0"
[dev-dependencies.tracing-subscriber]
version = "0.3.17"
features = ["json"]
[features]
actor-events = []
actor-tracing = []
actor-tracing-debug = ["actor-tracing"]
actor-tracing-info = ["actor-tracing"]
actor-tracing-trace = ["actor-tracing"]
api = [
"remote",
"dep:axum",
"dep:utoipa",
"dep:utoipa-swagger-ui",
]
client-auth-jwt = [
"dep:jwt",
"dep:hmac",
"dep:sha2",
]
default = []
full = [
"remote",
"persistence",
"metrics",
"sharding",
"api",
"actor-tracing",
"actor-tracing-info",
"client-auth-jwt",
]
metrics = [
"dep:metrics",
"dep:metrics-exporter-prometheus",
"dep:metrics-util",
]
persistence = [
"dep:protobuf",
"dep:anyhow",
"dep:parking_lot",
]
remote = [
"dep:hashring",
"dep:protobuf",
"dep:chrono",
"dep:tokio-stream",
"dep:parking_lot",
"dep:bytes",
"dep:byteorder",
]
sharding = [
"remote",
"persistence",
]
tracing-unstable = ["tracing/valuable"]