pyserial-asyncio
Python Serial Port Extension - Asynchronous I/O support
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
Adds async/await support to pyserial for non-blocking serial port I/O, letting you read and write to serial devices without blocking your event loop.
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
pip
pip install pyserial-asynciouv
uv add pyserial-asynciopoetry
poetry add pyserial-asyncioInstalling pyserial-asyncio
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.
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())
Requires Python 3.5 or later; pyserial must be installed as a runtime dependency.
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 — pyserial |
| 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) |
Evidence: pyserial_asyncio-0.6-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
aioserialProvides async/await serial port I/O using…
copyleft · top 15,000 on PyPI
asyncio-dgramProvides simple async/await wrappers for UDP…
permissive · top 15,000 on PyPI
pyserial-asyncio-fastProvides async I/O support for serial port…
permissive · top 15,000 on PyPI
pexpect-serialExtends pexpect to work with serial ports by…
permissive · top 15,000 on PyPI
serialxSerialx provides synchronous and native…
permissive · top 15,000 on PyPI
Adax-localA Python library for local communication with…
permissive · top 15,000 on PyPI
pyisyPyISY is a Python library for asynchronous…
permissive · top 15,000 on PyPI
PyLinkPyLink provides a unified file-like interface…
permissive · top 15,000 on PyPI
pysoemPySOEM is a Cython wrapper for the Simple Open…
permissive · top 15,000 on PyPI
python-escposPython library to send text, images, barcodes,…
permissive · top 15,000 on PyPI