pyserial-asyncio-fast
Python Serial Port Extension - Asynchronous I/O support
Decision gist · record as of 2026-08-14
Yes, if you need async serial port I/O in Python 3.9+. The package is stable, permissively licensed, has low install friction, and solves a real problem. The aging maintenance status is not a blocker—the code appears complete and unarchived—but verify that the release gap does not mask unresolved issues for your use case.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later and a working serial port device.
- Low install friction with a single pure-Python dependency (pyserial).
- Maintenance status is aging—last commit was 2025-03-27 and no release for 505 days—but the repository remains active and unarchived, suggesting continued use rather than abandonment.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you may use, modify, and distribute this package with minimal restrictions, provided you retain the license notice.
last release 2025-03-27 (505 days) · last repo commit 2025-03-27 · 26 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 173,141 downloads/mo, #10,316 on PyPI
Alternatives
Verify before relying
pip install pyserial-asyncio-fast
import asyncio
from pyserial_asyncio_fast import open_serial_connection
async def main():
reader, writer = await open_serial_connection(url='/dev/ttyUSB0')
data = await reader.read()
writer.close()
asyncio.run(main())- Whether the eager writes optimization measurably improves latency or throughput for typical use cases.
- Current compatibility with Python 3.13 beyond the classifier claim.
- Whether the 505-day release gap indicates the package is feature-complete or under-maintained.
What it is and what it does
pyserial-asyncio-fast is an asyncio wrapper for pySerial that enables non-blocking serial port I/O in async Python applications. It implements eager writes—a technique that reduces overhead by avoiding frequent addition and removal of the asyncio writer. This makes it suitable for applications that need to communicate with serial devices without blocking the event loop.
The package targets Python 3.9 and later on POSIX systems (Linux, BSD, macOS). It is a thin layer over pySerial, so you still depend on that library's serial port handling; the main value is the async integration. Development status is marked Production/Stable, though the last release was 505 days ago, suggesting the package may be feature-complete rather than actively developed.
Use it for
- Reading sensor data from a microcontroller over USB serial while handling other async tasks in the same event loop.
- Building a home automation daemon that communicates with multiple serial devices concurrently without blocking.
- Implementing a command-line tool that sends commands to a serial device and processes responses asynchronously.
- Logging or monitoring serial port data streams in real-time alongside other async I/O operations.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need async serial port I/O in Python 3.9+.
The package is stable, permissively licensed, has low install friction, and solves a real problem. The aging maintenance status is not a blocker—the code appears complete and unarchived—but verify that the release gap does not mask unresolved issues for your use case.
Install
pyserial-asyncio-fast on PyPI
Before you install
Low install friction with a single pure-Python dependency (pyserial). Maintenance status is aging—last commit was 2025-03-27 and no release for 505 days—but the repository remains active and unarchived, suggesting continued use rather than abandonment.
Requires Python 3.9 or later and a working serial port device.
License in practice
BSD-3-Clause is permissive; you may use, modify, and distribute this package with minimal restrictions, provided you retain the license notice.
Quickstart
pip install pyserial-asyncio-fast
import asyncio
from pyserial_asyncio_fast import open_serial_connection
async def main():
reader, writer = await open_serial_connection(url='/dev/ttyUSB0')
data = await reader.read()
writer.close()
asyncio.run(main())
Verify before relying
- Whether the eager writes optimization measurably improves latency or throughput for typical use cases.
- Current compatibility with Python 3.13 beyond the classifier claim.
- Whether the 505-day release gap indicates the package is feature-complete or under-maintained.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepyserial |
| Maintenance | Aging 505 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 173,141 / month, #10,316 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/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: CommunicationsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Terminals :: Serial |
Evidence: pyserial_asyncio_fast-0.16-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 › “serial port async I/O”
- pyserial-asyncio-fastProvides async I/O support for serial port communication in Python,…
- aioserialProvides async/await serial port I/O using asyncio, wrapping pyserial…
- 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 Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
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.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
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.
See also PyLink · pyserial-asyncio · aioserial · pexpect-serial · serialx · async-modbus · aiochannel · aiosmtplib · types-pyserial