def install():
    """Install Fleaker.

    In a function so we can protect this file so it's only run when we
    explicitly invoke it and not, say, when py.test collects all Python
    modules.
    """
    _version_re = re.compile(r"__version__\s+=\s+(.*)")  # pylint: disable=invalid-name

    with open('./fleaker/__init__.py', 'rb') as file_:
        version = ast.literal_eval(_version_re.search(  # pylint: disable=invalid-name
            file_.read().decode('utf-8')).group(1))

    download_url = ('https://github.com/croscon/fleaker/archive/'
                    'v{}.tar.gz'.format(version))

    setup(
        name='fleaker',
        version=version,
        download_url=download_url,
        description='Tools and extensions to make Flask development easier.',
        url='https://github.com/croscon/fleaker',
        author='Croscon Consulting',
        author_email='open.source@croscon.com',
        license='BSD',
        packages=[
            'fleaker',
            'fleaker.marshmallow',
            'fleaker.marshmallow.fields',
            'fleaker.peewee',
            'fleaker.peewee.fields',
            'fleaker.peewee.mixins',
            'fleaker.peewee.mixins.time',
        ],
        zip_safe=False,
        long_description=__doc__,
        include_package_data=True,
        platforms='any',
        install_requires=[
            'Flask',
            'Flask-Classful',
            'Flask-Login',
            'Flask-Marshmallow',
            'arrow',
            'bcrypt',
            'blinker',
            'marshmallow',
            'marshmallow-jsonschema',
            'peewee',
            'pendulum',
            'phonenumbers',
            'simplejson',
        ],
        classifiers=[
            'Development Status :: 2 - Pre-Alpha',
            'Environment :: Web Environment',
            'Framework :: Flask',
            'Intended Audience :: Developers',
            'License :: OSI Approved :: BSD License',
            'Operating System :: OS Independent',
            'Programming Language :: Python',
            # @TODO: Pick specific Python versions; out of the gate flask does 2.6,
            # 2.7, 3.3, 3.4, and 3.5
            'Programming Language :: Python :: 2',
            'Programming Language :: Python :: 3',
            'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
            'Topic :: Software Development :: Libraries :: Application Frameworks',
            'Topic :: Software Development :: Libraries :: Python Modules',
        ],
        keywords=['flask', 'web development', 'flask extension']
    )
def install ( ) : _version_re = re . compile ( r"__version__\s+=\s+(.*)" ) with open ( './fleaker/__init__.py' , 'rb' ) as file_ : version = ast . literal_eval ( _version_re . search ( file_ . read ( ) . decode ( 'utf-8' ) ) . group ( 1 ) ) download_url = ( 'https://github.com/croscon/fleaker/archive/' 'v{}.tar.gz' . format ( version ) ) setup ( name = 'fleaker' , version = version , download_url = download_url , description = 'Tools and extensions to make Flask development easier.' , url = 'https://github.com/croscon/fleaker' , author = 'Croscon Consulting' , author_email = 'open.source@croscon.com' , license = 'BSD' , packages = [ 'fleaker' , 'fleaker.marshmallow' , 'fleaker.marshmallow.fields' , 'fleaker.peewee' , 'fleaker.peewee.fields' , 'fleaker.peewee.mixins' , 'fleaker.peewee.mixins.time' , ] , zip_safe = False , long_description = __doc__ , include_package_data = True , platforms = 'any' , install_requires = [ 'Flask' , 'Flask-Classful' , 'Flask-Login' , 'Flask-Marshmallow' , 'arrow' , 'bcrypt' , 'blinker' , 'marshmallow' , 'marshmallow-jsonschema' , 'peewee' , 'pendulum' , 'phonenumbers' , 'simplejson' , ] , classifiers = [ 'Development Status :: 2 - Pre-Alpha' , 'Environment :: Web Environment' , 'Framework :: Flask' , 'Intended Audience :: Developers' , 'License :: OSI Approved :: BSD License' , 'Operating System :: OS Independent' , 'Programming Language :: Python' , 'Programming Language :: Python :: 2' , 'Programming Language :: Python :: 3' , 'Topic :: Internet :: WWW/HTTP :: Dynamic Content' , 'Topic :: Software Development :: Libraries :: Application Frameworks' , 'Topic :: Software Development :: Libraries :: Python Modules' , ] , keywords = [ 'flask' , 'web development' , 'flask extension' ] )
Install Fleaker.

    In a function so we can protect this file so it's only run when we
    explicitly invoke it and not, say, when py.test collects all Python
    modules.