Metadata-Version: 1.0
Name: Reflex-events
Version: 1.12
Summary: Event system for Python
Home-page: http://photofroggy.github.com/Reflex/index.html
Author: photofroggy
Author-email: froggywillneverdie@msn.com
License: UNKNOWN
Description: 
        **Reflex** is an event system for applications made using **Python**.
        
        The package provides a way for applications to manage events and event listeners, with little effort.
        
        While the system is somewhat more complex than existing event systems, I feel it is more flexible, and more powerful.
        
        Below is an example that hints at the capabilites of Reflex::
        
            from reflex.data import Event
            from reflex.control import EventManager
            from reflex.interfaces import Reactor
            
            class example(Reactor):
                
                name = 'example'
                
                def __inst__(self):
                    self.bind(self.handler, 'basic', source='main')
                    self.bind(self.use_args, 'args')
                
                def handler(self, event, *args):
                    print("Hello, world!")
                
                def use_args(self, event, *args):
                    print("Event triggered by {0} since because {1}.".format(event.source, args[0]))
                
            events = EventManager()
            obj = example(events)
            
            # The following event trigger is not handled by anything.
            events.trigger(Event('basic'))
            # The next event trigger is handled by the handler method.
            events.trigger(Event('basic', [('source', 'main')]))
            # This one is yes.
            events.trigger(Event('args', [('source', 'main')]), 'pickles')
        
        Documentation and a package reference can be found at
        http://photofroggy.github.com/Reflex/index.html
        
        The purpose of this package is to make creating an event driven plugin system
        for your application an effortless task. A full plugin system can created in
        just a few lines, as shown here::
            
            from reflex.data import Event
            from reflex.control import EventManager
            from reflex.control import ReactorBattery
            import plugins
            
            # Create an event manager.
            events = EventManager()
            
            # Create a battery.
            battery = ReactorBattery()
            # Load our plugins.
            battery.load_objects(events, plugins, 'Plugin')
            
            # Plugins can now be accessed as such:
            #   battery.loaded[plugin_name]
            # Events can be fired as follows:
            #   events.trigger(Event('my event'))
            # Easy as pie!
            
        The above example assumes your plugins are stored in a package called
        ``plugins``.
        
Platform: Any
Classifier: Natural Language :: English
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
