Plugins

It’s pretty easy to write puddletag plugins provided you know a bit of Python. If anything’s unclear don’t hesitate mailing me (concentricpuddle@gmail.com) to complain. Follow the same protocol if you find any errors.

Required Info

puddletag plugins are stored in ~/.puddletag/plugins. In order for a plugin to be registered the following tree structure is required.:

~/.puddletag/plugins
    --\modulename
    ----\__init__.py
    ----\info

Plugins will be imported using modulename, as such only valid in Python module names (no spaces, periods, unicode, etc.) are allowed.

info is a INI file containing the plugin information. Use the following structure and keep in mind that all keys are case sensitive.

[info]
name = Plugin Name
author = Author Name
version = 1.0
puddletag_version = 0.9.3
description = Description of what the plugin has/does.
  • name: The name of the plugin as it’ll be displayed to a puddletag user.

  • author: Add the names of people responsible for this mofo.

  • version: The version number of your plugin.

  • puddletag_version: The version of puddletag this plugin was created with. May be used for backward compatibility if the plugin interface changes.

  • description: Add a short synopsis of what your plugin does.

Your plugin will not be loaded unless all this information is present.

Plugin Examples:

The Function plugin example contains a short tutorial on writing scripting functions and Functions that can be part of an action.

The Tag Source Example contains puddletag’s Amazon tag source with a lot of comments.