Clone wiki

gplugin / Home


GPlugin is a GObject based library that implements a reusable plugin system which supports loading plugins in other languages via loaders. It relies heavily on GObjectIntrospection to expose its API to the other languages.

It has a very simple API which makes it very simple to use in your application. For more information on using GPlugin in your application, please see the embedding page.


Default: Default Build Status Develop: Develop Build Status

Coverity Scan Build Status


GPlugin was started due to the infamous "Plugin Problem" for Guifications 3, which was that I needed plugins that could depend on each other, be able to be written in other languages, have plugins that are loaded before the main load phase, and allow plugins to register types into the GObject type system.

After trying to fix this numerous times in the Guifications 3 tree, I decided I should really do this the UNIX way and write it as a stand alone library.

Language Support

GPlugin currently supports plugins written in C/C++, Python, and Lua. With work started on a Perl loader.


API Reference

The API reference can be found here. It's pretty rough around the edges right now, but I'm working on it.