$npx skillfedfor your agent

serialx

Serial library with native sync and async support for Windows, Linux, macOS, and other platforms

Worth itPyPI NetworkingReleased Jun 2026155.1K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — serialx-1.8.2-py3-none-any.whl
v1.8.2 · released 2026-06-12 · Python >=3.10 · 3 runtime deps: typing-extensions, async-timeout, pywin32

Yes. Serialx is actively maintained, has no security vulnerabilities, low install friction, and offers a modern dual sync/async API for serial communication across all major platforms. It is suitable for new projects and for migrating from older serial libraries. The permissive Apache-2.0 license poses no restrictions.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later; on macOS and Windows, a Rust toolchain is needed to build the native serial port enumeration extension.
  • Low install friction with a pure-wheel distribution.
  • Active maintenance with a recent release 63 days ago.

License · maintenance · safety

Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing use in both open-source and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.

last release 2026-06-12 (63 days) · last repo commit 2026-08-03 · 29 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 155,142 downloads/mo, #10,831 on PyPI

Verify before relying

import serialx

with serialx.serial_for_url("/dev/serial/by-id/port", baudrate=115200) as serial:
    data = serial.readexactly(5)
    serial.write(b"test")
  • Whether the Rust toolchain requirement applies to end-users installing from wheels or only to developers building from source.
  • Performance characteristics and throughput limits compared to other serial libraries in common use.
  • Stability and maturity level given the package's first release was in 2025-11-24.
Same gist for agents: .md · .json

What it is and what it does

Serialx is a cross-platform serial communication library that unifies synchronous and asynchronous APIs for Python on Linux, macOS, and Windows. It offers multiple usage patterns: a familiar synchronous context-manager interface, a native async equivalent, asyncio StreamReader/StreamWriter pairs, and low-level protocol transports for advanced consumers. The library handles modem pin state queries and control, and integrates with ESPHome for communicating with remote serial devices through the ESPHome API.

The package targets developers who need reliable serial I/O without platform-specific code paths. Its three runtime dependencies (typing-extensions, async-timeout, pywin32) are lightweight and widely maintained. The library is actively maintained with recent releases and no known security vulnerabilities.

Use it for

  • Building cross-platform embedded device communication tools that work identically on Windows, macOS, and Linux without conditional imports.
  • Integrating ESPHome-exposed serial devices into Python applications via the serialx ESPHome transport layer.
  • Migrating legacy pyserial code to async/await patterns while maintaining synchronous fallback support.
  • Implementing protocol handlers that need low-level asyncio transport control for serial devices.
  • Controlling modem pins (RTS, DTR) on serial devices for handshake and reset sequences.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Serialx is actively maintained, has no security vulnerabilities, low install friction, and offers a modern dual sync/async API for serial communication across all major platforms. It is suitable for new projects and for migrating from older serial libraries. The permissive Apache-2.0 license poses no restrictions.

Install

serialx on PyPI

Before you install

Low install friction with a pure-wheel distribution. Active maintenance with a recent release 63 days ago. Requires Python 3.10 or later and depends on typing-extensions, async-timeout, and pywin32 (Windows-specific).

Requires Python 3.10 or later; on macOS and Windows, a Rust toolchain is needed to build the native serial port enumeration extension.

License in practice

Licensed under Apache-2.0 (permissive), allowing use in both open-source and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.

Quickstart

import serialx

with serialx.serial_for_url("/dev/serial/by-id/port", baudrate=115200) as serial:
    data = serial.readexactly(5)
    serial.write(b"test")

Verify before relying

  • Whether the Rust toolchain requirement applies to end-users installing from wheels or only to developers building from source.
  • Performance characteristics and throughput limits compared to other serial libraries in common use.
  • Stability and maturity level given the package's first release was in 2025-11-24.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
typing-extensionsasync-timeoutpywin32
MaintenanceActively maintained 63 days since the last release
Last repo commit
First released
Downloads155,142 / month, #10,831 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: serialx-1.8.2-py3-none-any.whl

Tags

Capabilities
serial port communication pythonasync serial librarycross-platform serial iosynchronous async serial apimodem pin controlesphome serial proxyserial device enumeration
Topics
serial-ioasync-firstcross-platform

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 › “async serial library”

  • serialxSerialx provides synchronous and native asynchronous APIs for serial…
  • pyserial-asyncio-fastProvides async I/O support for serial port communication in Python,…
  • pyserial-asyncioAdds async/await support to pyserial for non-blocking serial port…

Give your agent the search over MCP, or paste the wish link into any chat.

More Networking packages

h11 With conditions
PyPI · WWW/HTTP · released Apr 2025

h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.

MITpure Python · 3.8+aging
894.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
uvloop With conditions
PyPI · Networking · released Oct 2025

uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.

Apache-2.0compiled wheel · 3.8.1+
257.9Mdownloads / mo
execnet With conditions
PyPI · Libraries · released Nov 2025

execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.

However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…

MITpure Python · 3.8+aging
172.1Mdownloads / mo
pyzmq Worth it
PyPI · Networking · released Sep 2025

PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.

BSD-3-Clausecompiled wheel · 3.8+
109.5Mdownloads / mo

See also aioesphomeapi · aioserial · pyserial-asyncio · pexpect-serial · async-modbus · Adax-local · pyserial-asyncio-fast · xmodem · binho-host-adapter · pymodbus