{"repo":"zhiburt/expectrl","free":true,"listed":false,"github":"https://github.com/zhiburt/expectrl","clone":"git clone https://github.com/zhiburt/expectrl.git","description":"A rust library for controlling interactive programs in a pseudo-terminal","language":"Rust","stars":216,"topics":["pty","tty","rust","unix","process","processes","expect","rexpect","pexpect","console"],"license":"MIT","category":"workflow-automation","readme_excerpt":"expectrl Expectrl is a tool for automating terminal applications. Expectrl is a rust module for spawning child applications and controlling them and responding to expected patterns in process's output. Expectrl works like Don Libes' Expect. Expectrl allows your script to spawn a child application and control it as if a human were typing commands. Using the library you can: - Spawn process - Control process - Interact with process's IO(input/output). expectrl like original expect may shine when you're working with interactive applications. If your application is not interactive you may not find the library the best choiсe. Usage Add expectrl to your Cargo.toml. An example where the program simulates a used interacting with ftp . The same example but the password will be read from stdin. For more examples, check the examples directory. Features - It has an async support (To enable them you must turn on an async feature). - It supports logging. - It supports interact function. - It works on windows. Notes It was originally inspired by [philippkeller/rexpect] and [pexpect]. Licensed under MIT License [philippkeller/rexpect]: https://github.com/philippkeller/rexpect [pexpect]: https://pexpect.readthedocs.io/en/stable/overview.html","default_branch":null,"files":null,"tree":[],"storefront":"/r/zhiburt","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zhiburt/expectrl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}