Estoy buscando una implementación de código abierto de un cliente UPnP en Python, y más específicamente de su parte de dispositivo de puerta de enlace a Internet (IGD).
Por ahora, solo he podido encontrar implementaciones de UPnP Media Server, en proyectos como PyMediaServer , PyMedS , BRisa o Coherence .
Estoy seguro de que podría usar esas bases de código como un comienzo, pero la parte del Servidor de Medios introducirá una complejidad innecesaria.
Entonces, ¿puedes recomendar una biblioteca Python de UPnP (y con suerte IGD) de cliente? Una alternativa sería enviar llamadas a una biblioteca de C como MiniUPnP , pero preferiría una implementación pura de Python.
Actualización: un tipo interesante de discusión relacionada sobre SSDP y UPnP está disponible en StackOverflow .
El código fuente de MiniUPnP contiene un código de ejemplo de Python que utiliza la biblioteca C como un módulo de extensión (consulte testupnpigd.py
), que considero una solución adecuada para mi problema.
Razón: esta no es la solución de Python pura que estaba buscando, pero:
Creo que realmente deberías considerar a BRisa. Recientemente se convirtió en un framework UPnP de python puro, no enfocado solo en el servidor de medios.
Proporciona muchos módulos y funciones utilitarias para que usted construya y despliegue su dispositivo UPnP.
El proyecto también carece de retroalimentación :-). Le sugiero que utilice el último código svn, si está dispuesto a probar BRisa.
También puede contactar a los desarrolladores en #brisa en irc.freenode.org, ya sea que estemos en línea o inactivos.