Python UPnP/IGD Client Implementation?

半城伤御伤魂 提交于 2019-12-04 17:40:40

问题


I am searching for an open-source implementation of an UPnP client in Python, and more specifically of its Internet Gateway Device (IGD) part.

For now, I have only been able to find UPnP Media Server implementations, in projects such as PyMediaServer, PyMedS, BRisa or Coherence.

I am sure I could use those code bases as a start, but the Media Server part will introduce unneeded complexity.

So can you recommend a client UPnP (and hopefully IGD) Python library? An alternative would be to dispatch calls to a C library such as MiniUPnP, but I would much prefer a pure Python implementation.

Update: an interesting, kind of related discussion of SSDP and UPnP is available on StackOverflow.


回答1:


MiniUPnP source code contains a Python sample code using the C library as an extension module (see testupnpigd.py), which I consider as a proper solution to my problem.

Rationale: this is not the pure Python solution I was looking for, but:

  • significant effort has already been invested in this library,
  • it is lightweight (it does not address Media Server issues),
  • IGD is typically only used at connection setup, so not integrating it tighter with the Python code does not seem like an issue,
  • as a bonus, it also provides a NAT-PNP implementation (the Apple concurrent of IGD, part of Bonjour).



回答2:


I think you should really consider BRisa. It recently became a pure python UPnP Framework, not focused only on Media Server.

It provides lots of utilitary modules and functions for you to build and deploy your UPnP device.

The project also is lacking feedback :-). I suggest you to use the latest svn code, if you're willing to try BRisa.

You can also contact the developers on #brisa at irc.freenode.org, we're either online or idling.



来源:https://stackoverflow.com/questions/294504/python-upnp-igd-client-implementation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!