Plugins infrastructure
Context : https://mastodon.technology/@agateblue/104444213352771496 and https://governance.funkwhale.audio/d/QyEBOaV6/status-of-our-nlnet-funding
-
User level plugins -
USe cases: -
scrobbling -
import remote files (eg. via webdav/owncloud) -> will be done separately
-
-
Configuration per plugin per user -
Functionnal as much as possible -
Hooks -> no return value -
Filters -> can alter the return value -> mrf -
Plugins can declare dependencies -
enabled plugins are listed as an env variable -
Plugins are simple directories with -
a funkwhale_startup.py file that is imported at startup time -
a funkwhale_ready.py file that is imported when apps are ready
-
-
Plugins entrypoints are all listed in a single file, with proper documentation
Demo
Edited by Agate