esp-pylib
Python library for logging, utils and constants for Espressif Systems' Python projects
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, and provides genuine value for Espressif tool developers and anyone building embedded systems CLIs in Python. The modular design lets you use only what you need (base logging, serial helpers, or CLI utilities). Low install friction and broad Python version support make it a safe dependency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- IDE WebSocket features (esp-pylib[ide]) require Python 3.8+; on Python 3.7 they become no-ops or raise FatalError.
- Active maintenance with a recent release (2 days old).
- Low install friction: pure wheel distribution with a single runtime dependency (rich).
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive; you can use this in commercial and proprietary projects with minimal restrictions, provided you include a copy of the license and note any modifications.
last release 2026-08-12 (2 days) · last repo commit 2026-08-12 · 1 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 621,971 downloads/mo, #5,712 on PyPI
Alternatives
Verify before relying
pip install esp-pylib
from esp_pylib.logger import log
log.note('Informational message')
log.warn('Warning message')
log.err('Error message')- Whether serial port discovery (esp-pylib[serial]) works reliably across all supported platforms without additional system dependencies.
- Performance characteristics when handling large numbers of serial ports or high-frequency logging in production tools.
What it is and what it does
esp-pylib is a shared utility library for Espressif's Python projects, bundling logging, error handling, configuration file parsing, and optional integrations for serial ports and IDE communication. The core logging system provides a Rich-based singleton with verbosity control, styled output (note, hint, warning, error), progress bars, and live counters—all designed to keep stdout machine-clean while routing errors to stderr. It also includes exception types (FatalError and subclasses), ROM ELF path resolution for debugging tools, and Click parameter types for CLI development.
The library is modular: the base install (just rich as a dependency) covers logging and configuration; optional extras pull in pyserial for port discovery and DTR/RTS reset primitives, websockets for IDE integration, or click and rich-click for CLI helpers. It's designed for Espressif's own tools but is generally useful for any Python project targeting embedded systems that needs consistent logging and error handling across multiple tools.
Use it for
- Build a CLI tool for embedded development that logs with consistent styling and verbosity control across multiple subcommands.
- Discover and filter serial ports by VID/PID to auto-detect connected boards during device flashing or monitoring.
- Send structured log messages and exceptions to VS Code or other IDEs via WebSocket for real-time feedback during development.
- Parse per-tool INI configuration files from standard OS locations (home, user config dir, cwd) without duplicating config logic.
- Perform DTR/RTS reset sequences on serial ports to enter bootloader mode, with hardware flow control detection for different adapters.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, and provides genuine value for Espressif tool developers and anyone building embedded systems CLIs in Python. The modular design lets you use only what you need (base logging, serial helpers, or CLI utilities). Low install friction and broad Python version support make it a safe dependency.
Install
esp-pylib on PyPI
Before you install
Active maintenance with a recent release (2 days old). Low install friction: pure wheel distribution with a single runtime dependency (rich). Supports Python 3.7 through 3.14, though IDE features require Python 3.8+.
IDE WebSocket features (esp-pylib[ide]) require Python 3.8+; on Python 3.7 they become no-ops or raise FatalError.
License in practice
Apache-2.0 is permissive; you can use this in commercial and proprietary projects with minimal restrictions, provided you include a copy of the license and note any modifications.
Quickstart
pip install esp-pylib
from esp_pylib.logger import log
log.note('Informational message')
log.warn('Warning message')
log.err('Error message')
Verify before relying
- Whether serial port discovery (esp-pylib[serial]) works reliably across all supported platforms without additional system dependencies.
- Performance characteristics when handling large numbers of serial ports or high-frequency logging in production tools.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerich |
| Maintenance | Actively maintained 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 621,971 / month, #5,712 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/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Embedded SystemsTyping :: Typed |
Evidence: esp_pylib-1.1.3-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 python logging library”
- esp-pylibProvides shared logging, error handling, configuration management,…
- esptoolesptool is a serial utility for flashing, provisioning, and…
- esp-idf-kconfigProvides kconfig language support and IDE tooling for configuring…
Give your agent the search over MCP, or paste the wish link into any chat.
More Embedded Systems packages
Provides Python abstractions and utilities for Controller Area Network (CAN) communication, supporting multiple hardware backends and message logging formats.
Install it if you need to communicate with CAN buses from Python.
Provides quaternion representation, manipulation, and rotation operations for 3D geometry and animation, with support for smooth interpolation between orientations.
Calculates CRC and checksum values from binary data using parametrized algorithms from the CRC catalogue, supporting dozens of standard CRC variants and additive/XOR checksums.
Install it if you need standard CRC calculations; avoid it only if you require active feature development or real-time performance guarantees.
esptool is a serial utility for flashing, provisioning, and interacting with Espressif microcontroller SoCs over a serial connection.
Install it if you develop or deploy firmware on Espressif SoCs.
Provides kconfig language support and IDE tooling for configuring Espressif ESP-IDF embedded projects, including configuration parsing, validation, and documentation generation.
pyOCD is a Python-based debugger and programmer for Arm Cortex-M microcontrollers that works with many debug probes across Linux, macOS, Windows, and FreeBSD.
See also esp-idf-monitor · pytest-embedded-serial-esp · esp-coredump · python-escpos · bottle-websocket · httpx-ws · websockets · pyserial-asyncio-fast