Registry / http-networking / aiodiscover

aiodiscover

JSON →
library3.3.2pypypi✓ verified 80d ago

Async host discovery via ARP and PTR lookup, used primarily in home automation projects like Home Assistant. Current version: 2.7.1. Release cadence: frequent, every few months.

pip install aiodiscover
INSTALL
IMPORT
SIG · AIODISCOVER
A
aiodiscover
http-networkingpythonv3.3.2
Install
6.1s avg
Import
Disk
24MB
Pass rate
9/ 10
Env Coverage9 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v3.3.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 6.3s
py 3.11
✓ —
✓ 6s
py 3.12
✓ —
✓ 5.7s
py 3.13
✓ —
✓ 5.2s
py 3.9
✕ build_error
✓ 7.3s
24MB installed
● package 24MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

DiscoverHosts
from aiodiscover import DiscoverHosts
from aiodiscover import AIODiscover

Discover all hosts on the local network using ARP and PTR lookup.

import asyncio from aiodiscover import AIODiscover async def main(): discover = AIODiscover() hosts = await discover.async_discover() print(hosts) asyncio.run(main())
Debug
Known issues
breakingv2.7.0 changed DNSResolver to a single shared instance – code relying on separate resolvers per call may break.
fix
Rely on internal resolver management; do not instantiate multiple AIODiscover objects.
affects: >=2.7.0
gotchaRequires root/sudo on Linux to send ARP packets via raw socket.
fix
Run script with sudo, or use Docker with NET_ADMIN capability.
affects: all
deprecatedasync_timeout is required only for Python <3.11; it's optional for 3.11+.
fix
For Python >=3.11, no extra needed; for older versions, install async_timeout.
affects: >=2.2.2
Upgrade
Version history
3.3.2latest on PyPI · released Jun 13, 2026
Audit
Dependencies
dnspythonrequiredDNS resolution (PTR lookups)
async-timeoutoptionalTimeout handling (only for Python <3.11)
Agent activity
53 hits · last 30 days
node
46
OpenAI (training)
1
Resources