2008-11-16 4 views
12

Ich suche nach einer Open-Source-Implementierung eines UPnP-Clients in Python und genauer von seinem (IGD) -Teil.Python UPnP/IGD Client Implementierung?

Vorerst habe ich nur in der Lage gewesen UPnP Media Server-Implementierungen zu finden, die in Projekten wie PyMediaServer, PyMedS, BRisa oder Coherence.

Ich bin mir sicher, dass ich diese Codebasen als Start verwenden konnte, aber der Media Server Teil wird unnötige Komplexität einführen.

Also können Sie eine Client UPnP (und hoffentlich IGD) Python-Bibliothek empfehlen? Eine Alternative wäre das Versenden von Aufrufen an eine C-Bibliothek wie MiniUPnP, aber ich würde eine reine Python-Implementierung bevorzugen.

Update: Eine interessante, verwandte Diskussion über SSDP und UPnP ist unter StackOverflow verfügbar.

Antwort

7

Der MiniUPnP-Quellcode enthält einen Python-Beispielcode, der die C-Bibliothek als Erweiterungsmodul verwendet (siehe testupnpigd.py), was ich für eine angemessene Lösung meines Problems halte.

Begründung: Dies ist nicht die reine Python Lösung, die ich suchte, aber:

  • erhebliche Anstrengungen unternommen, bereits in dieser Bibliothek investiert worden,
  • es ist leicht (nicht Media Server Probleme nicht ansprechen),
  • IGD wird in der Regel nur bei Verbindungsaufbau verwendet, so dass es nicht enger mit dem Python-Code zu integrieren scheint kein Problem,
  • als ein Bonus, bietet es auch eine NAT-PNP-Implementierung (die Apple-Concurrent von IGD, Teil von Bonjour).
2

Ich denke, Sie sollten BRISA wirklich berücksichtigen. Es wurde kürzlich zu einem reinen Python-UPnP-Framework, das sich nicht nur auf den Medienserver konzentrierte.

Es bietet viele nützliche Module und Funktionen zum Erstellen und Bereitstellen Ihres UPnP-Geräts.

Das Projekt fehlt auch Feedback :-). Ich empfehle Ihnen, den neuesten SVN-Code zu verwenden, wenn Sie BRISA ausprobieren möchten.

Sie können die Entwickler auch auf #brisa bei irc.freenode.org kontaktieren, wir sind entweder online oder im Leerlauf.

+0

Ich habe einige Zeit damit verbracht, Ihre Dokumentation zu studieren, aber ich bin auf der Suche nach einer sehr einfachen, modularen Bibliothek. BRisa fühlte sich nicht so IMHO. – oparisy