Metadata-Version: 1.0
Name: newsuper
Version: 0.3b
Summary: Python 3.x super() in 2.x
Home-page: http://pypi.python.org/pypi/newsuper/
Author: invlpg
Author-email: invlpg@gmail.com
License: MIT
Description: .. include globals.rst
        
        Intro
        ========
        
        `newsuper` provides you Python3k-alike super() for Python2.x
        
        Since 0.3, newsuper is 110% behaving like Python3k's super()
        
        Why
        =======
        
        you must hate to write code like this::
        
            super(Foo, self).__init__()
            
        and you might have written (WRONG) code like this::
        
            super(self.__class__, self).__init__()
            
        Python3k's super() saves your ass a bit::
        
            super().__init__()
            
        Example
        =======
        
        You can make your topest-level class subclassing `newsuper.Object` ::
        
            from newsuper import Object
        
            class Foo(Object):
                def __init__(self):
                    self.foo = 1
        
                @classmethod
                def do_something_with_class(cls):
                    return [cls, 'Foo']
        
                @staticmethod
                def do_something_static():
                    return ['Foo']
                    
            class Bar(Foo):
                def __init__(self):
                    super().__init__()
                    self.bar = 1
        
                @classmethod
                def do_something_static(cls):
                    return super().do_something_static() + ['Bar']
        
            class Baz(Bar):
                def __init__(self):
                    super().__init__()
                    self.baz = 1
        
                @classmethod
                def do_something_with_class(cls):
                    # Compatible with old super(Baz, cls)
                    return super(Baz, cls).do_something_with_class() + ['Baz']
        
                @staticmethod
                def do_something_static():
                    # Yes, you can even super a staticmethod!
                    return super().do_something_static() + ['Baz']
                
            if __name__ == '__main__':
                assert Baz().foo == Baz().bar == Baz().baz == 1
                assert Baz.do_something_with_class() == [Baz, 'Foo', 'Baz']
                assert Baz.do_something_static() == ['Foo', 'Bar', 'Baz']
        
        property is supported too.
        
        Install
        ==========
        
        Let's try it now
        
        Use pip::
        
            pip install newsuper
            
        or easy_install::
        
            easy_install newsuper
            
        also, there is windows installer.
        
Platform: UNKNOWN
