Metadata-Version: 2.1
Name: python-interfaces
Version: 0.1.2
Summary: Bringing interfaces to Python.
Home-page: https://github.com/tyleragreen/python-interfaces
Author: Tyler Green
Author-email: greent@tyleragreen.com
License: MIT license
Description: # python-interfaces
        [![CircleCI](https://circleci.com/gh/tyleragreen/python-interfaces.svg?style=svg)](https://circleci.com/gh/tyleragreen/python-interfaces)
        ## Installation
        ```
        pip install python-interfaces
        ```
        ## Usage
        ```
        from interface import interface
        
        class Iterable:
            def be_iterable(self):
                pass
        
        @interface(Iterable)
        class Foo:
            def __init__(self):
                pass
        
        # raises InterfaceException
        ```
        ## Local Development
        ```
        git clone https://github.com/tyleragreen/python-interfaces.git && cd python-interfaces
        virtualenv ~/.env/interface
        source ~/.env/interface/bin/activate
        
        pip install -r requirements_dev.txt
        
        # Since the tests live outside the package, we install the package in editable mode
        pip install -e .
        py.test
        ```
        ## Other Ideas
        1. Support [dunder](https://dbader.org/blog/meaning-of-underscores-in-python) methods
        1. Enforce method [signatures](https://docs.python.org/3.6/library/inspect.html#inspect.signature)
        1. Require interface methods to be empty/abstract/`pass`-only
        
Platform: UNKNOWN
Description-Content-Type: text/markdown
