Description
This talk will cover:
- When to consider adding plugin support to your project
- Understanding [Pluggy](https://pluggy.readthedocs.io/), the Python world's most mature plugin mechanism and possibly the most effective plugin framework in any language
- How [entrypoints](https://packaging.python.org/en/latest/specifications/entry-points/) enable simply installing a new Python package to register it as an installed plugin
- How to effectively design your plugin hooks: the ways in which your software can be customized by plugins
- Traps to avoid in implementing plugins
- Documentation! How to ensure potential authors have everything they need to start writing plugins
I'll illustrate the talk with examples of different plugin patterns I have tried in my own software.