.. _spkg_ptyprocess:

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.

   http://opensource.org/licenses/ISC


Upstream Contact
----------------

https://github.com/pexpect/ptyprocess


Type
----

standard


Dependencies
------------

- $(PYTHON)
- $(PYTHON_TOOLCHAIN)

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:

.. CODE-BLOCK:: bash

    $ conda install  ptyprocess


macports:
install the following packages: py-ptyprocess

opensuse:

.. CODE-BLOCK:: bash

    $ sudo zypper install python3-ptyprocess


void:

.. CODE-BLOCK:: bash

    $ 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:`29023`

