Maxwell Mapako 09fd2c7611 Merge pull request #1 from wax911/dependabot/pip/pyyaml-5.4
Bump pyyaml from 5.3.1 to 5.4
2021-04-24 22:17:27 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:16:47 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:15:26 +02:00
2020-06-11 14:23:25 +02:00
2020-06-11 14:22:06 +02:00
2021-04-24 20:15:28 +00:00

plugin-architecture

Sample plugin architecture for python

Fundamental plugin concepts

  • Discovery
  • Registration
  • Application hooks to which plugins attach
  • Exposing application capabilities back to plugins

Discovery

This is the mechanism by which a running application can find out which plugins it has at its disposal. To "discover" a plugin, one has to look in certain places, and also know what to look for.

Registration

This is the mechanism by which a plugin tells an application - "I'm here, ready to do work". Admittedly, registration usually has a large overlap with discovery.

Application hooks

Hooks are also called "mount points" or "extension points". These are the places where the plugin can "attach" itself to the application, signaling that it wants to know about certain events and participate in the flow. The exact nature of hooks is very much dependent on the application.

Exposing application API to plugins

To make plugins truly powerful and versatile, the application needs to give them access to itself, by means of exposing an API the plugins can use.

Inspired by: fundamental-concepts-of-plugin-infrastructures

Description
Demonstrating how to build a plugin system for python
Readme 47 KiB
Languages
Python 100%