--- id: pywinpty version: "3.0.5" license: unclear license_treatment: permissive maintenance: active --- # pywinpty — Pseudo terminal support for Windows from Python. License: permissive · Maintenance: active · Downloads: 5.2M/mo ## What it is and what it does PyWinpty is a Python wrapper around Windows pseudoterminal functionality, enabling applications to spawn and interact with console processes as if they were running in a terminal. It supports both the modern ConPTY interface and the legacy winpty library, abstracting away the complexity of Windows console I/O pipes. The package provides two usage levels: a high-level PtyProcess class for common spawning tasks, and a low-level PTY object for fine-grained control over process lifecycle, resizing, and I/O. The package is compiled from Rust using PyO3 and Maturin, with prebuilt wheels available for Windows on x86_64 and ARM64 architectures across Python 3.10 through 3.14. It has no runtime dependencies, making it lightweight once installed. Active maintenance and permissive licensing make it suitable for both open-source and proprietary Windows terminal emulators, shells, and IDE integrations. Use it for: - Build terminal emulators or shell frontends on Windows that spawn and manage interactive console applications. - Implement IDE or editor integrations that need to run and capture output from Windows console tools and scripts. - Create testing frameworks that spawn and interact with command-line programs on Windows systems. - Develop remote terminal or SSH-like tools that require pseudoterminal support on Windows. - Build automation scripts that need to interact with interactive console applications via stdin/stdout. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyWinpty creates and manages pseudoterminals on Windows, allowing Python to spawn and communicate with console processes via ConPTY or the winpty library. Yes, if you are developing on Windows and need to spawn and interact with console processes programmatically. The package is actively maintained, has no runtime dependencies, carries a permissive license, and is stable (Production/Stable status). Install friction is moderate due to platform and Python version specificity, but prebuilt wheels are available for common configurations. No known vulnerabilities. ## Install pip install pywinpty uv add pywinpty poetry add pywinpty ## Installing pywinpty Before you install: Medium install friction due to compiled wheels for Windows only (x86_64 and ARM64, Python 3.10–3.14). Active maintenance with recent release; no runtime dependencies simplifies deployment once installed. License in practice: Permissive license allows use in proprietary and open-source projects without copyleft obligations. Quickstart: pip install pywinpty from pywinpty import PtyProcess proc = PtyProcess.spawn('python') proc.write('print("hello")\r\n') while proc.isalive(): print(proc.readline()) Windows only; requires Python 3.10 or later. Verify before relying: - Whether prebuilt wheels cover all intended deployment targets and Python patch versions. - Performance characteristics when spawning or managing many concurrent processes. - Compatibility with Windows Subsystem for Linux (WSL) or other non-native Windows environments. - Rust toolchain requirements when building from source. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 5.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags windows pseudoterminal python, conpty wrapper, windows console process spawning, pty emulation windows, terminal emulation windows python, console input output pipes, windows pty python binding, windows-only, terminal-emulation, rust-binding [View on SkillFed](https://skillfed.io/packages/pywinpty) · [View on PyPI](https://pypi.org/project/pywinpty/)