rust-expect
A modern, async-first terminal automation library for Rust, inspired by the classic Expect tool.
Features
- Async/Await First: Built on Tokio for efficient, non-blocking I/O
- Pattern Matching: Literal strings, regular expressions, and glob patterns
- PTY Support: Full pseudo-terminal support on Unix and Windows
- SSH Integration: Built-in SSH session management (optional)
- Screen Emulation: Virtual terminal with ANSI escape sequence support
- PII Redaction: Automatic sensitive data masking
- Dialog Scripting: Declarative conversation flows
- Human-like Typing: Configurable typing simulation
Usage
use *;
async
Feature Flags
ssh- SSH session supportmock- Mock sessions for testingscreen- Virtual terminal emulationpii-redaction- Automatic PII maskingtest-utils- Testing utilitiesmetrics- Performance metricsfull- All features
License
Licensed under MIT or Apache-2.0.