roboplc 0.6.3

Framework for PLCs and real-time micro-services
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "roboplc"
version = "0.6.3"
authors = ["Serhij S. <div@altertech.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Framework for PLCs and real-time micro-services"
readme = "README.md"
keywords = [
    "realtime",
    "robots",
    "plc",
    "industrial",
]
license = "Apache-2.0"
repository = "https://github.com/roboplc/roboplc"

[package.metadata.docs.rs]
features = ["full"]

[package.metadata.playground]
features = ["full"]

[features]
async = ["dep:parking_lot_rt"]
default = ["locking-default"]
eapi = [
    "dep:eva-common",
    "dep:eva-sdk",
    "dep:busrt",
    "dep:tokio",
    "dep:hostname",
]
full = [
    "eapi",
    "modbus",
    "metrics",
    "pipe",
    "rvideo",
    "rflow",
    "logicline",
    "async",
    "json",
    "msgpack",
    "hmi",
    "input-events",
]
hmi = [
    "dep:egui",
    "dep:eframe",
    "dep:winit",
]
input-events = ["dep:evdev"]
json = ["dep:serde_json"]
locking-default = [
    "dep:parking_lot",
    "rtsc/parking_lot",
    "rvideo?/locking-default",
    "rflow?/locking-default",
    "logicline?/locking-default",
]
locking-rt = [
    "dep:parking_lot_rt",
    "rvideo?/locking-rt",
    "rflow?/locking-rt",
    "logicline?/locking-rt",
]
locking-rt-safe = [
    "rvideo?/locking-rt-safe",
    "rflow?/locking-rt-safe",
    "logicline?/locking-rt-safe",
]
logicline = ["dep:logicline"]
metrics = [
    "dep:metrics",
    "dep:metrics-exporter-prometheus",
    "dep:metrics-exporter-scope",
    "dep:tokio",
]
modbus = ["dep:rmodbus"]
msgpack = ["dep:rmp-serde"]
pipe = [
    "tokio/process",
    "tokio/io-util",
    "tokio/macros",
    "tokio/rt",
    "tokio/time",
]
rflow = ["dep:rflow"]
rvideo = ["dep:rvideo"]

[lib]
name = "roboplc"
path = "src/lib.rs"

[[example]]
name = "modbus-master"
path = "examples/modbus-master.rs"
required-features = ["modbus"]

[[example]]
name = "modbus-slave"
path = "examples/modbus-slave.rs"
required-features = ["modbus"]

[[example]]
name = "raw-udp"
path = "examples/raw-udp.rs"

[[example]]
name = "shutdown"
path = "examples/shutdown.rs"

[[example]]
name = "shutdown-custom"
path = "examples/shutdown-custom.rs"

[[example]]
name = "pipe"
path = "examples/pipe.rs"
required-features = ["pipe"]

[[example]]
name = "rflow"
path = "examples/rflow.rs"
required-features = ["rflow"]

[[example]]
name = "eapi"
path = "examples/eapi.rs"
required-features = ["eapi"]

[[example]]
name = "snmp-modbus"
path = "examples/snmp-modbus.rs"
required-features = [
    "modbus",
    "snmp2",
]

[[example]]
name = "hmi"
path = "examples/hmi.rs"
required-features = ["hmi"]

[dependencies.atomic-timer]
version = "0.3.2"
features = ["serde"]

[dependencies.binrw]
version = "0.14.0"

[dependencies.bma-ts]
version = "0.2.4"
features = ["serde"]

[dependencies.busrt]
version = "0.5.2"
features = [
    "rpc",
    "ipc",
]
optional = true

[dependencies.bytemuck]
version = "1.17.1"

[dependencies.bytes]
version = "1.7.1"

[dependencies.colored]
version = "1"

[dependencies.eframe]
version = "0.33.0"
optional = true

[dependencies.egui]
version = "0.33.0"
optional = true

[dependencies.env_logger]
version = "0.10"

[dependencies.eva-common]
version = "0.4.4"
features = [
    "events",
    "payload",
    "common-payloads",
    "acl",
]
optional = true
default-features = false

[dependencies.eva-sdk]
version = "^0.4.1"
features = ["controller"]
optional = true

[dependencies.evdev]
version = "0.13"
optional = true

[dependencies.hostname]
version = "0.3.1"
optional = true

[dependencies.libc]
version = "0.2.153"

[dependencies.log]
version = "0.4.21"

[dependencies.logicline]
version = "^0.2.2"
features = [
    "recording",
    "exporter",
]
optional = true
default-features = false

[dependencies.metrics]
version = "0.24"
optional = true

[dependencies.metrics-exporter-prometheus]
version = "0.16.0"
features = ["http-listener"]
optional = true
default-features = false

[dependencies.metrics-exporter-scope]
version = "0.2.0"
optional = true

[dependencies.nix]
version = "0.29"
features = [
    "signal",
    "event",
]

[dependencies.object-id]
version = "0.1.3"

[dependencies.oneshot]
version = "0.1.6"
features = ["std"]
default-features = false

[dependencies.parking_lot]
version = "0.12.3"
optional = true

[dependencies.parking_lot_rt]
version = "0.12.1"
optional = true

[dependencies.pin-project]
version = "1.1.5"

[dependencies.rflow]
version = "^0.1.1"
optional = true
default-features = false

[dependencies.rmodbus]
version = "0.9.4"
optional = true

[dependencies.rmp-serde]
version = "1.3.0"
optional = true

[dependencies.roboplc-derive]
version = "0.3"

[dependencies.rtsc]
version = "0.4.3"

[dependencies.rvideo]
version = "0.5"
optional = true
default-features = false

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "rc",
]

[dependencies.serde_json]
version = "1.0.134"
optional = true

[dependencies.serial]
version = "0.4.0"

[dependencies.signal-hook]
version = "0.3.17"

[dependencies.snmp2]
version = "0.3"
optional = true

[dependencies.sysinfo]
version = "0.29"

[dependencies.thiserror]
version = "1.0.57"

[dependencies.tokio]
version = "1.36.0"
optional = true

[dependencies.tracing]
version = "0.1.40"

[dependencies.winit]
version = "0.30.9"
optional = true

[dev-dependencies.insta]
version = "1.36.1"

[dev-dependencies.log]
version = "0.4.21"

[dev-dependencies.tokio]
version = "1.36.0"
features = [
    "rt",
    "macros",
    "time",
]

[dev-dependencies.tokio-util]
version = "0.7.11"

[dev-dependencies.tracing]
version = "0.1.40"
features = ["log"]

[target."cfg(windows)".dependencies.parking_lot_rt]
version = "0.12.1"