Collection of Plugin Frameworks in Python

Collection of Plugin Architectures in Python

The different plugin architectures available in Python are

  1. Pluggy
  2. Yapsy
  3. Straight Plugin
  4. Plug n’ Play (PnP)
  5. Simple Python Plugin Framework

Pluggy

Pluggy is a minimalist production ready plugin development system. This is the core framework used in pytest, tox and devpi projects.

Github: https://github.com/pytest-dev/pluggy/ | Stars: 681
License: MIT
Example Usage: https://github.com/pytest-dev/pluggy/#a-definitive-example

Yapsy

Yapsy stands for Yet Another Plugin SYstem. Its main purpose is to offer a way to easily design a plugin system in Python and only depends on Python’s standard library. Source code of Yapsy is primarily maintained in SourceForge, but is also mirrored at github.

Github: https://github.com/tibonihoo/yapsy | Stars: 163
License: BSD
Example Usage: http://yapsy.sourceforge.net/#getting-started

Straight Plugin

Straight Plugin provides a type of plugin you can create from almost any existing Python modules, and an easy way for outside developers to add functionality and customization to your projects with their own plugins.

Github: https://github.com/ironfroggy/straight.plugin | Stars: 104
License: MIT

Plug n’ Play (PnP)

Plug n’ Play is a generic plugin system inspired by Trac’s internal component management system. It defines interfaces which the plugins implement them. Its a GPL 2.0 license though - so practically can be used only in GPL compatible open source projects and not in commercial ones, where you don’t want to share the source code.

Github: https://github.com/daltonmatos/plugnplay | Stars: 53
License: GPL 2.0
Example Usage: https://github.com/daltonmatos/plugnplay#a-simple-example

Simple Python Plugin Framework

The initial idea of the Simple Python Plugin Framework is from Marty Alchin, a django developer, which is extremely light weight with the basic version requiring less than 10 lines of code. He had released this piece of code to public domain, inviting anyone to build on top of it. A fork of this with porting to Python 3 is done by Regis Decamps, which is available in github.

Github: https://github.com/regisd/simple_plugin_framework | Stars: 5
License: Not Specified

Know of any other Python Plugin Frameworks that you have used/liked? Let us know in the comments :)

Reference Guides

  1. How to Design and Implement a Plugin Architecture in Python by Mathieu Larose
  2. Building a Plugin Architecture in Python by Maxwell Mapako

No comments:

Feel free to leave a piece of your mind.

Powered by Blogger.