Sergey Brazhnik 249e91c445 Restoring authorship annotation for Sergey Brazhnik <s.brazhnik@gmail.com>. Commit 2 of 2. 3 years ago
..
.dist-info e9656aae26 Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2. 3 years ago
ptyprocess 5d50718e66 Restoring authorship annotation for Mikhail Borisov <borisov.mikhail@gmail.com>. Commit 2 of 2. 3 years ago
LICENSE e9656aae26 Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2. 3 years ago
README.rst e9656aae26 Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2. 3 years ago
ya.make 249e91c445 Restoring authorship annotation for Sergey Brazhnik <s.brazhnik@gmail.com>. Commit 2 of 2. 3 years ago

README.rst

Launch a subprocess in a pseudo terminal (pty), and interact with both the
process and its pty.

Sometimes, piping stdin and stdout is not enough. There might be a password
prompt that doesn't read from stdin, output that changes when it's going to a
pipe rather than a terminal, or curses-style interfaces that rely on a terminal.
If you need to automate these things, running the process in a pseudo terminal
(pty) is the answer.

Interface::

p = PtyProcessUnicode.spawn(['python'])
p.read(20)
p.write('6+6\n')
p.read(20)