VOOZH about

URL: https://pypi.org/project/aiohttp/0.14.3/

⇱ aiohttp Β· PyPI


Skip to main content

aiohttp 0.14.3

pip install aiohttp==0.14.3

Newer version available (3.14.1)

Released:

http client/server for asyncio

Navigation

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: Apache Software License (Apache 2)
  • Author: Nikolay Kim

Project description

http client/server for asyncio

πŸ‘ aiohttp logo
πŸ‘ https://secure.travis-ci.org/KeepSafe/aiohttp.png

Features

  • Supports both client and server side of HTTP protocol.

  • Supports Web-Sockets out-of-the-box.

  • Web-server has middlewares and pluggable routing.

Requirements

License

aiohttp is offered under the Apache 2 license.

Documentation

http://aiohttp.readthedocs.org/

Source code

The latest developer version is available in a github repository: https://github.com/KeepSafe/aiohttp

Getting started

Client

To retrieve something from the web:

import aiohttp

def get_body(url):
 response = yield from aiohttp.request('GET', url)
 return (yield from response.read())

You can use the get command like this anywhere in your asyncio powered program:

response = yield from aiohttp.request('GET', 'http://python.org')
body = yield from response.read()
print(body)

If you want to use timeouts for aiohttp client side please use standard asyncio approach:

yield from asyncio.wait_for(request('GET', url), 10)

Server

In aiohttp 0.12 we’ve added highlevel API for web HTTP server.

There is simple usage 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(body=text.encode('utf-8'))


@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()

CHANGES

0.14.3 (01-28-2015)

  • Use path=’/’ by default for cookies #261

0.14.2 (01-23-2015)

  • Connections leak in BaseConnector #253

  • Do not swallow websocket reader exceptions #255

  • web.Request’s read, text, json are memorized #250

0.14.1 (01-15-2015)

  • HttpMessage._add_default_headers does not overwrite existing headers #216

  • Expose multidict classes at package level

  • add aiohttp.web.WebSocketResponse

  • According to RFC 6455 websocket subprotocol preference order is provided by client, not by server

  • websocket’s ping and pong accept optional message parameter

  • multidict views do not accept getall parameter anymore, it returns the full body anyway.

  • multidicts have optional Cython optimization, cythonized version of multidicts is about 5 times faster than pure Python.

  • multidict.getall() returns list, not tuple.

  • Backward imcompatible change: now there are two mutable multidicts (MultiDict, CIMultiDict) and two immutable multidict proxies (MultiDictProxy and CIMultiDictProxy). Previous edition of multidicts was not a part of public API BTW.

  • Router refactoring to push Not Allowed and Not Found in middleware processing

  • Convert ConnectionError to aiohttp.DisconnectedError and don’t eat ConnectionError exceptions from web handlers.

  • Remove hop headers from Response class, wsgi response still uses hop headers.

  • Allow to send raw chunked encoded response.

  • Allow to encode output bytes stream into chunked encoding.

  • Allow to compress output bytes stream with deflate encoding.

  • Server has 75 seconds keepalive timeout now, was non-keepalive by default.

  • Application doesn’t accept **kwargs anymore (#243).

  • Request is inherited from dict now for making per-request storage to middlewares (#242).

Project details

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: Apache Software License (Apache 2)
  • Author: Nikolay Kim

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohttp-0.14.3.tar.gz (1.3 MB view details)

Uploaded Source

File details

Details for the file aiohttp-0.14.3.tar.gz.

File metadata

  • Download URL: aiohttp-0.14.3.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aiohttp-0.14.3.tar.gz
Algorithm Hash digest
SHA256 6d2b23875ff14874267ab4362012d5a2fb0bb2e86b11d1fbfeb3be397307e2be
MD5 1962a3ed89012501dd28a2f1175411c8
BLAKE2b-256 57feda94b5b129cecfbee70c711276b4804927a415cc3e20dd4a4c8f8d0825ef

See more details on using hashes here.

Supported by

πŸ‘ Image
AWS Cloud computing and Security Sponsor πŸ‘ Image
Datadog Monitoring πŸ‘ Image
Depot Continuous Integration πŸ‘ Image
Fastly CDN πŸ‘ Image
Google Download Analytics πŸ‘ Image
Pingdom Monitoring πŸ‘ Image
Sentry Error logging πŸ‘ Image
StatusPage Status page