Registry / http-networking / ssdp
library1.3.1pypypi✓ verified 85d ago

Python asyncio library for Simple Service Discovery Protocol (SSDP). Supports both client and server roles, enabling discovery and advertisement of network services. Current version 1.3.1, released under MIT license. Active development with asyncio-native design.

pip install ssdp
INSTALL
IMPORT
SIG · SSDP
S
ssdp
http-networkingpythonv1.3.1
Install
1.6s avg
Import
—
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v1.3.1 · 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
py 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 17.9MB
glibc
py 3.10–3.95 runs
installs and imports cleanly · install 1.6s · import 0.000s · 18MB
16MB installed
● package 16MB
Code
Verified usage

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

SimpleServiceDiscoveryProtocol
✓ from ssdp import SimpleServiceDiscoveryProtocol
✗ from ssdp import SSDPClient
SSDPRequest
✓ from ssdp import SSDPRequest
SSDPResponse
✓ from ssdp import SSDPResponse

Discover UPnP devices on the network.

import asyncio from ssdp import SSDPClient async def discover(): client = SSDPClient() async with client: services = await client.discover(st='upnp:rootdevice', mx=3) for service in services: print(f'Location: {service.location}') asyncio.run(discover())
Debug
Known issues
breakingVersion 1.3.0 removed the old synchronous API. All functionality now requires asyncio.
fix
Use async/await pattern. Wrap code in asyncio.run() if needed.
affects: >=1.3.0
gotchaSSDPClient/SSDPServer must be used as async context managers or have start()/close() called explicitly.
fix
Use 'async with client:' or call await client.start() and await client.close().
affects: >=1.0.0
gotchaThe library does not support multicast loopback by default, so discovery may not see services on the same host.
fix
Set loopback=True in SSDPClient constructor to enable.
affects: >=1.0.0
Upgrade
Version history
1.3.1latest on PyPI · released Sep 6, 2025
Audit
Dependencies

No dependency data recorded yet.

Agent activity
10 hits · last 30 days
node
8
OpenAI (training)
1
Resources
ssdp — pip install ssdp · libregistry