Plugin development caveats
It's still early days for fman's plugin support. While great care has been
taken to offer a reasonable and stable API, no guarantee is (currently)
made that it won't change.
fman's plugins currently all live in the same process and even the same name
space. This means that it is theoretically possible to import modules from
other plugins. However, this is discouraged and will likely not be possible
in future versions.
fman is based on the Qt GUI framework. It uses the
to access Qt's functions from Python. Plugins are currently able to
call all PyQt functions, which you could in theory use to open and draw your
own windows. This too is discouraged and will likely stop working in a
When developing your own plugins, please follow these naming conventions:
Plugin names should be uppercase. Eg.
Core instead of
All your Python sources should lie inside one (Python) package
with a unique name. The name should be lower case and can contain
_) but no other special characters. If your
plugin is called
My Plugin, then a good package name is
Make the names of your settings files very human-readable. For example, if
your plugin is called
Foo, name your settings file
Foo Settings.json. All words should be capitalized.