Metadata-Version: 1.1
Name: yell
Version: 0.3.2
Summary: User notification library with pluggable backends. Compatible with popular frameworks such as Django, Flask, Celery.
Home-page: https://github.com/caffeinehit/yell
Author: Alen Mujezinovic
Author-email: flashingpumpkin@gmail.com
License: UNKNOWN
Description: ====
        yell
        ====
        
        Pluggable notifications for your Python apps. 
        
        `yell` is not a notification storage or delivery backend but a set of APIs that make it easy to add your own delivery mechanisms. 
        
        The full documentation is available `here <http://yell.readthedocs.org/en/latest/index.html>`_.
        
        
        Using notification decorators
        -----------------------------
        
        ::
        
            from yell import notify
            from yell.decorators import notification
            
            @notification(name = 'buffalo')
            def buffalo_printer(message):
                print message
            
            @notification(name = 'buffalo')
            def buffalo_saver(message):
                save(message)
                
            notify("buffalo", _("Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo"))
        
        
        Using notification classes
        --------------------------
        
        ::
        
            from yell import Notification, notify
        
            class Buffalo(Notification):
                name = "buffalo"
                message = _("Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo")
                
                def notify(self, *args, **kwargs):
                    print self.message
                
            class BuffaloEmail(Buffalo):
                def notify(self, *args, **kwargs):
                    send_mail("Buffalo", self.message, 'buffalo@example.com', [kwargs.get('user').email])
        
            class BuffaloDatabase(Buffalo):
                def notify(self, *args, **kwargs):
                    BuffaloModel.objects.create(user = kwargs.get('user'))
        
            # The default behaviour is to use every notification backend with the same 
            # name 
            notify("buffalo", user = User.objects.get(id=1))
        
            # Only send emails
            notify("buffalo", user = User.objects.get(id=1), backends = [BuffaloEmail])
        
        
        Changelog
        ---------
        
        **v0.3**
        
        * *backwards incompatible* Guessing the file extension with the
          ``mimetypes`` package proved to be inconsistent across systems.
          ``TemplatedEmailBackend`` now makes use of explicitly declared file
          extensions.
        
        **v0.2**
        
        * Made the API saner to use (*backwards incompatible*):  
        
          - ``yell.Yell`` became ``yell.Notification``
          - ``yell.yell`` became ``yell.notify``
          - ``yell.decorators.yelling`` became ``yell.decorators.notification``
        
        
        
Keywords: django flask celery user notifications yell buffalo
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: MacOS X
Classifier: Environment :: Web Environment
Classifier: Environment :: Other Environment
Classifier: Environment :: X11 Applications
Classifier: Framework :: Django
Classifier: Framework :: Paste
Classifier: Framework :: Pylons
Classifier: Framework :: TurboGears
Classifier: Framework :: Twisted
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Email
Classifier: Topic :: Database
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
