1{ lib
2, buildPythonPackage
3, fetchPypi
4, ptyprocess
5}:
6
7buildPythonPackage (rec {
8 pname = "pexpect";
9 version = "4.8.0";
10
11 src = fetchPypi {
12 inherit pname version;
13 sha256 = "fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c";
14 };
15
16 # Wants to run pythonin a subprocess
17 doCheck = false;
18
19 propagatedBuildInputs = [ ptyprocess ];
20
21 meta = with lib; {
22 homepage = "http://www.noah.org/wiki/Pexpect";
23 description = "Automate interactive console applications such as ssh, ftp, etc";
24 license = licenses.mit;
25 maintainers = with maintainers; [ zimbatm ];
26
27 longDescription = ''
28 Pexpect is similar to the Don Libes "Expect" system, but Pexpect
29 as a different interface that is easier to understand. Pexpect
30 is basically a pattern matching system. It runs programs and
31 watches output. When output matches a given pattern Pexpect can
32 respond as if a human were typing responses. Pexpect can be used
33 for automation, testing, and screen scraping. Pexpect can be
34 used for automating interactive console applications such as
35 ssh, ftp, passwd, telnet, etc. It can also be used to control
36 web applications via "lynx", "w3m", or some other text-based web
37 browser. Pexpect is pure Python. Unlike other Expect-like
38 modules for Python Pexpect does not require TCL or Expect nor
39 does it require C extensions to be compiled. It should work on
40 any platform that supports the standard Python pty module.
41 '';
42 };
43})