On behalf of aiohttp development team, I proud to announce aiohttp 0.13.0 
release.

aiohttp library is good known as asyncio-compatible tool for performing 
HTTP requests. It supports http/https, cookies, keep-alives, file uploading 
and many others.

Also aiohttp has had low level HTTP server and websockets (both server and 
client).

The target of our work for last months was aiohttp.web -- (relative) 
high-level HTTP server suitable for average programmer.

Please take a look on simple "hello world" example:

    import asyncio
    from aiohttp import web


    @asyncio.coroutine
    def handle(request):
        name = request.match_info.get('name', "Anonymous")
        text = "Hello, " + name
        return web.Response(text=text)


    @asyncio.coroutine
    def init(loop):
        app = web.Application(loop=loop)
        app.router.add_route('GET', '/{name}', handle)

        srv = yield from loop.create_server(app.make_handler(),
                                            '127.0.0.1', 8080)
        print("Server started at http://127.0.0.1:8080";)
        return srv

    loop = asyncio.get_event_loop()
    loop.run_until_complete(init(loop))
    loop.run_forever()

aiohttp.web has many features also: named routes and reverse route lookup, 
file uploading, static file handling and, last but not least, middlewares.

Please look on documentation for 
details: http://aiohttp.readthedocs.org/en/v0.13.0/

aiohttp.web still has no websockets itself, we will add it very soon.

Also we works on template engine support 
in https://github.com/aio-libs/aiohttp_jinja2 (not released yet, API maybe 
will changed) -- but I guess to make first aiohttp_jinja2 release shortly.

So aiohttp is the best asyncio web server for now, and we are working hard 
on making it better.

Reply via email to