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