Rust terminal sessions
Rust libraries for parsing terminal output, embedding live PTY sessions, and driving terminal programs with waits and snapshots.
Use the parser directly when you own the bytes, use the managed PTY when you need a live child process, and use the driver when you want terminal automation verbs such as wait, snapshot, inspect, and signal.
tastty-core parse bytes -> Screen
tastty spawn PTY -> Terminal
tastty-driver wait -> Snapshot
choose the lowest layer that owns
the lifecycle you need
Depend on tastty-core when your program already owns the transport and needs terminal protocol state without PTY lifecycle.
Depend on tastty when you need to spawn a child process, keep a parsed screen current, resize, send input, and wait for exit.
Depend on tastty-driver when the code is active: it waits for conditions, captures snapshots, inspects modes, and controls the process.