Metadata-Version: 1.0
Name: pyduck
Version: 0.5.2
Summary: Utility framework for easier & more robust duck typing in Python
Home-page: http://xion.github.com/pyduck
Author: Karol Kuczmarski "Xion"
Author-email: karol.kuczmarski@gmail.com
License: BSD
Description: Easier & more robust duck typing
        ================================
        
        **pyduck** is a Python utility framework for more effective usage
        of language's defining traits: *duck typing*. It enhances the
        language with several useful features that increase the readability
        and reliability of Python code.
        
        ::
        
            from pyduck import Interface, expects, Any, overload
            
            class Iterable(Interface):
                def __iter__(self): pass
            
            @expects(Iterable)
            def __iterable_as_json(value):
                json_list = map(as_json, value)
                return "[%s]" % str.join(",", json_list)
            
            @expects(basestring)
            def __string_as_json(value):
                return '"%s"' % str(value)
            
            @expects(Any)
            def __other_as_json(value):
                return str(value)
            
            as_json = overload(__iterable_as_json, __string_as_json, __other_as_json)
        
        Features
        --------
        
        
        -  *interfaces* which do not need to be explicitly declared
           (similar to Go language)
        -  automatic *interface/type checking* for function arguments
        -  *function overloading* based on interfaces/types of arguments
        -  automatic interface/type checking for function return values
        
        For more info & the docs, see the
        `project's webpage <http://xion.github.com/pyduck>`_.
        
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
