[package] name = "drmemd" version = "0.4.1" authors = ["Rich Neswold "] edition = "2021" description = "Main process of the DrMem control system" homepage = "https://github.com/DrMemCS/drmem" repository = "https://github.com/DrMemCS/drmem" license = "MIT" categories = ["embedded", "hardware-support"] keywords = ["control-system", "automation"] [badges] maintenance = { status = "actively-developed" } [build-dependencies] cfgrammar = "0.13" lrlex = "0.13" lrpar = "0.13" [dependencies] async-trait.workspace = true futures.workspace = true toml = { workspace = true, features = ["parse"] } tokio = { workspace = true, features = ["rt-multi-thread", "time", "fs", "macros"] } tokio-stream = { workspace = true, features = ["net", "sync"] } tracing.workspace = true tracing-futures = { workspace = true, features = ["std-future", "std"] } tracing-subscriber = { workspace = true, features = ["ansi"] } serde.workspace = true serde_derive.workspace = true clap = { version = "4", features = ["cargo"] } chrono = { workspace = true, features = ["clock"] } palette.workspace = true lazy_static = "1" drmem-api = { path = "../drmem-api", version = "0.4.1" } cfgrammar = "0.13" lrlex = "0.13" lrpar = "0.13" [dev-dependencies] tokio-stream = { workspace = true, features = ["sync", "time"] } # This section defines the driver dependencies. Most drivers are # optional, but a few drivers define common devices for a `drmem` # installation. [dependencies.drmem-drv-ntp] path = "../drivers/drmem-drv-ntp" version = "0.4" optional = true [dependencies.drmem-drv-sump] path = "../drivers/drmem-drv-sump" version = "0.4" optional = true [dependencies.drmem-drv-tplink] path = "../drivers/drmem-drv-tplink" version = "0.2" optional = true [dependencies.drmem-drv-weather-wu] path = "../drivers/drmem-drv-weather-wu" version = "0.4" optional = true # This section defines the optional dependencies for backend storage. [dependencies.redis] version = "0.25" default-features = false features = ["tokio-comp", "streams"] optional = true # This section defines the optional dependencies for the 'graphql' # feature. [dependencies.juniper] version = "0.16" features = ["chrono"] optional = true [dependencies.juniper_warp] version = "0.8" features = ["subscriptions"] optional = true [dependencies.juniper_graphql_ws] version = "0.4" optional = true [dependencies.warp] version = "0.3" optional = true [dependencies.libmdns] version = "0.8" optional = true # These are features that can be enabled for drmem. [features] default = [] # Backends simple-backend = [] redis-backend = ["redis"] # Client APIs no-client = [] graphql = ["warp", "juniper", "juniper_graphql_ws", "juniper_warp", "libmdns"] graphiql = ["graphql"] # Drivers driver-ntp = ["drmem-drv-ntp"] driver-sump = ["drmem-drv-sump"] driver-tplink = ["drmem-drv-tplink"] driver-weather-wu = ["drmem-drv-weather-wu"] all-drivers = ["driver-ntp", "driver-sump", "driver-tplink", "driver-weather-wu"]