[Python-modules-commits] [python-aiohttp] 01/05: Import python-aiohttp_2.3.6.orig.tar.gz

Piotr Ożarowski piotr at moszumanska.debian.org
Wed Dec 20 11:37:24 UTC 2017


This is an automated email from the git hooks/post-receive script.

piotr pushed a commit to branch master
in repository python-aiohttp.

commit d3a157b0cb3c3a101e8efb1d2480a925bc2a640f
Author: Piotr Ożarowski <piotr at debian.org>
Date:   Wed Dec 20 12:01:32 2017 +0100

    Import python-aiohttp_2.3.6.orig.tar.gz
---
 appveyor.yml => .appveyor.yml                      |   15 +-
 ISSUE_TEMPLATE.md => .github/ISSUE_TEMPLATE.md     |    0
 .../PULL_REQUEST_TEMPLATE.md                       |   21 +-
 .gitignore                                         |    4 +-
 .pyup.yml                                          |    2 +
 .travis.yml                                        |  368 +-
 CHANGES.rst                                        |  416 +-
 CHANGES/.gitignore                                 |    1 +
 CONTRIBUTING.rst                                   |   66 +-
 CONTRIBUTORS.txt                                   |   19 +
 HISTORY.rst                                        |  901 +--
 MANIFEST.in                                        |    4 +
 Makefile                                           |   29 +-
 PKG-INFO                                           | 1202 ++--
 README.rst                                         |   86 +-
 aiohttp.egg-info/PKG-INFO                          | 1202 ++--
 aiohttp.egg-info/SOURCES.txt                       |   38 +-
 aiohttp.egg-info/requires.txt                      |    2 +-
 aiohttp/__init__.py                                |    7 +-
 aiohttp/_frozenlist.c                              | 2407 ++++++--
 aiohttp/_frozenlist.pyx                            |    5 +-
 aiohttp/_http_parser.c                             | 6473 +++++++++++++-------
 aiohttp/_http_parser.pyx                           |  113 +-
 aiohttp/_websocket.c                               |  603 +-
 aiohttp/abc.py                                     |   11 +
 aiohttp/client.py                                  |  163 +-
 aiohttp/client_exceptions.py                       |  123 +-
 aiohttp/client_proto.py                            |    6 +-
 aiohttp/client_reqrep.py                           |  111 +-
 aiohttp/client_ws.py                               |   13 +-
 aiohttp/connector.py                               |  301 +-
 aiohttp/cookiejar.py                               |   32 +-
 aiohttp/formdata.py                                |    2 +-
 aiohttp/hdrs.py                                    |    2 +
 aiohttp/helpers.py                                 |  283 +-
 aiohttp/http_exceptions.py                         |    6 +-
 aiohttp/http_parser.py                             |   68 +-
 aiohttp/http_websocket.py                          |  184 +-
 aiohttp/http_writer.py                             |   32 -
 aiohttp/locks.py                                   |   41 +
 aiohttp/payload.py                                 |   37 +-
 aiohttp/pytest_plugin.py                           |  175 +-
 aiohttp/resolver.py                                |   26 +-
 aiohttp/streams.py                                 |   65 +-
 aiohttp/test_utils.py                              |   83 +-
 aiohttp/web.py                                     |   69 +-
 aiohttp/web_fileresponse.py                        |   15 +-
 aiohttp/web_middlewares.py                         |   62 +-
 aiohttp/web_protocol.py                            |   51 +-
 aiohttp/web_request.py                             |  236 +-
 aiohttp/web_response.py                            |   73 +-
 aiohttp/web_server.py                              |    8 +-
 aiohttp/web_urldispatcher.py                       |  266 +-
 aiohttp/web_ws.py                                  |   19 +-
 aiohttp/worker.py                                  |   14 +-
 build-wheels.sh                                    |   23 -
 codecov.yml                                        |    3 +
 demos/polls/aiohttpdemo_polls/utils.py             |    4 +-
 demos/polls/requirements.txt                       |    1 +
 demos/polls/sql/install.sh                         |   21 +-
 docs/abc.rst                                       |   24 +-
 docs/api.rst                                       |   55 +-
 docs/built_with.rst                                |   22 +
 docs/changes.rst                                   |    4 -
 docs/client.rst                                    |  211 +-
 docs/client_reference.rst                          |  593 +-
 docs/conf.py                                       |    7 +-
 docs/contributing.rst                              |    4 -
 docs/deployment.rst                                |   13 +-
 docs/essays.rst                                    |    1 +
 docs/external.rst                                  |   11 +
 docs/faq.rst                                       |   53 +-
 docs/glossary.rst                                  |   27 +-
 docs/index.rst                                     |   77 +-
 docs/logging.rst                                   |   24 +-
 docs/make.bat                                      |    0
 docs/{migration.rst => migration_to_2xx.rst}       |   78 +-
 docs/multipart.rst                                 |    4 -
 docs/new_router.rst                                |    4 -
 docs/powered_by.rst                                |   21 +
 docs/spelling_wordlist.txt                         |   72 +-
 docs/streams.rst                                   |   34 +-
 docs/testing.rst                                   |   55 +-
 docs/third_party.rst                               |  132 +-
 docs/toc.rst                                       |   35 +
 docs/tutorial.rst                                  |    3 -
 docs/web.rst                                       |  511 +-
 docs/web_lowlevel.rst                              |    4 -
 docs/web_reference.rst                             |  423 +-
 examples/background_tasks.py                       |    0
 examples/basic_srv.py                              |    0
 examples/cli_app.py                                |    0
 examples/client_auth.py                            |    0
 examples/client_json.py                            |    0
 examples/client_ws.py                              |    0
 examples/curl.py                                   |    0
 examples/fake_server.py                            |   51 +-
 examples/legacy/crawl.py                           |    0
 examples/legacy/srv.py                             |    0
 examples/legacy/tcp_protocol_parser.py             |    0
 examples/static_files.py                           |    0
 examples/web_classview1.py                         |    0
 examples/web_cookies.py                            |    0
 examples/web_rewrite_headers_middleware.py         |    0
 examples/web_srv.py                                |    0
 examples/{web_srv.py => web_srv_route_deco.py}     |   32 +-
 examples/{web_srv.py => web_srv_route_table.py}    |   31 +-
 examples/web_ws.py                                 |    0
 pyproject.toml                                     |    5 +
 requirements-ci.txt                                |   24 -
 requirements-dev.txt                               |    5 -
 requirements-wheel.txt                             |    3 -
 requirements/ci-wheel.txt                          |   23 +
 requirements/ci.txt                                |    5 +
 requirements/dev.txt                               |    5 +
 requirements/doc-spelling.txt                      |    1 +
 requirements/doc.txt                               |    3 +
 requirements/wheel.txt                             |    3 +
 run_docker.sh                                      |   25 -
 setup.cfg                                          |   72 +-
 setup.py                                           |   12 +-
 tests/autobahn/server.py                           |    2 +-
 tests/conftest.py                                  |    2 +-
 tests/test_client_exceptions.py                    |   10 +
 tests/test_client_functional.py                    |  254 +-
 tests/test_client_request.py                       |   62 +-
 tests/test_client_response.py                      |   13 +-
 tests/test_client_session.py                       |   22 +-
 tests/test_client_ws.py                            |  136 +
 tests/test_client_ws_functional.py                 |   81 +-
 tests/test_connector.py                            |  476 +-
 tests/test_cookiejar.py                            |   33 +-
 tests/test_flowcontrol_streams.py                  |    6 +-
 tests/test_helpers.py                              |  211 +-
 tests/test_http_parser.py                          |  105 +-
 tests/test_locks.py                                |   62 +
 tests/test_loop.py                                 |   36 +
 tests/test_multipart.py                            |    2 +-
 tests/test_payload.py                              |    9 +
 tests/test_proxy.py                                |  427 +-
 tests/test_proxy_functional.py                     |  140 +-
 tests/test_py35/test_client.py                     |   24 +-
 tests/test_py35/test_streams_35.py                 |   21 +
 tests/test_py35/test_test_utils_35.py              |    2 +-
 tests/test_pytest_plugin.py                        |  131 +-
 tests/test_resolver.py                             |   25 +-
 tests/test_route_def.py                            |  286 +
 tests/test_run_app.py                              |   39 +-
 tests/test_streams.py                              |  145 +-
 tests/test_test_utils.py                           |  106 +-
 tests/test_urldispatch.py                          |  127 +
 tests/test_web_application.py                      |   48 +-
 tests/test_web_functional.py                       |   88 +-
 tests/test_web_middleware.py                       |  292 +-
 tests/test_web_request.py                          |  367 +-
 tests/test_web_request_handler.py                  |    8 +-
 tests/test_web_response.py                         |  151 +-
 tests/test_web_sendfile_functional.py              |   54 +
 tests/test_web_server.py                           |   32 +-
 tests/test_web_websocket.py                        |    3 +-
 tests/test_web_websocket_functional.py             |    2 -
 tests/test_websocket_handshake.py                  |  136 +-
 tests/test_websocket_parser.py                     |  128 +-
 tests/test_websocket_writer.py                     |   16 +
 tests/test_worker.py                               |   16 +-
 tools/build-wheels.sh                              |   65 +
 build.cmd => tools/build.cmd                       |    0
 tools/check_changes.py                             |   48 +
 tools/drop_merged_branches.sh                      |    3 +
 tools/run_docker.sh                                |   37 +
 tox.ini                                            |    9 +-
 171 files changed, 17299 insertions(+), 6614 deletions(-)

diff --git a/appveyor.yml b/.appveyor.yml
similarity index 60%
rename from appveyor.yml
rename to .appveyor.yml
index d7e1ab0..b0294bb 100644
--- a/appveyor.yml
+++ b/.appveyor.yml
@@ -1,8 +1,6 @@
-version: 2.0-{build}
-
 environment:
   PYPI_PASSWD:
-    secure: syNUF3e8AEPY327rWBkKag==
+    secure: u+K6dKi7+CXXVFEUG4V7zUyV3w7Ntg0Ork/RGVV0eSQ=
   matrix:
     - PYTHON: "C:\\Python34"
     - PYTHON: "C:\\Python34-x64"
@@ -13,17 +11,16 @@ environment:
     - PYTHON: "C:\\Python36-x64"
 
 install:
-  - "build.cmd %PYTHON%\\python.exe -m pip install wheel"
-  - "build.cmd %PYTHON%\\python.exe -m pip install twine"
-  - "build.cmd %PYTHON%\\python.exe -m pip install -r requirements-ci.txt"
+  - "tools/build.cmd %PYTHON%\\python.exe -m pip install -U wheel setuptools"
+  - "tools/build.cmd %PYTHON%\\python.exe -m pip install -r requirements/ci.txt"
 
 build: false
 
 test_script:
-  - "build.cmd %PYTHON%\\python.exe setup.py test"
+  - "tools/build.cmd %PYTHON%\\python.exe setup.py test"
 
 after_test:
-  - "build.cmd %PYTHON%\\python.exe setup.py bdist_wheel"
+  - "tools/build.cmd %PYTHON%\\python.exe setup.py sdist bdist_wheel"
 
 artifacts:
   - path: dist\*
@@ -31,7 +28,7 @@ artifacts:
 deploy_script:
   - ps: >-
       if($env:appveyor_repo_tag -eq 'True') {
-          Invoke-Expression "$env:PYTHON\\python.exe -m twine upload dist/* --username fafhrd --password $env:PYPI_PASSWD"
+          Invoke-Expression "$env:PYTHON\\python.exe -m twine upload dist/* --username andrew.svetlov --password $env:PYPI_PASSWD"
       }
 
 #notifications:
diff --git a/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
similarity index 100%
rename from ISSUE_TEMPLATE.md
rename to .github/ISSUE_TEMPLATE.md
diff --git a/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
similarity index 50%
rename from PULL_REQUEST_TEMPLATE.md
rename to .github/PULL_REQUEST_TEMPLATE.md
index 084e7ad..b1362dd 100644
--- a/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,13 +1,5 @@
 <!-- Thank you for your contribution!
 
-     Before submit your Pull Request, make sure you picked
-     the right branch:
-
-     - If you propose a new feature or improvement, select "master"
-       as a target branch;
-     - If this is a bug fix or documentation amendment, select
-       the latest release branch (which looks like "0.xx") -->
-
 ## What do these changes do?
 
 <!-- Please give a short brief about these changes. -->
@@ -28,6 +20,13 @@
 - [ ] If you provide code modification, please add yourself to `CONTRIBUTORS.txt`
   * The format is <Name> <Surname>.
   * Please keep alphabetical order, the file is sorted by names. 
-- [ ] Add a new entry to `CHANGES.rst`
-  * Choose any open position to avoid merge conflicts with other PRs.
-  * Add a link to the issue you are fixing (if any) using `#issue_number` format at the end of changelog message. Use Pull Request number if there are no issues for PR or PR covers the issue only partially.
+- [ ] Add a new news fragment into the `changes` folder
+  * name it `<issue_id>.<type>` for example (588.bug)
+  * if you don't have an `issue_id` change it to the pr id after creating the pr
+  * ensure type is one of the following:
+    * `.feature`: Signifying a new feature.
+    * `.bugfix`: Signifying a bug fix.
+    * `.doc`: Signifying a documentation improvement.
+    * `.removal`: Signifying a deprecation or removal of public API.
+    * `.misc`: A ticket has been closed, but it is not of interest to users.
+  * Make sure to use full sentences with correct case and punctuation, for example: "Fix issue with non-ascii contents in doctest text files."
diff --git a/.gitignore b/.gitignore
index 6a2f331..9d27f04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,8 +26,7 @@ aiohttp/_websocket.html
 aiohttp/_http_parser.c
 bin
 build
-cover
-coverage
+htmlcov
 develop-eggs
 dist
 docs/_build/
@@ -46,3 +45,4 @@ virtualenv.py
 .develop
 .gitconfig
 .flake
+.python-version
diff --git a/.pyup.yml b/.pyup.yml
index fd44d31..75f9711 100644
--- a/.pyup.yml
+++ b/.pyup.yml
@@ -1,2 +1,4 @@
 # Label PRs with `deps-update` label
 label_prs: deps-update
+
+schedule: every week
diff --git a/.travis.yml b/.travis.yml
index 1b45d4a..e213bf5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,69 +1,321 @@
-sudo: required
-services:
-  - docker
+sudo: false
 
 language: python
 
 python:
-  # python3.4.2 has bug in http.cookies module, aiohttp provides fix
-  - 3.4.2
-  - 3.4.3
-  - 3.5.2
-  # - 3.5.3
-  - 3.5
-  - 3.6
-  # - 3.7-dev
-  # - 'nightly'
-
-os:
-  - linux
-#   - osx   # doesn't work on MacOSX -- the system has no Python installed
-
-matrix:
-  allow_failures:
-    - python: '3.6-dev'
-    - python: 'nightly'
-    - os: osx
-
-cache:
-  directories:
-  - $HOME/.cache/pip
-
-before_cache:
-  - rm -f $HOME/.cache/pip/log/debug.log
+# python3.4.2 has bug in http.cookies module, aiohttp provides fix for it
+- 3.4.2
+- 3.4.3
+- 3.5.2
+- 3.5
+- &mainstream_python 3.6
+- 3.6-dev
+- nightly
+- &pypy3 pypy3.5-5.8.0
 
 install:
-  - sudo apt-get install enchant
-  - pip install --upgrade pip wheel
-  - pip install --upgrade setuptools
-  - pip install --upgrade setuptools-git
-  - pip install -r requirements-ci.txt
-  - pip install aiodns
-  - pip install codecov
-  - if python -c "import sys; sys.exit(sys.version_info < (3,5))"; then
-        pip install uvloop;
-    fi
-  - pip install sphinxcontrib-spelling
+- &upgrade_python_toolset pip install --upgrade pip wheel setuptools
+- pip install -r requirements/ci.txt
 
 script:
-  - make cov-dev-full
+- make cov-ci-no-ext
+- make cov-ci-aio-debug
+- make cov-ci-run
 
-  - if python -c "import sys; sys.exit(sys.version_info < (3,5))"; then
-        make doc;
-        make doc-spelling;
+after_success:
+- codecov
+
+_helpers:
+- &_mainstream_python_base
+  python: *mainstream_python
+- &_reset_steps
+  env: []
+  before_install: skip
+  install: skip
+  script: skip
+  after_success: []
+- &_lint_base
+  stage: &doc_stage_name docs, linting and pre-test checks
+  <<: *_mainstream_python_base
+  <<: *_reset_steps
+  install:
+  - *upgrade_python_toolset
+  - pip install -U -r requirements/dev.txt
+- &_doc_base
+  <<: *_lint_base
+  install:
+  - *upgrade_python_toolset
+  - pip install -U -r requirements/dev.txt -r requirements/doc.txt -r requirements/doc-spelling.txt
+  after_failure: cat docs/_build/spelling/output.txt
+  addons:
+    apt:
+      packages:
+      - libenchant-dev
+- &osx_python_base
+  stage: &stage_test_osx_name test under OS X (last chance to fail before deploy available)
+  os: osx
+  language: generic
+  python: *pypy3
+  env:
+  - &env_pypy3 PYTHON_VERSION=pypy3.5-5.8.0
+  - &env_pyenv PYENV_ROOT="$HOME/.pyenv"
+  - &env_path PATH="$PYENV_ROOT/bin:$PATH"
+  before_install:
+  - brew update
+  - brew install readline xz
+  - &ensure_pyenv_installed |
+    if [ ! -f "$PYENV_ROOT/bin/pyenv" ]
+    then
+      rm -rf "$PYENV_ROOT"
+      curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
     fi
+    pyenv update
+    eval "$(pyenv init -)"
+    eval "$(pyenv virtualenv-init -)"
+  - &install_python pyenv install --skip-existing --keep --verbose "$PYTHON_VERSION"
+  - &switch_python pyenv shell "$PYTHON_VERSION"
+  - &python_version python --version
+  before_cache:
+  - brew --cache
+- &generic_deploy_base
+  stage: &deploy_stage_name deploy (PYPI upload itself runs only for tagged commits)
+  <<: *_mainstream_python_base
+  deploy: &deploy_step
+    provider: pypi
+    # `skip_cleanup: true` is required to preserve binary wheels, built
+    # inside of manylinux1 docker container during `script` step above.
+    skip_cleanup: true
+    user: andrew.svetlov
+    password:
+      secure: ZQKbdPT9BlNqP5CTbWRQyeyig7Bpf7wsnYVQIQPOZc9Ec74A+dsbagstR1sPkAO+d+5PN0pZMovvmU7OQhSVPAnJ74nsN90/fL4ux3kqYecMbevv0rJg20hMXSSkwMEIpjUsMdMjJvZAcaKytGWmKL0qAlOJHhixd1pBbWyuIUE=
+    # Although Travis CI instructs `setup.py` to build source distribution,
+    # which is default value for distribution option (`distribution: sdist`),
+    # it will also upload all wheels we've previously built in manylinux1
+    # docker container using `twine upload -r pypi dist/*` command.
+    # Also since commit https://github.com/travis-ci/dpl/commit/90b5e39
+    # it is default that Travis PYPI provider has `skip_upload_docs: true`
+    # set by default.
+    # Besides above, we don't do cleanup of `dist/*`, because it's being done
+    # by Travis CI PYPI deployment provider after upload, unconditionally.
+    on:
+      tags: true
+      all_branches: true
+- &osx_pypi_deploy_base_1011
+  <<: *osx_python_base
+  <<: *generic_deploy_base
+  osx_image: xcode7.3
+  script: skip
+  after_success: []
+  env:
+  - &env_os1011_msg Build and deploy to PYPI of OS X 10.11 binary wheel
+  - *env_py36
+  - *env_pyenv
+  - *env_path
+  deploy:
+    <<: *deploy_step
+    skip_cleanup: false
+    distributions: bdist_wheel
+- &osx_pypi_deploy_base_1012
+  <<: *osx_pypi_deploy_base_1011
+  osx_image: xcode8.1
+  env:
+  - &env_os1012_msg Build and deploy to PYPI of OS X 10.12 binary wheel
+  - *env_py36
+  - *env_pyenv
+  - *env_path
+- &osx_pypi_deploy_base_1010
+  <<: *osx_pypi_deploy_base_1011
+  osx_image: xcode6.4
+  env:
+  - &env_os1010_msg Build and deploy to PYPI of OS X 10.10 binary wheel
+  - *env_py36
+  - *env_pyenv
+  - *env_path
 
-after_success:
-  - codecov
-  - ./run_docker.sh
-
-deploy:
-  provider: pypi
-  user: andrew.svetlov
-  password:
-    secure: ZQKbdPT9BlNqP5CTbWRQyeyig7Bpf7wsnYVQIQPOZc9Ec74A+dsbagstR1sPkAO+d+5PN0pZMovvmU7OQhSVPAnJ74nsN90/fL4ux3kqYecMbevv0rJg20hMXSSkwMEIpjUsMdMjJvZAcaKytGWmKL0qAlOJHhixd1pBbWyuIUE=
-  distributions: "sdist"
-  on:
-    tags: true
-    all_branches: true
-    python: 3.6
+# doesn't work on MacOSX out of the box -- the system has no Python installed
+# there's a workaround to use `language: generic` and install it, but it's slow
+os: linux
+
+jobs:
+  fast_finish: true
+  allow_failures:
+  - python: nightly
+  - python: *pypy3
+
+  include:
+  - <<: *_doc_base
+    env:
+    - docs
+    script:
+    - make doc-spelling
+
+  - <<: *_lint_base
+    env:
+    - flake8
+    script:
+    - flake8 aiohttp --exclude=aiohttp/backport_cookies.py examples tests demos
+
+  - <<: *_lint_base
+    env:
+    - dist setup check
+    install:
+    - *upgrade_python_toolset
+    - pip install -r requirements/doc.txt
+    script:
+    - python setup.py check --metadata --restructuredtext --strict --verbose
+
+  - <<: *osx_python_base
+    python: 3.4.2
+    env:
+    - &env_py34 PYTHON_VERSION=3.4.2
+    - *env_pyenv
+    - *env_path
+  - <<: *osx_python_base
+    python: 3.4.3
+    env:
+    - &env_py34 PYTHON_VERSION=3.4.3
+    - *env_pyenv
+    - *env_path
+  - <<: *osx_python_base
+    python: 3.5.3
+    env:
+    - &env_py35 PYTHON_VERSION=3.5.3
+    - *env_pyenv
+    - *env_path
+  - <<: *osx_python_base
+    python: *mainstream_python
+    env:
+    - &env_py36 PYTHON_VERSION=3.6.3
+    - *env_pyenv
+    - *env_path
+  - <<: *osx_python_base
+    python: *mainstream_python
+    env:
+    - PYTHON_VERSION=3.6-dev
+    - *env_pyenv
+    - *env_path
+  - <<: *osx_python_base
+    python: nightly
+    env:
+    - PYTHON_VERSION=3.7-dev
+    - *env_pyenv
+    - *env_path
+  # pypy3.5-5.8.0 fails under OS X because it's unsupported
+
+  # Build and deploy manylinux1 binary wheels and source distribution
+  - <<: *generic_deploy_base
+    <<: *_reset_steps
+    env: Build and deploy to PYPI of manylinux1 binary wheels for all supported Pythons and source distribution
+    dist: trusty
+    group: edge
+    services:
+    - docker
+    script:
+    - ./tools/run_docker.sh "aiohttp"
+    - pip install -r requirements/ci.txt  # to compile *.c files by Cython
+    deploy:
+      provider: pypi
+      # `skip_cleanup: true` is required to preserve binary wheels, built
+      # inside of manylinux1 docker container during `script` step above.
+      skip_cleanup: true
+      user: andrew.svetlov
+      password:
+        secure: ZQKbdPT9BlNqP5CTbWRQyeyig7Bpf7wsnYVQIQPOZc9Ec74A+dsbagstR1sPkAO+d+5PN0pZMovvmU7OQhSVPAnJ74nsN90/fL4ux3kqYecMbevv0rJg20hMXSSkwMEIpjUsMdMjJvZAcaKytGWmKL0qAlOJHhixd1pBbWyuIUE=
+      # Although Travis CI instructs `setup.py` to build source distribution,
+      # which is default value for distribution option (`distribution: sdist`),
+      # it will also upload all wheels we've previously built in manylinux1
+      # docker container using `twine upload -r pypi dist/*` command.
+      # Also since commit https://github.com/travis-ci/dpl/commit/90b5e39
+      # it is default that Travis PYPI provider has `skip_upload_docs: true`
+      # set by default.
+      # Besides above, we don't do cleanup of `dist/*`, because it's being done
+      # by Travis CI PYPI deployment provider after upload, unconditionally.
+      on:
+        tags: true
+        all_branches: true
+
+    # Build and deploy MacOS binary wheels for each OSX+Python combo possible
+    # OS X 10.10, Python 3.4
+  - <<: *osx_pypi_deploy_base_1010
+    python: 3.4
+    env:
+    - *env_os1010_msg
+    - *env_py34
+    - *env_pyenv
+    - *env_path
+    # OS X 10.10, Python 3.5
+  - <<: *osx_pypi_deploy_base_1010
+    python: 3.5
+    env:
+    - *env_os1010_msg
+    - *env_py35
+    - *env_pyenv
+    - *env_path
+    # OS X 10.10, Python 3.6
+  - <<: *osx_pypi_deploy_base_1010
+    env:
+    - *env_os1010_msg
+    - *env_py36
+    - *env_pyenv
+    - *env_path
+    # OS X 10.11, Python 3.4
+  - <<: *osx_pypi_deploy_base_1011
+    python: 3.4
+    env:
+    - *env_os1011_msg
+    - *env_py34
+    - *env_pyenv
+    - *env_path
+    # OS X 10.11, Python 3.5
+  - <<: *osx_pypi_deploy_base_1011
+    python: 3.5
+    env:
+    - *env_os1011_msg
+    - *env_py35
+    - *env_pyenv
+    - *env_path
+    # OS X 10.11, Python 3.6
+  - <<: *osx_pypi_deploy_base_1011
+    env:
+    - *env_os1011_msg
+    - *env_py36
+    - *env_pyenv
+    - *env_path
+    # OS X 10.12, Python 3.4
+  - <<: *osx_pypi_deploy_base_1012
+    python: 3.4
+    env:
+    - *env_os1012_msg
+    - *env_py34
+    - *env_pyenv
+    - *env_path
+    # OS X 10.12, Python 3.5
+  - <<: *osx_pypi_deploy_base_1012
+    python: 3.5
+    env:
+    - *env_os1012_msg
+    - *env_py35
+    - *env_pyenv
+    - *env_path
+    # OS X 10.12, Python 3.6
+  - <<: *osx_pypi_deploy_base_1012
+    env:
+    - *env_os1012_msg
+    - *env_py36
+    - *env_pyenv
+    - *env_path
+
+stages:
+- *doc_stage_name
+- test
+- name: *stage_test_osx_name
+  if: type IN (api, cron)
+- name: *deploy_stage_name
+  # This will prevent deploy unless it's a tagged commit:
+  if: tag IS present
+
+
+cache: pip
+
+before_cache:
+- rm -f $HOME/.cache/pip/log/debug.log
diff --git a/CHANGES.rst b/CHANGES.rst
index d8e2cb7..91397c4 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,5 +1,234 @@
-Changes
-=======
+=========
+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
+
+2.3.6 (2017-12-04)
+==================
+
+- Correct `request.app` context (for handlers not just middlewares). (#2577)
+
+
+2.3.5 (2017-11-30)
+==================
+
+- Fix compatibility with `pytest` 3.3+ (#2565)
+
+
+2.3.4 (2017-11-29)
+==================
+
+- Make `request.app` point to proper application instance when using nested
+  applications (with middlewares). (#2550)
+- Change base class of ClientConnectorSSLError to ClientSSLError from
+  ClientConnectorError. (#2563)
+- Return client connection back to free pool on error in `connector.connect()`.
+  (#2567)
+
+
+2.3.3 (2017-11-17)
+==================
+
+- Having a `;` in Response content type does not assume it contains a charset
+  anymore. (#2197)
+- Use `getattr(asyncio, 'async')` for keeping compatibility with Python 3.7.
+  (#2476)
+- Ignore `NotImplementedError` raised by `set_child_watcher` from `uvloop`.
+  (#2491)
+- Fix warning in `ClientSession.__del__` by stopping to try to close it.
+  (#2523)
+- Fixed typo's in Third-party libraries page. And added async-v20 to the list
+  (#2510)
+
+
+2.3.2 (2017-11-01)
+==================
+
+- Fix passing client max size on cloning request obj. (#2385)
+- Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy
+  connector. (#2408)
+- Drop generated `_http_parser` shared object from tarball distribution. (#2414)
+- Fix connector convert OSError to ClientConnectorError. (#2423)
+- Fix connection attempts for multiple dns hosts. (#2424)
+- Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket to the
+  `aiohttp.web.run_app` function. (#2431)
+- `_SessionRequestContextManager` closes the session properly now. (#2441)
+- Rename `from_env` to `trust_env` in client reference. (#2451)
+
+
+2.3.1 (2017-10-18)
+==================
+
+- Relax attribute lookup in warning about old-styled middleware (#2340)
+
+
+2.3.0 (2017-10-18)
+==================
+
+Features
+--------
+
+- Add SSL related params to `ClientSession.request` (#1128)
+- Make enable_compression work on HTTP/1.0 (#1828)
+- Deprecate registering synchronous web handlers (#1993)
+- Switch to `multidict 3.0`. All HTTP headers preserve casing now but compared
+  in case-insensitive way. (#1994)
+- Improvement for `normalize_path_middleware`. Added possibility to handle URLs
+  with query string. (#1995)
+- Use towncrier for CHANGES.txt build (#1997)
+- Implement `trust_env=True` param in `ClientSession`. (#1998)
+- Added variable to customize proxy headers (#2001)
+- Implement `router.add_routes` and router decorators. (#2004)
+- Deprecated `BaseRequest.has_body` in favor of
+  `BaseRequest.can_read_body` Added `BaseRequest.body_exists`
+  attribute that stays static for the lifetime of the request (#2005)
+- Provide `BaseRequest.loop` attribute (#2024)
+- Make `_CoroGuard` awaitable and fix `ClientSession.close` warning message
+  (#2026)
+- Responses to redirects without Location header are returned instead of
+  raising a RuntimeError (#2030)
+- Added `get_client`, `get_server`, `setUpAsync` and `tearDownAsync` methods to
+  AioHTTPTestCase (#2032)
+- Add automatically a SafeChildWatcher to the test loop (#2058)
+- add ability to disable automatic response decompression (#2110)
+- Add support for throttling DNS request, avoiding the requests saturation when
+  there is a miss in the DNS cache and many requests getting into the connector
+  at the same time. (#2111)
+- Use request for getting access log information instead of message/transport
+  pair. Add `RequestBase.remote` property for accessing to IP of client
+  initiated HTTP request. (#2123)
+- json() raises a ContentTypeError exception if the content-type does not meet
+  the requirements instead of raising a generic ClientResponseError. (#2136)
+- Make the HTTP client able to return HTTP chunks when chunked transfer
+  encoding is used. (#2150)
+- add `append_version` arg into `StaticResource.url` and
+  `StaticResource.url_for` methods for getting an url with hash (version) of
+  the file. (#2157)
+- Fix parsing the Forwarded header. * commas and semicolons are allowed inside
+  quoted-strings; * empty forwarded-pairs (as in for=_1;;by=_2) are allowed; *
+  non-standard parameters are allowed (although this alone could be easily done
+  in the previous parser). (#2173)
+- Don't require ssl module to run. aiohttp does not require SSL to function.
+  The code paths involved with SSL will only be hit upon SSL usage. Raise
+  `RuntimeError` if HTTPS protocol is required but ssl module is not present.
+  (#2221)
+- Accept coroutine fixtures in pytest plugin (#2223)
+- Call `shutdown_asyncgens` before event loop closing on Python 3.6. (#2227)
+- Speed up Signals when there are no receivers (#2229)
+- Raise `InvalidURL` instead of `ValueError` on fetches with invalid URL.
+  (#2241)
+- Move `DummyCookieJar` into `cookiejar.py` (#2242)
+- `run_app`: Make `print=None` disable printing (#2260)
+- Support `brotli` encoding (generic-purpose lossless compression algorithm)
+  (#2270)
+- Add server support for WebSockets Per-Message Deflate. Add client option to
+  add deflate compress header in WebSockets request header. If calling
+  ClientSession.ws_connect() with `compress=15` the client will support deflate
+  compress negotiation. (#2273)
+- Support `verify_ssl`, `fingerprint`, `ssl_context` and `proxy_headers` by
+  `client.ws_connect`. (#2292)
+- Added `aiohttp.ClientConnectorSSLError` when connection fails due
+  `ssl.SSLError` (#2294)
+- `aiohttp.web.Application.make_handler` support `access_log_class` (#2315)
+- Build HTTP parser extension in non-strict mode by default. (#2332)
+
+
+Bugfixes
+--------
+
+- Clear auth information on redirecting to other domain (#1699)
+- Fix missing app.loop on startup hooks during tests (#2060)
+- Fix issue with synchronous session closing when using `ClientSession` as an
+  asynchronous context manager. (#2063)
+- Fix issue with `CookieJar` incorrectly expiring cookies in some edge cases.
+  (#2084)
+- Force use of IPv4 during test, this will make tests run in a Docker container
+  (#2104)
+- Warnings about unawaited coroutines now correctly point to the user's code.
+  (#2106)
+- Fix issue with `IndexError` being raised by the `StreamReader.iter_chunks()`
+  generator. (#2112)
+- Support HTTP 308 Permanent redirect in client class. (#2114)
+- Fix `FileResponse` sending empty chunked body on 304. (#2143)
+- Do not add `Content-Length: 0` to GET/HEAD/TRACE/OPTIONS requests by default.
+  (#2167)
+- Fix parsing the Forwarded header according to RFC 7239. (#2170)
+- Securely determining remote/scheme/host #2171 (#2171)
+- Fix header name parsing, if name is split into multiple lines (#2183)
+- Handle session close during connection, `KeyError:
+  <aiohttp.connector._TransportPlaceholder>` (#2193)
+- Fixes uncaught `TypeError` in `helpers.guess_filename` if `name` is not a
+  string (#2201)
+- Raise OSError on async DNS lookup if resolved domain is an alias for another
+  one, which does not have an A or CNAME record. (#2231)
+- Fix incorrect warning in `StreamReader`. (#2251)
+- Properly clone state of web request (#2284)
+- Fix C HTTP parser for cases when status line is split into different TCP
+  packets. (#2311)
+- Fix `web.FileResponse` overriding user supplied Content-Type (#2317)
+
+
+Improved Documentation
+----------------------
+
+- Add a note about possible performance degradation in `await resp.text()` if
+  charset was not provided by `Content-Type` HTTP header. Pass explicit
+  encoding to solve it. (#1811)
+- Drop `disqus` widget from documentation pages. (#2018)
+- Add a graceful shutdown section to the client usage documentation. (#2039)
+- Document `connector_owner` parameter. (#2072)
+- Update the doc of web.Application (#2081)
+- Fix mistake about access log disabling. (#2085)
+- Add example usage of on_startup and on_shutdown signals by creating and
+  disposing an aiopg connection engine. (#2131)
+- Document `encoded=True` for `yarl.URL`, it disables all yarl transformations.
+  (#2198)
+- Document that all app's middleware factories are run for every request.
+  (#2225)
+- Reflect the fact that default resolver is threaded one starting from aiohttp
+  1.1 (#2228)
+
+
+Deprecations and Removals
+-------------------------
+
+- Drop deprecated `Server.finish_connections` (#2006)
+- Drop %O format from logging, use %b instead. Drop %e format from logging,
+  environment variables are not supported anymore. (#2123)
+- Drop deprecated secure_proxy_ssl_header support (#2171)
+- Removed TimeService in favor of simple caching. TimeService also had a bug
+  where it lost about 0.5 seconds per second. (#2176)
+- Drop unused response_factory from static files API (#2290)
+
+
+Misc
+----
+
+- #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, #2248
+
+
+2.2.5 (2017-08-03)
+==================
+
+- Don't raise deprecation warning on
+  `loop.run_until_complete(client.close())` (#2065)
+
+2.2.4 (2017-08-02)
+==================
+
+- Fix issue with synchronous session closing when using ClientSession
+  as an asynchronous context manager.  (#2063)
 
 2.2.3 (2017-07-04)
 ==================
@@ -7,196 +236,199 @@ Changes
 - Fix `_CoroGuard` for python 3.4
 
 2.2.2 (2017-07-03)
-------------------
+==================
 
 - Allow `await session.close()` along with `yield from session.close()`
 
+
 2.2.1 (2017-07-02)
-------------------
+==================
 
 - Relax `yarl` requirement to 0.11+
 
 - Backport #2026: `session.close` *is* a coroutine (#2029)
 
+
 2.2.0 (2017-06-20)
-------------------
+==================
 
-- Add doc for add_head, update doc for add_get. #1944
+- Add doc for add_head, update doc for add_get. (#1944)
 
 - Fixed consecutive calls for `Response.write_eof`.
 
 - Retain method attributes (e.g. :code:`__doc__`) when registering synchronous
-  handlers for resources. #1953
+  handlers for resources. (#1953)
 
-- Added signal TERM handling in `run_app` to gracefully exit #1932
+- Added signal TERM handling in `run_app` to gracefully exit (#1932)
 
-- Fix websocket issues caused by frame fragmentation. #1962
+- Fix websocket issues caused by frame fragmentation. (#1962)
 
 - Raise RuntimeError is you try to set the Content Length and enable
-  chunked encoding at the same time #1941
+  chunked encoding at the same time (#1941)
 
 - Small update for `unittest_run_loop`
 
-- Use CIMultiDict for ClientRequest.skip_auto_headers #1970
+- Use CIMultiDict for ClientRequest.skip_auto_headers (#1970)
 
 - Fix wrong startup sequence: test server and `run_app()` are not raise
-  `DeprecationWarning` now #1947
+  `DeprecationWarning` now (#1947)
 
-- Make sure cleanup signal is sent if startup signal has been sent #1959
+- Make sure cleanup signal is sent if startup signal has been sent (#1959)
 
-- Fixed server keep-alive handler, could cause 100% cpu utilization #1955
+- Fixed server keep-alive handler, could cause 100% cpu utilization (#1955)
 
 - Connection can be destroyed before response get processed if
-  `await aiohttp.request(..)` is used #1981
+  `await aiohttp.request(..)` is used (#1981)
 
-- MultipartReader does not work with -OO #1969
+- MultipartReader does not work with -OO (#1969)
 
-- Fixed `ClientPayloadError` with blank `Content-Encoding` header #1931
+- Fixed `ClientPayloadError` with blank `Content-Encoding` header (#1931)
 
-- Support `deflate` encoding implemented in `httpbin.org/deflate` #1918
+- Support `deflate` encoding implemented in `httpbin.org/deflate` (#1918)
 
-- Fix BadStatusLine caused by extra `CRLF` after `POST` data #1792
+- Fix BadStatusLine caused by extra `CRLF` after `POST` data (#1792)
 
-- Keep a reference to `ClientSession` in response object #1985
+- Keep a reference to `ClientSession` in response object (#1985)
 
-- Deprecate undocumented `app.on_loop_available` signal #1978
+- Deprecate undocumented `app.on_loop_available` signal (#1978)
... 39349 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-aiohttp.git



More information about the Python-modules-commits mailing list