[package]
name = "atomr"
description = "Native Rust runtime for actor-based concurrent and distributed systems. Umbrella crate — pull in subsystems via feature flags."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
documentation = "https://docs.rs/atomr"
readme = "../../README.md"
keywords = ["actor", "concurrency", "distributed", "async", "supervisor"]
categories = ["concurrency", "asynchronous", "network-programming"]
[dependencies]
atomr-core = { workspace = true }
atomr-config = { workspace = true }
atomr-macros = { workspace = true, optional = true }
atomr-testkit = { workspace = true, optional = true }
atomr-remote = { workspace = true, optional = true }
atomr-cluster = { workspace = true, optional = true }
atomr-cluster-tools = { workspace = true, optional = true }
atomr-cluster-sharding = { workspace = true, optional = true }
atomr-cluster-metrics = { workspace = true, optional = true }
atomr-distributed-data = { workspace = true, optional = true }
atomr-persistence = { workspace = true, optional = true }
atomr-persistence-query = { workspace = true, optional = true }
atomr-streams = { workspace = true, optional = true }
atomr-patterns = { workspace = true, optional = true }
atomr-coordination = { workspace = true, optional = true }
atomr-discovery = { workspace = true, optional = true }
atomr-di = { workspace = true, optional = true }
atomr-hosting = { workspace = true, optional = true }
atomr-telemetry = { workspace = true, optional = true }
[features]
default = ["macros"]
macros = ["dep:atomr-macros"]
testkit = ["dep:atomr-testkit"]
remote = ["dep:atomr-remote"]
cluster = ["dep:atomr-cluster", "remote"]
cluster-tools = ["dep:atomr-cluster-tools", "cluster"]
cluster-sharding = ["dep:atomr-cluster-sharding", "cluster", "persistence", "distributed-data"]
cluster-metrics = ["dep:atomr-cluster-metrics", "cluster"]
distributed-data = ["dep:atomr-distributed-data", "cluster"]
persistence = ["dep:atomr-persistence"]
persistence-query = ["dep:atomr-persistence-query", "persistence"]
streams = ["dep:atomr-streams"]
patterns = ["dep:atomr-patterns", "persistence", "persistence-query", "streams"]
coordination = ["dep:atomr-coordination"]
discovery = ["dep:atomr-discovery"]
di = ["dep:atomr-di"]
hosting = ["dep:atomr-hosting", "di"]
telemetry = ["dep:atomr-telemetry"]
full = [
"macros",
"testkit",
"remote",
"cluster",
"cluster-tools",
"cluster-sharding",
"cluster-metrics",
"distributed-data",
"persistence",
"persistence-query",
"streams",
"patterns",
"coordination",
"discovery",
"di",
"hosting",
"telemetry",
]
cluster-app = [
"macros",
"remote",
"cluster",
"cluster-tools",
"cluster-sharding",
"distributed-data",
"persistence",
"persistence-query",
"streams",
"patterns",
"telemetry",
]
[lints]
workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]