Python UPnP/IGD客户端实现?

问题描述:

我正在Python中寻找一个UPnP客户端的开源实现,更具体的是它的Internet Gateway Device(IGD)部分。Python UPnP/IGD客户端实现?

现在,我只能够找到UPnP媒体服务器实现,在项目,如PyMediaServerPyMedSBRisaCoherence

我确定我可以使用这些代码库作为开始,但媒体服务器部分将引入不必要的复杂性。

那么你能推荐一个客户端UPnP(并希望IGD)Python库吗?另一种方法是将调用发送到C库,如MiniUPnP,但我更喜欢纯粹的Python实现。

更新:在StackOverflow上提供了一个有趣的,有关SSDP和UPnP的相关讨论。

MiniUPnP源代码包含一个使用C库作为扩展模块的Python示例代码(请参阅testupnpigd.py),我认为这是我的问题的一个合适的解决方案。

理由:这是不是纯Python解决方案,我一直在寻找,但:

  • 显著的努力已经投资了这个库,
  • 它是轻量级(它没有解决媒体服务器问题),
  • IGD通常只用于连接设置,所以不能将其与Python代码更紧密地结合似乎不是问题,它还提供了一个NAT-PNP实现(苹果公司的并发IGD,的一部分10)。

我认为你应该真的考虑BRISA。它最近成为了一个纯粹的Python UPnP框架,而不仅仅是媒体服务器。

它为您构建和部署您的UPnP设备提供了许多实用的模块和功能。

该项目还缺乏反馈:-)。如果你愿意尝试BRisa,我建议你使用最新的svn代码。

您也可以联系irc.freenode.org上#brisa的开发人员,我们可以在线或闲置。

+0

我花了一些时间研究你的文档,但我正在寻找一个非常简单的模块化库。 BRisa并没有这样感觉到恕我直言。 – oparisy 2009-02-15 19:56:54