def setup(package, **kwargs):
def read(*paths):<EOL><INDENT>"""<STR_LIT>"""<EOL>p = os.path.join(*paths)<EOL>if os.path.exists(p):<EOL><INDENT>with open(p, '<STR_LIT:r>') as f:<EOL><INDENT>return f.read()<EOL><DEDENT><DEDENT>return '<STR_LIT>'<EOL><DEDENT>setuptoolsSetup(<EOL>name=package.__name__,<EOL>version=package.__version__,<EOL>author=package.__author__,<EOL>author_email=package.__email__,<EOL>url=package.__url__,<EOL>license=package.__license__,<EOL>install_requires=package.__depencies__,<EOL>classifiers=package.__classifiers__,<EOL>description=package.__description__,<EOL>packages=find_packages(exclude=['<STR_LIT>']),<EOL>include_package_data=True,<EOL>scripts=[] if not os.path.exists('<STR_LIT>') else [<EOL>os.path.join('<STR_LIT>', x) for x in os.listdir('<STR_LIT>')],<EOL>long_description=(<EOL>read('<STR_LIT>') + '<STR_LIT>' +<EOL>read('<STR_LIT>') + '<STR_LIT>' +<EOL>read('<STR_LIT>')),<EOL>**kwargs<EOL>)<EOL>mainPath = os.path.abspath(os.path.dirname(__file__))<EOL>bPath = os.path.join(mainPath, '<STR_LIT>')<EOL>if os.path.exists(bPath):<EOL><INDENT>shutil.rmtree(bPath)<EOL><DEDENT>
a template for the  python setup.py installer routine

    * take setup information from the packages __init__.py file
            * this way these informations, like...
                    - __email__
                    - __version__
                    - __depencies__
                are still available after installation

    * exclude /tests*
    * create scripts from all files in /bin
    * create the long description from
        - /README.rst
        - /CHANGES.rst
        - /AUTHORS.rst

    * remove /build at the end