pyserial-asyncio
Python Serial Port Extension - Asynchronous I/O support
Decision gist · record as of 2026-08-14
Yes, if you need asyncio-compatible serial I/O and can tolerate dormant maintenance. The package is stable, has no known vulnerabilities, and solves a real problem for async Python applications. However, if you require active maintenance, security updates, or support for the latest Python versions, evaluate whether the dormancy since late 2023 fits your project's risk tolerance.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.5 or later; pyserial must be installed as a runtime dependency.
- Low friction to install.
- Dormant since late 2023 with no recent commits, though the repository remains active and the single runtime dependency (pyserial) is stable.
License · maintenance · safety
BSD (permissive) — BSD license is permissive; you can use this package freely in commercial and open-source projects with minimal restrictions.
last release 2021-09-30 (1779 days) · last repo commit 2023-11-26 · 281 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 770,664 downloads/mo, #5,104 on PyPI
Alternatives
Verify before relying
pip install pyserial-asyncio
import asyncio
import pyserial_asyncio
async def main():
# Use pyserial-asyncio with asyncio event loop
pass
asyncio.run(main())- Whether the package works reliably with Python versions beyond 3.8 (classifiers list only up to 3.8).
- Current compatibility with modern asyncio patterns and whether breaking changes exist in recent Python releases.
- Specific API and usage patterns for integrating with pyserial in async contexts.
What it is and what it does
pyserial-asyncio wraps the pyserial library to provide asyncio-compatible serial port access. Instead of blocking I/O calls that halt your entire program, it integrates with Python's event loop so you can read from and write to serial devices concurrently with other async tasks. This is essential for applications like embedded device control, sensor monitoring, or robotics where you need to handle serial communication without stalling other operations.
The package is a thin adapter layer over pyserial, so it inherits pyserial's broad platform support (OSX, Linux, BSD) and serial port handling. It depends only on pyserial and works with Python 3.5 and later. The project has been dormant since late 2023, meaning no active development or bug fixes are being released, though the code remains available and the repository is not archived.
Use it for
- Build IoT applications that communicate with microcontrollers over serial while handling other async tasks concurrently.
- Monitor multiple serial sensors in parallel without blocking your event loop or spawning threads.
- Implement async serial device drivers or protocol handlers in asyncio-based frameworks.
- Create interactive serial terminal applications that remain responsive while waiting for device input.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need asyncio-compatible serial I/O and can tolerate dormant maintenance.
The package is stable, has no known vulnerabilities, and solves a real problem for async Python applications. However, if you require active maintenance, security updates, or support for the latest Python versions, evaluate whether the dormancy since late 2023 fits your project's risk tolerance.
Install
pyserial-asyncio on PyPI
Before you install
Low friction to install. Dormant since late 2023 with no recent commits, though the repository remains active and the single runtime dependency (pyserial) is stable. Suitable for projects that don't require ongoing maintenance updates.
Requires Python 3.5 or later; pyserial must be installed as a runtime dependency.
License in practice
BSD license is permissive; you can use this package freely in commercial and open-source projects with minimal restrictions.
Quickstart
pip install pyserial-asyncio
import asyncio
import pyserial_asyncio
async def main():
# Use pyserial-asyncio with asyncio event loop
pass
asyncio.run(main())
Verify before relying
- Whether the package works reliably with Python versions beyond 3.8 (classifiers list only up to 3.8).
- Current compatibility with modern asyncio patterns and whether breaking changes exist in recent Python releases.
- Specific API and usage patterns for integrating with pyserial in async contexts.
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagepyserial |
| Maintenance | Dormant 1,779 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 770,664 / month, #5,104 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: CommunicationsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Terminals :: Serial |
Evidence: pyserial_asyncio-0.6-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 › “async serial port communication”
- pyserial-asyncioAdds async/await support to pyserial for non-blocking serial port…
- pyserial-asyncio-fastProvides async I/O support for serial port communication in Python,…
- aioserialProvides async/await serial port I/O using asyncio, wrapping pyserial…
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 aioserial · asyncio-dgram · pyserial-asyncio-fast · pexpect-serial · serialx · Adax-local · pyisy · PyLink · pysoem · py-synologydsm-api