First of All

First of all, you can use this extension like another plain Flask extensions.

For example, You can initialize the extension like

from flask import Flask
from flask.ext.aiohttp import AioHTTP

app = Flask(__name__)

aio = AioHTTP(app)

or you can initialize it later

from flask import Flask
from flask.ext.aiohttp import AioHTTP

def create_app():
    app = Flask(__name__)
    aio.init_app(app)

aio = AioHTTP()

But, its application running method is different then plain Flask apps one. You have to run it on the asyncio’s run loop.

if __name__ == '__main__':
    aio.run(app)

You can also debug it using werkzeug debugger

if __name__ == '__main__':
    aio.run(app, debug=True)

You can use gunicorn using aiohttp

In myapp.py (or some module name you want to use)

from you_application_module import app as flask_app

app = flask_app.aiohttp_app

And run gunicorn by

gunicorn myapp:app -k aiohttp.worker.GunicornWebWorker -b localhost:8080