skillfed

ptyprocess

Run a subprocess in a pseudo terminal

ptyprocess Permissive license AGING 238 v0.7.0 released

Install

ptyprocess on PyPI

pip

pip install ptyprocess

uv

uv add ptyprocess

poetry

poetry add ptyprocess

Package facts

License not declared (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 2,054 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: ptyprocess-0.7.0-py2.py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: ISC License (ISCL)Operating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: Terminals

About ptyprocess

from the package's own PyPI description — quoted content, verbatim

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)

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Launches a subprocess in a pseudo terminal (pty) and provides read/write interaction with both the process and its terminal, enabling automation of password prompts, terminal-dependent output, and curses-style interfaces.

Low friction: pure Python wheel with no runtime dependencies. Maintenance is aging—last release was 2020-12-28 and repository shows no recent commits, though it remains archived=false and marked Production/Stable.

ISC License (permissive) allows commercial and private use with minimal restrictions, making it suitable for most projects.

Usage

pip install ptyprocess==0.7.0

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

Requires a POSIX-compliant operating system (Linux, macOS, BSD); not supported on Windows.

Verdict: ptyprocess is a stable, low-friction library for terminal automation with no dependencies, but its last release was over five years ago. Suitable for production use in established workflows, though users should verify compatibility with their Python version and be aware that maintenance is minimal.

Needs verification

  • Whether the package remains compatible with Python 3.10+ given the aging codebase and lack of recent releases.
  • Active maintenance status and responsiveness to bug reports or pull requests on the GitHub repository.
pseudo terminal subprocesspty process automationinteractive terminal controlpassword prompt automationterminal emulation pythoncurses interface automationstdin stdout terminal interaction

Similar packages