Generic plugin environment, perfectly fitting into the Django ecosystem
The GDAPS library allows Django to make real "pluggable" apps.
A standard Django "app" is reusable (if done correctly), but is not pluggable, like being distributed and "plugged" into a Django main application without modifications. GDAPS is filling this gap.
The reason you want to use GDAPS is: you want to create an application that should be extended via plugins. GDAPS consists of a few bells and twistles where Django lacks "automagic":
Interfaces
, that other GDAPS apps then can implementI was majorly influenced by other plugin systems when writing this code, big thanks to them: