Ich habe immer gerne mit setuptools entry points gearbeitet, da diese
automatisch bei Installation eines entsprechenden EGGs angemeldet werden,
und in deiner Software dann bequem enumeriert werden können.
Aber das legt die Latte für Plugin-Entwickler etwas höher - die müssen das
entsprechend aufsetzen, und distribuieren. Das kann man zB mit einem
Beispielprojekt oder so ganz gut machen.
Ansonsten gibt's plugin-Frameworks und Ansätze wie Sand am Meer - nicht
verwunderlich bei einer so dynamischen Sprache.
Konkreter kann man da schlecht werden, weil du nicht wirklich viel darüber
verrätst, welchen Einsatzzweck und Umfang deine Plugins haben. Sind das
simple ein-Klassen-Dinger, oder ganze Pakete mit was weiss ich, läuft das
ganze aus dem Systempython oder in einem virtuellen Env oder oder oder.
Diez