Getting Started
Plugins
- List of plugins
- Installing plugins
- Writing plugins
- Architecture
- Sharing plugins
- Core plugin
- Caveats
- API
Configuration
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 PyQt library 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 future release.
Naming Conventions
When developing your own plugins, please follow these naming conventions:
-
Plugin names should be uppercase. Eg.
Core
instead ofcore
. -
All your Python sources should lie inside one (Python) package
with a unique name. The name should be lower case and can contain
underscores (
_
) but no other special characters. If your plugin is calledMy Plugin
, then a good package name ismy_plugin
. -
Make the names of your settings files very human-readable. For example, if
your plugin is called
Foo
, name your settings fileFoo Settings.json
. All words should be capitalized.