File: PKG-INFO

package info (click to toggle)
python-aiohttp 3.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 5,612 kB
  • sloc: python: 36,917; ansic: 15,734; makefile: 365; sh: 83
file content (337 lines) | stat: -rw-r--r-- 16,338 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
Metadata-Version: 2.1
Name: aiohttp
Version: 3.5.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: CI: Circle, https://circleci.com/gh/aio-libs/aiohttp
Project-URL: CI: Shippable, https://app.shippable.com/github/aio-libs/aiohttp
Project-URL: Docs: RTD, https://docs.aiohttp.org
Project-URL: GitHub: repo, https://github.com/aio-libs/aiohttp
Project-URL: Chat: Gitter, https://gitter.im/aio-libs/Lobby
Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp
Project-URL: CI: AppVeyor, https://ci.appveyor.com/project/aio-libs/aiohttp
Project-URL: CI: Travis, https://travis-ci.com/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://ci.appveyor.com/api/projects/status/tnddy9k6pphl8w7k/branch/master?svg=true
           :target: https://ci.appveyor.com/project/aio-libs/aiohttp
           :align: right
           :alt: AppVeyor 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: https://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 and avoids
          Callback Hell.
        - Provides Web-server with middlewares and pluggable routing.
        
        
        Getting started
        ===============
        
        Client
        ------
        
        To get 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
        ------
        
        An example using a simple server:
        
        .. code-block:: python
        
            # examples/server_simple.py
            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 its 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 efficiency, the 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.5.1 (2018-12-24)
        ====================
        
        - Fix a regression about ``ClientSession._requote_redirect_url`` modification in debug
          mode.
        
        3.5.0 (2018-12-22)
        ====================
        
        Features
        --------
        
        - The library type annotations are checked in strict mode now.
        - Add support for setting cookies for individual request (`#2387 <https://github.com/aio-libs/aiohttp/pull/2387>`_)
        - Application.add_domain implementation (`#2809 <https://github.com/aio-libs/aiohttp/pull/2809>`_)
        - The default ``app`` in the request returned by ``test_utils.make_mocked_request``
          can now have objects assigned to it and retrieved using the ``[]`` operator. (`#3174 <https://github.com/aio-libs/aiohttp/pull/3174>`_)
        - Make ``request.url`` accessible when transport is closed. (`#3177 <https://github.com/aio-libs/aiohttp/pull/3177>`_)
        - Add ``zlib_executor_size`` argument to ``Response`` constructor to allow compression to run in a background executor to avoid blocking the main thread and potentially triggering health check failures. (`#3205 <https://github.com/aio-libs/aiohttp/pull/3205>`_)
        - Enable users to set `ClientTimeout` in `aiohttp.request` (`#3213 <https://github.com/aio-libs/aiohttp/pull/3213>`_)
        - Don't raise a warning if ``NETRC`` environment variable is not set and ``~/.netrc`` file
          doesn't exist. (`#3267 <https://github.com/aio-libs/aiohttp/pull/3267>`_)
        - Add default logging handler to web.run_app
        
          If the `Application.debug` flag is set and the default logger `aiohttp.access` is used, access logs will now be output using a `stderr` `StreamHandler` if no handlers are attached. Furthermore, if the default logger has no log level set, the log level will be set to `DEBUG`. (`#3324 <https://github.com/aio-libs/aiohttp/pull/3324>`_)
        - Add method argument to ``session.ws_connect()``.
        
          Sometimes server API requires a different HTTP method for WebSocket connection establishment.
        
          For example, ``Docker exec`` needs POST. (`#3378 <https://github.com/aio-libs/aiohttp/pull/3378>`_)
        - Create a task per request handling. (`#3406 <https://github.com/aio-libs/aiohttp/pull/3406>`_)
        
        
        Bugfixes
        --------
        
        - Enable passing `access_log_class` via `handler_args` (`#3158 <https://github.com/aio-libs/aiohttp/pull/3158>`_)
        - Return empty bytes with end-of-chunk marker in empty stream reader. (`#3186 <https://github.com/aio-libs/aiohttp/pull/3186>`_)
        - Accept ``CIMultiDictProxy`` instances for ``headers`` argument in ``web.Response``
          constructor. (`#3207 <https://github.com/aio-libs/aiohttp/pull/3207>`_)
        - Don't uppercase HTTP method in parser (`#3233 <https://github.com/aio-libs/aiohttp/pull/3233>`_)
        - Make method match regexp RFC-7230 compliant (`#3235 <https://github.com/aio-libs/aiohttp/pull/3235>`_)
        - Add ``app.pre_frozen`` state to properly handle startup signals in sub-applications. (`#3237 <https://github.com/aio-libs/aiohttp/pull/3237>`_)
        - Enhanced parsing and validation of helpers.BasicAuth.decode. (`#3239 <https://github.com/aio-libs/aiohttp/pull/3239>`_)
        - Change imports from collections module in preparation for 3.8. (`#3258 <https://github.com/aio-libs/aiohttp/pull/3258>`_)
        - Ensure Host header is added first to ClientRequest to better replicate browser (`#3265 <https://github.com/aio-libs/aiohttp/pull/3265>`_)
        - Fix forward compatibility with Python 3.8: importing ABCs directly from the collections module will not be supported anymore. (`#3273 <https://github.com/aio-libs/aiohttp/pull/3273>`_)
        - Keep the query string by `normalize_path_middleware`. (`#3278 <https://github.com/aio-libs/aiohttp/pull/3278>`_)
        - Fix missing parameter ``raise_for_status`` for aiohttp.request() (`#3290 <https://github.com/aio-libs/aiohttp/pull/3290>`_)
        - Bracket IPv6 addresses in the HOST header (`#3304 <https://github.com/aio-libs/aiohttp/pull/3304>`_)
        - Fix default message for server ping and pong frames. (`#3308 <https://github.com/aio-libs/aiohttp/pull/3308>`_)
        - Fix tests/test_connector.py typo and tests/autobahn/server.py duplicate loop def. (`#3337 <https://github.com/aio-libs/aiohttp/pull/3337>`_)
        - Fix false-negative indicator end_of_HTTP_chunk in StreamReader.readchunk function (`#3361 <https://github.com/aio-libs/aiohttp/pull/3361>`_)
        - Release HTTP response before raising status exception (`#3364 <https://github.com/aio-libs/aiohttp/pull/3364>`_)
        - Fix task cancellation when ``sendfile()`` syscall is used by static file handling. (`#3383 <https://github.com/aio-libs/aiohttp/pull/3383>`_)
        - Fix stack trace for ``asyncio.TimeoutError`` which was not logged, when it is caught
          in the handler. (`#3414 <https://github.com/aio-libs/aiohttp/pull/3414>`_)
        
        
        Improved Documentation
        ----------------------
        
        - Improve documentation of ``Application.make_handler`` parameters. (`#3152 <https://github.com/aio-libs/aiohttp/pull/3152>`_)
        - Fix BaseRequest.raw_headers doc. (`#3215 <https://github.com/aio-libs/aiohttp/pull/3215>`_)
        - Fix typo in TypeError exception reason in ``web.Application._handle`` (`#3229 <https://github.com/aio-libs/aiohttp/pull/3229>`_)
        - Make server access log format placeholder %b documentation reflect
          behavior and docstring. (`#3307 <https://github.com/aio-libs/aiohttp/pull/3307>`_)
        
        
        Deprecations and Removals
        -------------------------
        
        - Deprecate modification of ``session.requote_redirect_url`` (`#2278 <https://github.com/aio-libs/aiohttp/pull/2278>`_)
        - Deprecate ``stream.unread_data()`` (`#3260 <https://github.com/aio-libs/aiohttp/pull/3260>`_)
        - Deprecated use of boolean in ``resp.enable_compression()`` (`#3318 <https://github.com/aio-libs/aiohttp/pull/3318>`_)
        - Encourage creation of aiohttp public objects inside a coroutine (`#3331 <https://github.com/aio-libs/aiohttp/pull/3331>`_)
        - Drop dead ``Connection.detach()`` and ``Connection.writer``. Both methods were broken
          for more than 2 years. (`#3358 <https://github.com/aio-libs/aiohttp/pull/3358>`_)
        - Deprecate ``app.loop``, ``request.loop``, ``client.loop`` and ``connector.loop`` properties. (`#3374 <https://github.com/aio-libs/aiohttp/pull/3374>`_)
        - Deprecate explicit debug argument. Use asyncio debug mode instead. (`#3381 <https://github.com/aio-libs/aiohttp/pull/3381>`_)
        - Deprecate body parameter in HTTPException (and derived classes) constructor. (`#3385 <https://github.com/aio-libs/aiohttp/pull/3385>`_)
        - Deprecate bare connector close, use ``async with connector:`` and ``await connector.close()`` instead. (`#3417 <https://github.com/aio-libs/aiohttp/pull/3417>`_)
        - Deprecate obsolete ``read_timeout`` and ``conn_timeout`` in ``ClientSession`` constructor. (`#3438 <https://github.com/aio-libs/aiohttp/pull/3438>`_)
        
        
        Misc
        ----
        
        - #3341, #3351
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
Provides-Extra: speedups