Metadata-Version: 1.2
Name: aiohttp
Version: 3.3.1
Summary: Async http client/server framework (asyncio)
Home-page: https://github.com/aio-libs/aiohttp
Author: Nikolay Kim
Author-email: fafhrd91@gmail.com
Maintainer: Nikolay Kim <fafhrd91@gmail.com>, Andrew Svetlov <andrew.svetlov@gmail.com>
Maintainer-email: aio-libs@googlegroups.com
License: Apache 2
Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby
Project-URL: CI: Circle, https://circleci.com/gh/aio-libs/aiohttp
Project-URL: Docs: RTD, https://docs.aiohttp.org
Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp
Project-URL: GitHub: repo, https://github.com/aio-libs/aiohttp
Project-URL: CI: AppVeyor, https://ci.appveyor.com/project/asvetlov/aiohttp
Project-URL: CI: Travis, https://travis-ci.com/aio-libs/aiohttp
Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/aiohttp
Project-URL: GitHub: issues, https://github.com/aio-libs/aiohttp/issues
Description: ==================================
        Async http client/server framework
        ==================================
        
        .. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/_static/aiohttp-icon-128x128.png
           :height: 64px
           :width: 64px
           :alt: aiohttp logo
        
        |
        
        .. image:: https://travis-ci.com/aio-libs/aiohttp.svg?branch=master
           :target:  https://travis-ci.com/aio-libs/aiohttp
           :align: right
           :alt: Travis status for master branch
        
        .. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg
           :target: https://codecov.io/gh/aio-libs/aiohttp
           :alt: codecov.io status for master branch
        
        .. image:: https://badge.fury.io/py/aiohttp.svg
           :target: https://pypi.org/project/aiohttp
           :alt: Latest PyPI package version
        
        .. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest
           :target: http://docs.aiohttp.org/
           :alt: Latest Read The Docs
        
        .. image:: https://badges.gitter.im/Join%20Chat.svg
            :target: https://gitter.im/aio-libs/Lobby
            :alt: Chat on Gitter
        
        Key Features
        ============
        
        - Supports both client and server side of HTTP protocol.
        - Supports both client and server Web-Sockets out-of-the-box without the
          Callback Hell.
        - Web-server has middlewares and pluggable routing.
        
        
        Getting started
        ===============
        
        Client
        ------
        
        To retrieve something from the web:
        
        .. code-block:: python
        
          import aiohttp
          import asyncio
        
          async def fetch(session, url):
              async with session.get(url) as response:
                  return await response.text()
        
          async def main():
              async with aiohttp.ClientSession() as session:
                  html = await fetch(session, 'http://python.org')
                  print(html)
        
          if __name__ == '__main__':
              loop = asyncio.get_event_loop()
              loop.run_until_complete(main())
        
        
        Server
        ------
        
        This is simple usage example:
        
        .. code-block:: python
        
            from aiohttp import web
        
            async def handle(request):
                name = request.match_info.get('name', "Anonymous")
                text = "Hello, " + name
                return web.Response(text=text)
        
            async def wshandle(request):
                ws = web.WebSocketResponse()
                await ws.prepare(request)
        
                async for msg in ws:
                    if msg.type == web.WSMsgType.text:
                        await ws.send_str("Hello, {}".format(msg.data))
                    elif msg.type == web.WSMsgType.binary:
                        await ws.send_bytes(msg.data)
                    elif msg.type == web.WSMsgType.close:
                        break
        
                return ws
        
        
            app = web.Application()
            app.add_routes([web.get('/', handle),
                            web.get('/echo', wshandle),
                            web.get('/{name}', handle)])
        
            web.run_app(app)
        
        
        Documentation
        =============
        
        https://aiohttp.readthedocs.io/
        
        
        Demos
        =====
        
        https://github.com/aio-libs/aiohttp-demos
        
        
        External links
        ==============
        
        * `Third party libraries
          <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_
        * `Built with aiohttp
          <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_
        * `Powered by aiohttp
          <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_
        
        Feel free to make a Pull Request for adding your link to these pages!
        
        
        Communication channels
        ======================
        
        *aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs
        
        Feel free to post your questions and ideas here.
        
        *gitter chat* https://gitter.im/aio-libs/Lobby
        
        We support `Stack Overflow
        <https://stackoverflow.com/questions/tagged/aiohttp>`_.
        Please add *aiohttp* tag to your question there.
        
        Requirements
        ============
        
        - Python >= 3.5.3
        - async-timeout_
        - attrs_
        - chardet_
        - multidict_
        - yarl_
        
        Optionally you may install the cChardet_ and aiodns_ libraries (highly
        recommended for sake of speed).
        
        .. _chardet: https://pypi.python.org/pypi/chardet
        .. _aiodns: https://pypi.python.org/pypi/aiodns
        .. _attrs: https://github.com/python-attrs/attrs
        .. _multidict: https://pypi.python.org/pypi/multidict
        .. _yarl: https://pypi.python.org/pypi/yarl
        .. _async-timeout: https://pypi.python.org/pypi/async_timeout
        .. _cChardet: https://pypi.python.org/pypi/cchardet
        
        License
        =======
        
        ``aiohttp`` is offered under the Apache 2 license.
        
        
        Keepsafe
        ========
        
        The aiohttp community would like to thank Keepsafe
        (https://www.getkeepsafe.com) for it's support in the early days of
        the project.
        
        
        Source code
        ===========
        
        The latest developer version is available in a github repository:
        https://github.com/aio-libs/aiohttp
        
        Benchmarks
        ==========
        
        If you are interested in by efficiency, AsyncIO community maintains a
        list of benchmarks on the official wiki:
        https://github.com/python/asyncio/wiki/Benchmarks
        
        =========
        Changelog
        =========
        
        ..
            You should *NOT* be adding new change log entries to this file, this
            file is managed by towncrier. You *may* edit previous change logs to
            fix problems like typo corrections or such.
            To add a new change log entry, please see
            https://pip.pypa.io/en/latest/development/#adding-a-news-entry
            we named the news folder "changes".
        
            WARNING: Don't drop the next directive!
        
        .. towncrier release notes start
        
        3.3.1 (2018-06-05)
        ==================
        
        - Fix ``sock_read`` timeout. (`#3053 <https://github.com/aio-libs/aiohttp/pull/3053>`_)
        - When using a server-request body as the ``data=`` argument of a client request,
          iterate over the content with ``readany`` instead of ``readline`` to avoid ``Line
          too long`` errors. (`#3054 <https://github.com/aio-libs/aiohttp/pull/3054>`_)
        
        
        3.3.0 (2018-06-01)
        ==================
        
        Features
        --------
        
        - Raise ``ConnectionResetError`` instead of ``CancelledError`` on trying to
          write to a closed stream. (`#2499 <https://github.com/aio-libs/aiohttp/pull/2499>`_)
        - Implement ``ClientTimeout`` class and support socket read timeout. (`#2768 <https://github.com/aio-libs/aiohttp/pull/2768>`_)
        - Enable logging when ``aiohttp.web`` is used as a program (`#2956 <https://github.com/aio-libs/aiohttp/pull/2956>`_)
        - Add canonical property to resources (`#2968 <https://github.com/aio-libs/aiohttp/pull/2968>`_)
        - Forbid reading response BODY after release (`#2983 <https://github.com/aio-libs/aiohttp/pull/2983>`_)
        - Implement base protocol class to avoid a dependency from internal
          ``asyncio.streams.FlowControlMixin`` (`#2986 <https://github.com/aio-libs/aiohttp/pull/2986>`_)
        - Cythonize ``@helpers.reify``, 5% boost on macro benchmark (`#2995 <https://github.com/aio-libs/aiohttp/pull/2995>`_)
        - Optimize HTTP parser (`#3015 <https://github.com/aio-libs/aiohttp/pull/3015>`_)
        - Implement ``runner.addresses`` property. (`#3036 <https://github.com/aio-libs/aiohttp/pull/3036>`_)
        - Use ``bytearray`` instead of a list of ``bytes`` in websocket reader. It
          improves websocket message reading a little. (`#3039 <https://github.com/aio-libs/aiohttp/pull/3039>`_)
        - Remove heartbeat on closing connection on keepalive timeout. The used hack
          violates HTTP protocol. (`#3041 <https://github.com/aio-libs/aiohttp/pull/3041>`_)
        - Limit websocket message size on reading to 4 MB by default. (`#3045 <https://github.com/aio-libs/aiohttp/pull/3045>`_)
        
        
        Bugfixes
        --------
        
        - Don't reuse a connection with the same URL but different proxy/TLS settings
          (`#2981 <https://github.com/aio-libs/aiohttp/pull/2981>`_)
        - When parsing the Forwarded header, the optional port number is now preserved.
          (`#3009 <https://github.com/aio-libs/aiohttp/pull/3009>`_)
        
        
        Improved Documentation
        ----------------------
        
        - Make Change Log more visible in docs (`#3029 <https://github.com/aio-libs/aiohttp/pull/3029>`_)
        - Make style and grammar improvements on the FAQ page. (`#3030 <https://github.com/aio-libs/aiohttp/pull/3030>`_)
        - Document that signal handlers should be async functions since aiohttp 3.0
          (`#3032 <https://github.com/aio-libs/aiohttp/pull/3032>`_)
        
        
        Deprecations and Removals
        -------------------------
        
        - Deprecate custom application's router. (`#3021 <https://github.com/aio-libs/aiohttp/pull/3021>`_)
        
        
        Misc
        ----
        
        - #3008, #3011
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: AsyncIO
Requires-Python: >=3.5.3
