pytest-embedded-serial-esp
Make pytest-embedded plugin work with Espressif target boards.
Decision gist · record as of 2026-08-14
Yes, if you are testing Espressif embedded systems. The plugin is actively maintained, has no known vulnerabilities, installs with low friction, and provides a mature pytest integration (Production/Stable status) specifically designed for this use case. The permissive MIT license and support for current Python versions make it a solid choice for embedded test automation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Runtime dependencies pytest-embedded-serial and esptool must be installed.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) means you can use this freely in commercial and private projects with minimal restrictions.
last release 2026-06-16 (59 days) · last repo commit 2026-08-10 · 151 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 127,201 downloads/mo, #11,751 on PyPI
Alternatives
Verify before relying
pip install pytest-embedded-serial-esp
from pytest_embedded import Dut
def test_device(dut: Dut):
dut.expect('expected_output')- Whether serial port hardware or a virtual serial device is required for tests to run
- Compatibility with different operating systems beyond the 'OS Independent' classifier claim
- Performance characteristics when running tests on multiple devices simultaneously
- Specific microcontroller models supported beyond Espressif devices
What it is and what it does
pytest-embedded-serial-esp is a pytest plugin that extends pytest with fixtures and services designed for testing embedded systems, particularly Espressif target boards. It provides a Dut (Device Under Test) fixture that allows you to interact with connected devices via serial communication, send commands, and verify output using pattern matching with exact strings or regex patterns. The plugin integrates with esptool for automatic target and port detection, streamlining the setup process for embedded test workflows.
The package is part of a larger pytest-embedded ecosystem that supports multiple services (serial, ESP-IDF, JTAG, QEMU, and others) via optional dependencies. It's actively maintained, supports modern Python versions (3.10 through 3.14), and is classified as production-stable. The low install friction and permissive MIT license make it accessible for both open-source and commercial embedded testing projects.
Use it for
- Automated testing of firmware running on Espressif target boards with serial output verification
- Integration testing that validates device behavior by sending commands and checking responses over serial
- CI/CD pipelines for embedded projects that need to run tests on real hardware or emulated targets
- Regression testing of embedded applications by capturing and pattern-matching device console output
- Multi-device testing scenarios where you need to coordinate tests across several connected boards
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are testing Espressif embedded systems.
The plugin is actively maintained, has no known vulnerabilities, installs with low friction, and provides a mature pytest integration (Production/Stable status) specifically designed for this use case. The permissive MIT license and support for current Python versions make it a solid choice for embedded test automation.
Install
pytest-embedded-serial-esp on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release and active repository status.
Requires Python 3.10 or later. Runtime dependencies pytest-embedded-serial and esptool must be installed.
License in practice
MIT license (permissive) means you can use this freely in commercial and private projects with minimal restrictions.
Quickstart
pip install pytest-embedded-serial-esp
from pytest_embedded import Dut
def test_device(dut: Dut):
dut.expect('expected_output')
Verify before relying
- Whether serial port hardware or a virtual serial device is required for tests to run
- Compatibility with different operating systems beyond the 'OS Independent' classifier claim
- Performance characteristics when running tests on multiple devices simultaneously
- Specific microcontroller models supported beyond Espressif devices
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespytest-embedded-serialesptool |
| Maintenance | Actively maintained 59 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 127,201 / month, #11,751 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: PytestIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Testing |
Evidence: pytest_embedded_serial_esp-2.8.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “espressif board testing”
- pytest-embedded-serial-espA pytest plugin that provides fixtures and services for testing…
- pytest-embedded-idfA pytest plugin that integrates ESP-IDF embedded systems testing with…
- esp-idf-monitorProvides serial communication monitoring and interaction for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Testing packages
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.
Install it if you write tests for any asyncio-based code.
A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.
Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.
See also pytest-embedded-idf · pytest-embedded-serial · pytest-embedded-qemu · esptool · pytest-embedded · pytest-embedded-jtag · esp-pylib · pytest-deadfixtures · esp-idf-monitor · esp-coredump