ptyprocess: Python interaction with subprocesses in a pseudoterminal

Description

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.

License

Ptyprocess is under the ISC license, as code derived from Pexpect.

Upstream Contact

https://github.com/pexpect/ptyprocess

Dependencies

  • Python

Type

standard

Version Information

package-version.txt:

0.5.1.p0

install-requires.txt:

ptyprocess ==0.5.1
# :trac:`31280`#comment:42 and following
# sagelib is not compatible with ptyprocess 0.5.2, 0.6, and 0.7

Equivalent System Packages

conda:

$ conda install ptyprocess

macports: install the following packages: py-ptyprocess

opensuse:

$ sudo zypper install python3-ptyprocess

void:

$ sudo xbps-install  python3-ptyprocess

See https://repology.org/project/ptyprocess/versions, https://repology.org/project/python:ptyprocess/versions

However, these system packages will not be used for building Sage because using Python site-packages is not supported by the Sage distribution; see trac ticket #29023