Wie erstelle ich eine API für Plugins ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
NiklasRosenstein
User
Beiträge: 17
Registriert: Donnerstag 16. Juni 2011, 21:38

Ich möchte für mein Python Programm eine API für Erweiterungen zu Verfügung stellen.
Dabei möchte ich gern, dass ein solches Plugin ungefähr so aussieht:

Code: Alles auswählen

from myProgram import extensibleClass, registerExtensibleClass

class myPluginForMyProgram(extensibleClass):
    . . .

if __name__ == '__main__':
    registerExtensibleClass(myPluginForMyProgram)
Wie kann ich nun erreichen, dass man diese importe verwenden kann ? Und wie könnte ich diese Plugins in mein Programm laden ?

Vielen dank,
Niklas
deets

setuptools bietet einen Plugin-Discovery-Mechanismus. Ich benutze den in diversen Projekten und bin da recht zufrieden mit.

Siehe zB hier:

http://aroberge.blogspot.com/2008/12/pl ... based.html

defnull (hoffe ich... ), der bottle-entwickler, hat auch gerade ein plugin-System entwickelt, vielleicht ist das auch geeignet.
NiklasRosenstein
User
Beiträge: 17
Registriert: Donnerstag 16. Juni 2011, 21:38

Cool funktioniert ! Danke ! :D
Antworten