--- id: pexpect-serial version: "0.1.0" license: unclear license_treatment: permissive maintenance: abandoned --- # pexpect-serial — pexpect with pyserial License: permissive · Maintenance: abandoned · Downloads: 105.1K/mo ## What it is and what it does pexpect-serial adapts the pexpect library—which automates interactive terminal sessions—to work with serial ports managed by pyserial. Instead of controlling a subprocess or SSH session, you pass an open serial.Serial connection and use the same expect/sendline pattern-matching API to interact with serial devices. This is useful for automating communication with embedded systems, microcontrollers, or any device connected via serial that responds to text commands. The package is minimal and straightforward: you open the serial port yourself using pyserial, wrap it in SerialSpawn, then use pexpect's familiar send and expect methods to script the interaction. The responsibility for opening, closing, and configuring the serial connection remains with the caller. Use it for: - Automate testing of firmware or bootloader behavior on embedded devices over serial. - Script interactive setup or configuration sequences for serial-connected hardware. - Build regression tests for serial protocol implementations or device command responses. - Automate repetitive serial console interactions (e.g., device provisioning or diagnostics). ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Extends pexpect to work with serial ports by wrapping pyserial connections, allowing you to send commands and match responses over serial communication. Yes, if you need pexpect-style pattern matching over serial and are comfortable with an unmaintained package. The code is simple and the dependencies are stable, so it is unlikely to break immediately. However, verify compatibility with your current pexpect and pyserial versions, and be prepared to fork or patch if issues arise. Not recommended for new projects requiring ongoing support. ## Install pip install pexpect-serial uv add pexpect-serial poetry add pexpect-serial ## Installing pexpect-serial Before you install: Low install friction with only two runtime dependencies (pexpect and pyserial). However, the package is abandoned—last commit was 2021-05-18 and no releases since 2019-08-10. It remains archived but not actively maintained. License in practice: MIT license is permissive and poses no restrictions on use, modification, or distribution in commercial or private projects. Quickstart: import serial from pexpect_serial import SerialSpawn with serial.Serial('COM1', 115200, timeout=0) as ser: ss = SerialSpawn(ser) ss.sendline('start') ss.expect('done') You must open and manage the serial.Serial connection yourself before passing it to SerialSpawn; the package does not handle port lifecycle. Verify before relying: - Whether pexpect and pyserial versions currently available are compatible with this 0.1.0 release. - Whether the package works reliably with modern Python versions (3.9+) despite being unmaintained since 2019. ## Package facts - License: not declared (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 105.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags serial port automation, pexpect serial communication, expect-like serial interaction, pyserial command automation, serial port pattern matching, terminal emulation over serial, serial device scripting, serial-automation, embedded-testing [View on SkillFed](https://skillfed.io/packages/pexpect-serial) · [View on PyPI](https://pypi.org/project/pexpect-serial/)