Metadata-Version: 1.1
Name: annex
Version: 0.2
Summary: A Simple Plugin System for Python
Home-page: https://github.com/gmjosack/annex
Author: Gary M. Josack
Author-email: gary@byoteki.com
License: MIT
Download-URL: https://github.com/gmjosack/annex/archive/master.tar.gz
Description: annex
        =====
        
        Summary
        ~~~~~~~
        
        Annex provides assistance with developing plugin-based tools.
        
        With Annex you can load and reload plugins from various python modules
        without the requirement that they exist on the PYTHONPATH.
        
        Example Usage
        ~~~~~~~~~~~~~
        
        In your project you would define a base class from which all plugins for
        project would subclass.
        
        base\_plugin.py
        '''''''''''''''
        
        ::
        
            class BaseTestPlugin(object):
                def run(self, *args, **kwargs):
                    raise NotImplementedError()
        
        example\_plugin.py
        ''''''''''''''''''
        
        ::
        
            from base_plugin import BaseTestPlugin
        
            class PrinterPlugin(BaseTestPlugin):
                def run(self, *args, **kwargs):
                    print args, kwargs
        
        foo.py
        ''''''
        
        ::
        
            from base_plugin import BaseTestPlugin
            from annex import Annex
        
            plugins = Annex(BaseTestPlugin, "/path/to/plugins")
        
            for plugin in plugins:
                plugin.run("foo", bar="baz")
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
