[package]
name = "spvirit-tools"
version = "0.1.5"
edition = "2024"
description = "PVAccess client/server tools for EPICS"
license = "BSD-3-Clause"
repository = "https://github.com/ISISNeutronMuon/spvirit"
readme = "../README.md"
keywords = ["epics", "pvaccess"]  
categories = ["science"]
authors = ["Mateusz Leputa for ISIS Neutron and Muon Source Copyright 2026"]

[features]
default = ["client", "server", "tui"]
client = []
server = []
tui = ["dep:ratatui", "dep:color-eyre"]

[dependencies]
spvirit-types = { version = "0.1.5", path = "../spvirit-types" }
spvirit-codec = { version = "0.1.5", path = "../spvirit-codec" }
spvirit-client = { version = "0.1.5", path = "../spvirit-client" }
spvirit-server = { version = "0.1.5", path = "../spvirit-server" }

tokio = { version = "1.47.1", features = ["full"] }
tracing = "0.1.41"
tracing-subscriber = "0.3.20"
chrono = "0.4"
serde_json = "1.0.145"
regex = "1.11.2"
dns-lookup = "3.0.0"
get_if_addrs = "0.5.3"
hex = "0.4.3"
socket2 = { version = "0.5", features = ["all"] }
argparse = "0.2.2"
ratatui = { version = "0.29.0", optional = true }
color-eyre = { version = "0.6.5", optional = true }

[[bin]]
name = "spget"
path = "src/bin/spvirit_get.rs"
required-features = ["client"]

[[bin]]
name = "spmonitor"
path = "src/bin/spvirit_monitor.rs"
required-features = ["client"]

[[bin]]
name = "spput"
path = "src/bin/spvirit_put.rs"
required-features = ["client"]

[[bin]]
name = "spsine"
path = "src/bin/spvirit_sine.rs"
required-features = ["client"]

[[bin]]
name = "spinfo"
path = "src/bin/spvirit_info.rs"
required-features = ["client"]

[[bin]]
name = "spexplore"
path = "src/bin/spvirit_explore.rs"
required-features = ["client", "tui"]

[[bin]]
name = "splist"
path = "src/bin/spvirit_list.rs"
required-features = ["client"]

[[bin]]
name = "spserver"
path = "src/bin/spvirit_server.rs"
required-features = ["server"]

[[bin]]
name = "spdodeca"
path = "src/bin/spvirit_dodeca.rs"
required-features = ["server"]

[[bin]]
name = "spsearch"
path = "src/bin/spvirit_search.rs"
required-features = ["client", "tui"]

[[bin]]
name = "spget_compare"
path = "src/bin/spvirit_get_compare.rs"
required-features = ["client"]
