asyncio-dgram
Higher level Datagram support for Asyncio
Decision gist · record as of 2026-08-14
Yes. Low friction, no dependencies, actively maintained, MIT-licensed, and solves a real pain point in asyncio's datagram API. Install it if you need to do UDP communication in an async context and want to avoid writing boilerplate protocol classes.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low install friction; no runtime dependencies.
- Actively maintained with recent releases and a stable codebase.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions.
last release 2026-01-21 (205 days) · last repo commit 2026-05-30 · 56 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 184,364 downloads/mo, #10,040 on PyPI
Alternatives
Verify before relying
import asyncio
import asyncio_dgram
async def example():
stream = await asyncio_dgram.connect(("127.0.0.1", 8888))
await stream.send(b"Hello")
data, addr = await stream.recv()
stream.close()
asyncio.run(example())What it is and what it does
asyncio-dgram wraps asyncio's lower-level datagram protocol machinery to let you use simple async/await patterns for UDP communication. Instead of subclassing asyncio.DatagramProtocol and implementing callbacks, you call three straightforward functions—connect() for point-to-point communication, bind() for listening to multiple sources, or from_socket() for custom socket setup—then await send() and recv() calls directly.
The package is designed around common UDP patterns and avoids exposing the full complexity of asyncio's create_datagram_endpoint. It has no runtime dependencies, supports Python 3.9 through 3.14, and is actively maintained. The API is opinionated but intentionally simple: you get what most datagram use cases need without the flexibility overhead.
Use it for
- Building UDP echo servers or clients that need clean async/await syntax instead of protocol callbacks.
- Implementing DNS query clients or other request-response UDP patterns with simple send-and-receive logic.
- Creating lightweight UDP-based monitoring or telemetry collectors that handle multiple remote sources.
- Prototyping or teaching async network programming without the boilerplate of DatagramProtocol subclassing.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Low friction, no dependencies, actively maintained, MIT-licensed, and solves a real pain point in asyncio's datagram API. Install it if you need to do UDP communication in an async context and want to avoid writing boilerplate protocol classes.
Install
asyncio-dgram on PyPI
Before you install
Low install friction; no runtime dependencies. Actively maintained with recent releases and a stable codebase.
Requires Python 3.9 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions.
Quickstart
import asyncio
import asyncio_dgram
async def example():
stream = await asyncio_dgram.connect(("127.0.0.1", 8888))
await stream.send(b"Hello")
data, addr = await stream.recv()
stream.close()
asyncio.run(example())
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 205 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 184,364 / month, #10,040 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/StableFramework :: AsyncIOIntended Audience :: DevelopersProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: asyncio_dgram-3.0.0-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 udp datagram”
- asyncio-dgramProvides simple async/await wrappers for UDP datagram communication,…
- python3-dtlsAdds DTLS (Datagram Transport Layer Security) support to Python by…
- python-izonePython library for controlling iZone air conditioning systems over…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
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.
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.
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.
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.
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…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also pyserial-asyncio · aiorun · python3-dtls · devo-sdk · aiofastnet · directv · synchronicity · nest-asyncio · aiosmtplib · aioserial