Simple Python plugin loader
Regarding your questions:


No, I think the functions as they are are fine, not everything needs
to be moved into a class.
If it's an implementation detail, sure.
AFAIK no, but if it's otherwise empty the method doesn't have to be
added.


Also:


In load_module the loop can be more compact by using a combination
of list.extend and filter.

def load_module(self, module):
    self.plugins.extend(filter(_is_plugin_class,
                            module.__dict__.values()))

The numbered arguments for str.format could be left out.


Looks good otherwise.  If you're really concerned with keeping the
internals safe you could also not expose the plugins list directly,
but provide a separate accessor instead.