2008-11-16 18 views
12

Je suis à la recherche d'une implémentation open-source d'un client UPnP en Python, et plus particulièrement de sa partie Internet Gateway Device (IGD).Implémentation du client Python UPnP/IGD?

Pour l'instant, je n'ai pu trouver UPnP Media Server implémentations, dans des projets tels que PyMediaServer, PyMedS, BRisa ou Coherence. Je suis sûr que je pourrais utiliser ces bases de code comme un début, mais la partie Media Server va introduire une complexité inutile.

Alors, pouvez-vous recommander une bibliothèque Python UPnP (et, espérons-le, IGD)? Une alternative serait d'envoyer des appels à une bibliothèque C telle que MiniUPnP, mais je préférerais de loin une implémentation pure de Python. Mise à jour: une discussion intéressante et liée à SSDP et UPnP est disponible sur StackOverflow.

Répondre

7

Le code source MiniUPnP contient un exemple de code Python utilisant la bibliothèque C comme module d'extension (voir testupnpigd.py), que je considère comme une solution appropriée à mon problème.

Justification: ce n'est pas la solution pure Python que je cherchais, mais:

  • des efforts importants ont déjà été investis dans cette bibliothèque,
  • il est léger (il ne traite pas des problèmes Media Server IGD est généralement utilisé uniquement lors de la configuration de la connexion, donc ne pas l'intégrer plus étroitement avec le code Python ne semble pas être un problème, en plus, il fournit également une implémentation NAT-PNP (le concurrent Apple de IGD, partie dedix).
2

Je pense que vous devriez vraiment envisager BRisa. Il est récemment devenu un pur framework UPnP python, non seulement axé sur Media Server.

Il fournit de nombreux modules et fonctions utilitaires pour vous permettre de créer et de déployer votre périphérique UPnP.

Le projet manque également de commentaires :-). Je vous suggère d'utiliser le dernier code svn, si vous êtes prêt à essayer BRisa.

Vous pouvez également contacter les développeurs sur #brisa à irc.freenode.org, nous sommes en ligne ou au ralenti.

+0

J'ai passé du temps à étudier votre documentation, mais je suis à la recherche d'une bibliothèque très simple et modulaire. BRisa ne se sentait pas comme ça à mon humble avis. – oparisy