Registry / http-networking / aiodiscover

aiodiscover

JSON →
library3.3.2pypypi✓ verified 83d 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.9–3.13
musl
3.9–3.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
59 hits · last 30 days
node
52
OpenAI (training)
1
Resources
aiodiscover — pip install aiodiscover · libregistry