Rust terminal sessions

tastty

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

Parser-only core

Depend on tastty-core when your program already owns the transport and needs terminal protocol state without PTY lifecycle.

Managed PTY

Depend on tastty when you need to spawn a child process, keep a parsed screen current, resize, send input, and wait for exit.

Driver control

Depend on tastty-driver when the code is active: it waits for conditions, captures snapshots, inspects modes, and controls the process.