libshpool 0.5.0

libshpool contains the implementation of the shpool tool, which provides a mechanism for establishing lightweight persistant shell sessions to gracefully handle network disconnects.
Documentation
[package]
name = "libshpool"
version = "0.5.0"
edition = "2021"
repository = "https://github.com/shell-pool/shpool"
authors = ["Ethan Pailes <pailes@google.com>"]
description = '''
libshpool contains the implementation of the shpool tool,
which provides a mechanism for establishing lightweight
persistant shell sessions to gracefully handle network
disconnects.
'''
license = "Apache-2.0"
keywords = ["tmux", "tty", "terminal", "shell", "persistence"]

[features]
test_hooks = [] # for internal testing only, don't enable this feature

[dependencies]
clap = { version = "4", features = ["derive"] } # cli parsing
anyhow = "1" # dynamic, unstructured errors
chrono = "0.4" # getting current time and formatting it
serde = "1" # config parsing, connection header formatting
serde_derive = "1" # config parsing, connection header formatting
toml = "0.7" # config parsing
byteorder = "1" # endianness
signal-hook = "0.3" # signal handling
nix = { version = "0.26", features = ["poll", "ioctl"] } # rusty wrapper for unix apis
shpool_pty = "0.3.0" # spawning shells in ptys
lazy_static = "1" # globals
crossbeam-channel = "0.5" # channels
libc = "0.2" # basic libc types
log = "0.4" # logging facade (not used directly, but required if we have tracing-log enabled)
tracing = "0.1" # logging and performance monitoring facade
bincode = "1" # serialization for the control protocol
shpool_vt100 = "0.1.2" # terminal emulation for the scrollback buffer
shell-words = "1" # parsing the -c/--cmd argument

[dependencies.tracing-subscriber]
version = "0.3"
default-features = false
features = ["std", "fmt", "tracing-log", "smallvec"]

[dev-dependencies]
ntest = "0.9" # test timeouts