Skip to content

Plugins infrastructure

Agate requested to merge plugins-v4 into develop

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

image

image

Edited by Agate

Merge request reports