diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 4c0c0e40b83..9ed59a76858 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -34,7 +34,14 @@ jobs: uses: actions/checkout@v2.4.0 with: submodules: true - - name: Setup Python 3.8 + - name: >- + Verify that `requirements/runtime-deps.in` + is in sync with `setup.cfg` + run: | + set -eEuo pipefail + make sync-direct-runtime-deps + git diff --exit-code -- requirements/runtime-deps.in + - name: Setup Python uses: actions/setup-python@v4 with: python-version: 3.8 @@ -50,10 +57,10 @@ jobs: python -m pip install -U pip wheel setuptools build twine - name: Install dependencies run: | - python -m pip install -r requirements/lint.txt -c requirements/constraints.txt + python -m pip install -r requirements/lint.in -c requirements/lint.txt - name: Install self run: | - python -m pip install . + python -m pip install . -c requirements/runtime-deps.txt env: AIOHTTP_NO_EXTENSIONS: 1 - name: Run linters @@ -64,7 +71,7 @@ jobs: sudo apt install libenchant-2-dev - name: Install spell checker run: | - pip install -r requirements/doc-spelling.txt -c requirements/constraints.txt + pip install -r requirements/doc-spelling.in -c requirements/doc-spelling.txt - name: Run docs spelling run: | # towncrier --yes # uncomment me after publishing a release @@ -176,7 +183,7 @@ jobs: python -m pip install -U pip wheel setuptools build twine - name: Install dependencies run: | - python -m pip install -r requirements/test.txt -c requirements/constraints.txt + python -m pip install -r requirements/test.in -c requirements/test.txt - name: Cythonize if: ${{ matrix.no-extensions == '' }} run: | @@ -264,8 +271,9 @@ jobs: run: | python -m pip install -U pip wheel setuptools build twine - name: Install cython - run: | - python -m pip install -r requirements/cython.txt -c requirements/constraints.txt + run: >- + python -m + pip install -r requirements/cython.in -c requirements/cython.txt - name: Restore llhttp generated files uses: actions/download-artifact@v2 with: @@ -326,8 +334,9 @@ jobs: run: | python -m pip install -U pip wheel setuptools build twine - name: Install cython - run: | - python -m pip install -r requirements/cython.txt -c requirements/constraints.txt + run: >- + python -m + pip install -r requirements/cython.in -c requirements/cython.txt - name: Restore llhttp generated files uses: actions/download-artifact@v2 with: @@ -363,9 +372,6 @@ jobs: uses: actions/checkout@v2.4.0 with: submodules: true - - name: Update pip, wheel, setuptools, build, twine - run: | - python -m pip install -U pip wheel setuptools build twine - name: Login run: | echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token diff --git a/.github/workflows/post-dependabot.yml b/.github/workflows/post-dependabot.yml deleted file mode 100644 index bc3c4cefa1f..00000000000 --- a/.github/workflows/post-dependabot.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: Dependabot post-update -on: - pull_request_target: - action: [opened, synchronize, reopened] - branches: - - 'master' - - '[0-9].[0-9]+' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number }} - cancel-in-progress: true - -jobs: - post-update: - if: ${{ github.actor == 'dependabot[bot]' }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2.4.0 - - name: Generate Token - id: generate_token - uses: tibdex/github-app-token@v1 - with: - app_id: ${{ secrets.BOT_APP_ID }} - private_key: ${{ secrets.BOT_PRIVATE_KEY }} - - name: Login - run: | - echo "${{ steps.generate_token.outputs.token }}" | gh auth login --with-token - - name: Checkout - run: | - gh pr checkout ${{ github.event.pull_request.number }} - - name: Setup Python - uses: actions/setup-python@v2 - - name: Cache PyPI - uses: actions/cache@v2.1.7 - with: - key: post-update-${{ hashFiles('requirements/*.txt') }} - path: ~/.cache/pip - restore-keys: | - post-update- - - name: Update pip, wheel, setuptools - run: | - python -m pip install -U pip wheel setuptools - - name: Install dependencies - run: | - python -m pip install -r requirements/dev.txt -c requirements/constraints.txt - - name: Run pip-compile - run: | - make compile-deps - - name: Check if compiled deps are changed - id: meta - run: | - if [[ -n "$(git status --porcelain)" ]]; then - echo "::set-output name=changed::true" - else - echo "::set-output name=changed::false" - - name: Commit and push if needed - if: ${{ steps.meta.values.changed == 'true' }} - run: | - git add requirements/constraints.txt - git commit -m "Update constraints" - git push diff --git a/.pip-tools.toml b/.pip-tools.toml new file mode 100644 index 00000000000..82737a2d4f6 --- /dev/null +++ b/.pip-tools.toml @@ -0,0 +1,4 @@ +[pip-tools] +allow-unsafe = true +resolver = "backtracking" +strip-extras = true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9cc0e83b2c4..f3689615ad7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,7 @@ repos: ^docs/[^/]*\.svg$ - id: requirements-txt-fixer exclude: >- - ^requirements/constraints[.]txt$ + ^requirements/.*\.txt$ - id: trailing-whitespace - id: file-contents-sorter files: | diff --git a/.readthedocs.yml b/.readthedocs.yml index 90fe80896bc..5e8e3c1c45b 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -11,11 +11,15 @@ submodules: recursive: true build: - image: latest -python: - version: 3.8 - install: - - method: pip - path: . - - requirements: requirements/doc.txt + os: ubuntu-22.04 + tools: + python: "3.11" + + jobs: + post_create_environment: + - >- + pip install + . -c requirements/runtime-deps.txt + -r requirements/doc.in -c requirements/doc.txt + ... diff --git a/Makefile b/Makefile index 5769d2a1287..7632e5d2d51 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ endif @python -m pip install --upgrade pip .install-cython: .update-pip $(call to-hash,requirements/cython.txt) - @python -m pip install -r requirements/cython.txt -c requirements/constraints.txt + @python -m pip install -r requirements/cython.in -c requirements/cython.txt @touch .install-cython aiohttp/_find_header.c: $(call to-hash,aiohttp/hdrs.py ./tools/gen.py) @@ -74,7 +74,7 @@ generate-llhttp: .llhttp-gen cythonize: .install-cython $(PYXS:.pyx=.c) .install-deps: .install-cython $(PYXS:.pyx=.c) $(call to-hash,$(CYS) $(REQS)) - @python -m pip install -r requirements/dev.txt -c requirements/constraints.txt + @python -m pip install -r requirements/dev.in -c requirements/dev.txt @touch .install-deps .PHONY: lint @@ -89,7 +89,7 @@ mypy: mypy .develop: .install-deps generate-llhttp $(call to-hash,$(PYS) $(CYS) $(CS)) - python -m pip install -e . -c requirements/constraints.txt + python -m pip install -e . -c requirements/runtime-deps.txt @touch .develop .PHONY: test @@ -174,15 +174,17 @@ doc: doc-spelling: @make -C docs spelling SPHINXOPTS="-W --keep-going -n -E" -.PHONY: compile-deps -compile-deps: .update-pip $(REQS) - pip-compile --no-header --allow-unsafe -q --strip-extras \ - -o requirements/constraints.txt \ - requirements/constraints.in - .PHONY: install install: .update-pip - @python -m pip install -r requirements/dev.txt -c requirements/constraints.txt + @python -m pip install -r requirements/dev.in -c requirements/dev.txt .PHONY: install-dev install-dev: .develop + +.PHONY: sync-direct-runtime-deps +sync-direct-runtime-deps: + @echo Updating 'requirements/runtime-deps.in' from 'setup.cfg'... >&2 + @echo '# Extracted from `setup.cfg` via `make sync-direct-runtime-deps`' > requirements/runtime-deps.in + @echo >> requirements/runtime-deps.in + @python -c 'from configparser import ConfigParser; from itertools import chain; from pathlib import Path; cfg = ConfigParser(); cfg.read_string(Path("setup.cfg").read_text()); print("\n".join(line.strip() for line in chain(cfg["options"].get("install_requires").splitlines(), "\n".join(cfg["options.extras_require"].values()).splitlines()) if line.strip()))' \ + >> requirements/runtime-deps.in diff --git a/requirements/base.in b/requirements/base.in new file mode 100644 index 00000000000..df67f78afde --- /dev/null +++ b/requirements/base.in @@ -0,0 +1,5 @@ +-r typing-extensions.in +-r runtime-deps.in + +gunicorn +uvloop; platform_system != "Windows" and implementation_name == "cpython" # MagicStack/uvloop#14 diff --git a/requirements/base.txt b/requirements/base.txt index 6bd21a52e72..bafc7297f43 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,21 +1,46 @@ --r multidict.txt --r typing-extensions.txt -# required c-ares will not build on windows and has build problems on Macos Python<3.7 -aiodns==3.0.0; sys_platform=="linux" or sys_platform=="darwin" and python_version>="3.7" -aiosignal==1.2.0 -async-generator==1.10 -async-timeout==4.0.1 -asynctest==0.13.0; python_version<"3.8" -attrs==21.2.0 -Brotli==1.0.9 -cchardet==2.1.7; python_version < "3.10" # Unmaintained: aio-libs/aiohttp#6819 -charset-normalizer==2.0.12 -frozenlist==1.3.1; python_version >= "3.7" -frozenlist==1.2.0; python_version < "3.7" # The last release supporting Python 3.6 -gunicorn==20.1.0 -idna-ssl==1.1.0; python_version<"3.7" -typing==3.7.4.3; python_version<"3.7" -uvloop==0.14.0; platform_system!="Windows" and implementation_name=="cpython" and python_version<"3.9" # MagicStack/uvloop#14 -yarl==1.8.1; python_version >= "3.7" -yarl==1.7.2; python_version < "3.7" # The last release supporting Python 3.6 -zipp==3.4.1; python_version<"3.7" +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/base.txt --resolver=backtracking --strip-extras requirements/base.in +# +aiodns==3.0.0 ; sys_platform == "linux" or sys_platform == "darwin" + # via -r requirements/runtime-deps.in +aiosignal==1.3.1 + # via -r requirements/runtime-deps.in +async-timeout==4.0.2 + # via -r requirements/runtime-deps.in +attrs==23.1.0 + # via -r requirements/runtime-deps.in +brotli==1.0.9 + # via -r requirements/runtime-deps.in +cchardet==2.1.7 ; python_version < "3.10" + # via -r requirements/runtime-deps.in +cffi==1.15.1 + # via pycares +charset-normalizer==3.2.0 + # via -r requirements/runtime-deps.in +frozenlist==1.4.0 + # via + # -r requirements/runtime-deps.in + # aiosignal +gunicorn==21.2.0 + # via -r requirements/base.in +idna==3.4 + # via yarl +multidict==6.0.4 + # via + # -r requirements/runtime-deps.in + # yarl +packaging==23.1 + # via gunicorn +pycares==4.3.0 + # via aiodns +pycparser==2.21 + # via cffi +typing-extensions==4.7.1 + # via -r requirements/typing-extensions.in +uvloop==0.17.0 ; platform_system != "Windows" and implementation_name == "cpython" + # via -r requirements/base.in +yarl==1.9.2 + # via -r requirements/runtime-deps.in diff --git a/requirements/broken-projects.in b/requirements/broken-projects.in new file mode 100644 index 00000000000..ec8af0724ba --- /dev/null +++ b/requirements/broken-projects.in @@ -0,0 +1,2 @@ +Pillow < 10 # https://github.com/blockdiag/sphinxcontrib-blockdiag/issues/26 +pydantic < 2 # looks like `python-on-whales` hasn't upgraded to support v2 diff --git a/requirements/constraints.in b/requirements/constraints.in index 7b166e59fa5..0d5180ddffc 100644 --- a/requirements/constraints.in +++ b/requirements/constraints.in @@ -1,4 +1,4 @@ --r cython.txt --r dev.txt --r doc-spelling.txt --r lint.txt +-r cython.in +-r dev.in +-r doc-spelling.in +-r lint.in diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 21b22332a27..dc9cbb51061 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -1,220 +1,207 @@ -aiodns==3.0.0 ; sys_platform == "linux" or sys_platform == "darwin" and python_version >= "3.7" - # via -r requirements/base.txt +# +# This file is autogenerated by pip-compile with python 3.8 +# To update, run: +# +# pip-compile --allow-unsafe --output-file=requirements/constraints.txt --resolver=backtracking --strip-extras requirements/constraints.in +# +aiodns==3.0.0 ; sys_platform == "linux" or sys_platform == "darwin" + # via -r requirements/runtime-deps.in aiohttp-theme==0.1.6 - # via -r requirements/doc.txt -aiosignal==1.2.0 - # via -r requirements/base.txt -alabaster==0.7.12 + # via -r requirements/doc.in +aioredis==2.0.1 + # via -r requirements/lint.in +aiosignal==1.3.1 + # via -r requirements/runtime-deps.in +alabaster==0.7.13 # via sphinx -async-generator==1.10 - # via -r requirements/base.txt -async-timeout==4.0.1 - # via -r requirements/base.txt -attrs==21.2.0 +async-timeout==4.0.2 # via - # -r requirements/base.txt - # pytest -babel==2.9.1 + # -r requirements/runtime-deps.in + # aioredis +attrs==23.1.0 + # via -r requirements/runtime-deps.in +babel==2.12.1 # via sphinx -backports.entry-points-selectable==1.1.0 - # via virtualenv -blockdiag==2.0.1 +blockdiag==3.0.0 # via sphinxcontrib-blockdiag brotli==1.0.9 - # via - # -r requirements/base.txt - # -r requirements/test.txt + # via -r requirements/runtime-deps.in +build==0.10.0 + # via pip-tools cchardet==2.1.7 ; python_version < "3.10" - # via -r requirements/base.txt -certifi==2021.10.8 + # via -r requirements/runtime-deps.in +certifi==2023.7.22 # via requests -cffi==1.15.0 +cffi==1.15.1 # via # cryptography # pycares cfgv==3.3.1 # via pre-commit -charset-normalizer==2.0.12 +charset-normalizer==3.2.0 # via - # -r requirements/base.txt + # -r requirements/runtime-deps.in # requests -cherry_picker==2.1.0 ; python_version >= "3.6" - # via -r requirements/dev.txt -click==8.0.3 +cherry-picker==2.1.0 + # via -r requirements/dev.in +click==8.1.6 # via # cherry-picker # click-default-group # pip-tools + # slotscheck # towncrier # typer # wait-for-it click-default-group==1.2.2 # via towncrier -coverage==6.2; python_version < "3.7" - # via - # -r requirements/test.txt - # pytest-cov -coverage==6.4.2; python_version >= "3.7" +coverage==7.2.7 # via - # -r requirements/test.txt + # -r requirements/test.in # pytest-cov -cryptography==36.0.0 ; platform_machine != "i686" +cryptography==41.0.3 # via - # -r requirements/test.txt # pyjwt # trustme -cython==0.29.32 - # via -r requirements/cython.txt -distlib==0.3.3 +cython==3.0.0 + # via -r requirements/cython.in +distlib==0.3.7 # via virtualenv -docutils==0.17.1 +docutils==0.20.1 # via sphinx -filelock==3.3.2 +exceptiongroup==1.1.2 + # via pytest +filelock==3.12.2 # via virtualenv -freezegun==1.1.0 - # via -r requirements/test.txt -frozenlist==1.3.1; python_version >= "3.7" - # via - # -r requirements/base.txt - # aiosignal -frozenlist==1.2.0; python_version < "3.7" +freezegun==1.2.2 + # via -r requirements/test.in +frozenlist==1.4.0 # via - # -r requirements/base.txt + # -r requirements/runtime-deps.in # aiosignal -funcparserlib==1.0.0a0 - # via - # -r requirements/doc.txt - # blockdiag -gidgethub==5.0.1 +funcparserlib==1.0.1 + # via blockdiag +gidgethub==5.3.0 # via cherry-picker -gunicorn==20.1.0 - # via -r requirements/base.txt -identify==2.3.3 +gunicorn==21.2.0 + # via -r requirements/base.in +identify==2.5.26 # via pre-commit -idna==3.3 +idna==3.4 # via # requests # trustme # yarl -imagesize==1.2.0 - # via sphinx -importlib-metadata==4.12.0; python_version >= "3.7" +imagesize==1.4.1 # via sphinx -importlib-metadata==4.8.3; python_version < "3.7" +importlib-metadata==6.8.0 # via sphinx -incremental==21.3.0 +importlib-resources==6.0.0 + # via towncrier +incremental==22.10.0 # via towncrier -iniconfig==1.1.1 +iniconfig==2.0.0 # via pytest -jinja2==3.0.2 +jinja2==3.1.2 # via # sphinx # towncrier -markupsafe==2.0.1 +markupsafe==2.1.3 # via jinja2 -multidict==5.2.0 +multidict==6.0.4 # via - # -r requirements/multidict.txt + # -r requirements/multidict.in + # -r requirements/runtime-deps.in # yarl -mypy==0.910 ; implementation_name == "cpython" - # via - # -r requirements/lint.txt - # -r requirements/test.txt -mypy-extensions==0.4.3 ; implementation_name == "cpython" - # via - # -r requirements/test.txt - # mypy -nodeenv==1.6.0 +mypy==1.4.1 ; implementation_name == "cpython" + # via -r requirements/lint.in +mypy-extensions==1.0.0 + # via mypy +nodeenv==1.8.0 # via pre-commit -packaging==21.2 +packaging==23.1 # via + # build + # gunicorn # pytest # sphinx -pep517==0.12.0 - # via pip-tools -pillow==9.2.0; python_version >= "3.7" - # via blockdiag -pillow==8.4.0; python_version < "3.7" - # via blockdiag -pip-tools==6.4.0 - # via -r requirements/dev.txt -platformdirs==2.4.0 +pillow==9.5.0 + # via + # -c requirements/broken-projects.in + # blockdiag +pip-tools==6.10.0 + # via -r requirements/dev.in +platformdirs==3.10.0 # via virtualenv -pluggy==1.0.0 - # via pytest -pre-commit==2.16.0 - # via -r requirements/lint.txt -proxy-py==2.4.4rc3 - # via -r requirements/test.txt -py==1.11.0 +pluggy==1.2.0 # via pytest -pycares==4.1.2 +pre-commit==3.3.3 + # via -r requirements/lint.in +proxy-py==2.4.3 + # via -r requirements/test.in +pycares==4.3.0 # via aiodns -pycparser==2.20 +pycparser==2.21 # via cffi -pydantic==1.8.2 - # via python-on-whales +pydantic==1.10.12 + # via + # -c requirements/broken-projects.in + # python-on-whales pyenchant==3.2.2 # via sphinxcontrib-spelling -pygments==2.10.0 - # via - # -r requirements/doc.txt - # sphinx -pyjwt==2.3.0 +pygments==2.15.1 + # via sphinx +pyjwt==2.8.0 # via gidgethub -pyparsing==2.4.7 - # via packaging -pytest==6.2.5 +pyproject-hooks==1.0.0 + # via build +pytest==7.4.0 # via - # -r requirements/lint.txt - # -r requirements/test.txt + # -r requirements/lint.in # pytest-cov # pytest-mock -pytest-cov==3.0.0 - # via -r requirements/test.txt -pytest-mock==3.6.1 - # via -r requirements/test.txt +pytest-cov==4.1.0 + # via -r requirements/test.in +pytest-mock==3.11.1 + # via -r requirements/test.in python-dateutil==2.8.2 # via freezegun -python-on-whales==0.32.0 ; python_version >= "3.7" - # via -r requirements/test.txt -pytz==2021.3 +python-on-whales==0.64.0 + # via -r requirements/test.in +pytz==2023.3 # via babel -pyyaml==6.0 +pyyaml==6.0.1 # via pre-commit re-assert==1.1.0 - # via -r requirements/test.txt -regex==2021.11.2 + # via -r requirements/test.in +regex==2023.6.3 # via re-assert -requests==2.26.0 +requests==2.31.0 # via # cherry-picker # python-on-whales # sphinx setuptools-git==1.2 - # via -r requirements/test.txt + # via -r requirements/test.in six==1.16.0 - # via - # python-dateutil - # virtualenv -snowballstemmer==2.1.0 + # via python-dateutil +slotscheck==0.17.0 + # via -r requirements/lint.in +snowballstemmer==2.2.0 # via sphinx -sphinx==5.1.1 +sphinx==7.1.2 # via - # -r requirements/doc.txt - # sphinxcontrib-asyncio + # -r requirements/doc.in # sphinxcontrib-blockdiag # sphinxcontrib-spelling # sphinxcontrib-towncrier -sphinxcontrib-applehelp==1.0.2 +sphinxcontrib-applehelp==1.0.4 # via sphinx -sphinxcontrib-asyncio==0.3.0 - # via -r requirements/doc.txt -sphinxcontrib-blockdiag==2.0.0 - # via -r requirements/doc.txt +sphinxcontrib-blockdiag==3.0.0 + # via -r requirements/doc.in sphinxcontrib-devhelp==1.0.2 # via sphinx -sphinxcontrib-htmlhelp==2.0.0 +sphinxcontrib-htmlhelp==2.0.1 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx @@ -222,57 +209,59 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sphinxcontrib-spelling==7.3.0 ; platform_system != "Windows" - # via -r requirements/doc-spelling.txt -sphinxcontrib-towncrier==0.3.0a0 - # via -r requirements/doc.txt +sphinxcontrib-spelling==8.0.0 ; platform_system != "Windows" + # via -r requirements/doc-spelling.in +sphinxcontrib-towncrier==0.3.2a0 + # via -r requirements/doc.in toml==0.10.2 + # via cherry-picker +tomli==2.0.1 # via - # cherry-picker - # mypy - # pre-commit -tomli==1.2.2 - # via + # build # coverage - # pep517 -towncrier==21.3.0 + # mypy + # pyproject-hooks + # pytest + # slotscheck + # towncrier +towncrier==23.6.0 # via - # -r requirements/doc.txt + # -r requirements/doc.in # sphinxcontrib-towncrier -tqdm==4.62.3 +tqdm==4.65.0 # via python-on-whales -trustme==0.9.0 ; platform_machine != "i686" - # via -r requirements/test.txt -typer==0.4.0 +trustme==1.1.0 ; platform_machine != "i686" + # via -r requirements/test.in +typer==0.9.0 # via python-on-whales -typing-extensions==4.1.1 +typing-extensions==4.7.1 # via - # -r requirements/typing-extensions.txt - # async-timeout + # -r requirements/typing-extensions.in + # aioredis # mypy # pydantic + # python-on-whales + # typer uritemplate==4.1.1 # via gidgethub -urllib3==1.26.7 +urllib3==2.0.4 # via requests -uvloop==0.14.0 ; platform_system != "Windows" and implementation_name == "cpython" and python_version < "3.9" - # via -r requirements/base.txt -virtualenv==20.10.0 +uvloop==0.17.0 ; platform_system != "Windows" + # via -r requirements/lint.in +virtualenv==20.24.2 # via pre-commit -wait-for-it==2.2.1 ; python_version >= "3.7" - # via -r requirements/test.txt -webcolors==1.11.1 +wait-for-it==2.2.2 + # via -r requirements/test.in +webcolors==1.13 # via blockdiag -wheel==0.37.0 +wheel==0.41.0 # via pip-tools -yarl==1.8.1; python_version >= "3.7" - # via -r requirements/base.txt -yarl==1.7.2; python_version < "3.7" - # via -r requirements/base.txt -zipp==3.8.1; python_version >= "3.7" - # via importlib-metadata -zipp==3.4.1; python_version < "3.7" - # via importlib-metadata +yarl==1.9.2 + # via -r requirements/runtime-deps.in +zipp==3.16.2 + # via + # importlib-metadata + # importlib-resources # The following packages are considered to be unsafe in a requirements file: pip==21.3.1 @@ -280,6 +269,5 @@ pip==21.3.1 setuptools==58.4.0 # via # blockdiag - # gunicorn + # nodeenv # pip-tools - # towncrier diff --git a/requirements/cython.in b/requirements/cython.in new file mode 100644 index 00000000000..ee07533e17c --- /dev/null +++ b/requirements/cython.in @@ -0,0 +1,4 @@ +-r multidict.in +-r typing-extensions.in # required for parsing aiohttp/hdrs.py by tools/gen.py + +Cython diff --git a/requirements/cython.txt b/requirements/cython.txt index 4a10d5fd4f7..66e5c632bbd 100644 --- a/requirements/cython.txt +++ b/requirements/cython.txt @@ -1,3 +1,12 @@ --r multidict.txt --r typing-extensions.txt # required for parsing aiohttp/hdrs.py by tools/gen.py -cython==0.29.32 +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/cython.txt --resolver=backtracking --strip-extras requirements/cython.in +# +cython==3.0.0 + # via -r requirements/cython.in +multidict==6.0.4 + # via -r requirements/multidict.in +typing-extensions==4.7.1 + # via -r requirements/typing-extensions.in diff --git a/requirements/dev.in b/requirements/dev.in new file mode 100644 index 00000000000..780eae45f5e --- /dev/null +++ b/requirements/dev.in @@ -0,0 +1,6 @@ +-r lint.in +-r test.in +-r doc.in + +cherry_picker +pip-tools diff --git a/requirements/dev.txt b/requirements/dev.txt index 80f20e04e65..47e45ba6391 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,271 @@ --r lint.txt --r test.txt --r doc.txt -cherry_picker==2.1.0; python_version>="3.6" -pip-tools==6.4.0 +# +# This file is autogenerated by pip-compile with python 3.8 +# To update, run: +# +# pip-compile --allow-unsafe --output-file=requirements/dev.txt --resolver=backtracking --strip-extras requirements/dev.in +# +aiodns==3.0.0 ; sys_platform == "linux" or sys_platform == "darwin" + # via -r requirements/runtime-deps.in +aiohttp-theme==0.1.6 + # via -r requirements/doc.in +aioredis==2.0.1 + # via -r requirements/lint.in +aiosignal==1.3.1 + # via -r requirements/runtime-deps.in +alabaster==0.7.13 + # via sphinx +async-timeout==4.0.2 + # via + # -r requirements/runtime-deps.in + # aioredis +attrs==23.1.0 + # via -r requirements/runtime-deps.in +babel==2.12.1 + # via sphinx +blockdiag==3.0.0 + # via sphinxcontrib-blockdiag +brotli==1.0.9 + # via -r requirements/runtime-deps.in +build==0.10.0 + # via pip-tools +cchardet==2.1.7 ; python_version < "3.10" + # via -r requirements/runtime-deps.in +certifi==2023.7.22 + # via requests +cffi==1.15.1 + # via + # cryptography + # pycares +cfgv==3.3.1 + # via pre-commit +charset-normalizer==3.2.0 + # via + # -r requirements/runtime-deps.in + # requests +cherry-picker==2.1.0 + # via -r requirements/dev.in +click==8.1.6 + # via + # cherry-picker + # click-default-group + # pip-tools + # slotscheck + # towncrier + # typer + # wait-for-it +click-default-group==1.2.2 + # via towncrier +coverage==7.2.7 + # via + # -r requirements/test.in + # pytest-cov +cryptography==41.0.3 + # via + # pyjwt + # trustme +distlib==0.3.7 + # via virtualenv +docutils==0.20.1 + # via sphinx +exceptiongroup==1.1.2 + # via pytest +filelock==3.12.2 + # via virtualenv +freezegun==1.2.2 + # via -r requirements/test.in +frozenlist==1.4.0 + # via + # -r requirements/runtime-deps.in + # aiosignal +funcparserlib==1.0.1 + # via blockdiag +gidgethub==5.3.0 + # via cherry-picker +gunicorn==21.2.0 + # via -r requirements/base.in +identify==2.5.26 + # via pre-commit +idna==3.4 + # via + # requests + # trustme + # yarl +imagesize==1.4.1 + # via sphinx +importlib-metadata==6.8.0 + # via sphinx +importlib-resources==6.0.0 + # via towncrier +incremental==22.10.0 + # via towncrier +iniconfig==2.0.0 + # via pytest +jinja2==3.1.2 + # via + # sphinx + # towncrier +markupsafe==2.1.3 + # via jinja2 +multidict==6.0.4 + # via + # -r requirements/runtime-deps.in + # yarl +mypy==1.4.1 ; implementation_name == "cpython" + # via + # -r requirements/lint.in + # -r requirements/test.in +mypy-extensions==1.0.0 + # via mypy +nodeenv==1.8.0 + # via pre-commit +packaging==23.1 + # via + # build + # gunicorn + # pytest + # sphinx +pillow==9.5.0 + # via + # -c requirements/broken-projects.in + # blockdiag +pip-tools==7.1.0 + # via -r requirements/dev.in +platformdirs==3.10.0 + # via virtualenv +pluggy==1.2.0 + # via pytest +pre-commit==3.3.3 + # via -r requirements/lint.in +proxy-py==2.4.3 + # via -r requirements/test.in +pycares==4.3.0 + # via aiodns +pycparser==2.21 + # via cffi +pydantic==1.10.12 + # via + # -c requirements/broken-projects.in + # python-on-whales +pygments==2.15.1 + # via sphinx +pyjwt==2.8.0 + # via gidgethub +pyproject-hooks==1.0.0 + # via build +pytest==7.4.0 + # via + # -r requirements/lint.in + # -r requirements/test.in + # pytest-cov + # pytest-mock +pytest-cov==4.1.0 + # via -r requirements/test.in +pytest-mock==3.11.1 + # via -r requirements/test.in +python-dateutil==2.8.2 + # via freezegun +python-on-whales==0.64.0 + # via -r requirements/test.in +pytz==2023.3 + # via babel +pyyaml==6.0.1 + # via pre-commit +re-assert==1.1.0 + # via -r requirements/test.in +regex==2023.6.3 + # via re-assert +requests==2.31.0 + # via + # cherry-picker + # python-on-whales + # sphinx +setuptools-git==1.2 + # via -r requirements/test.in +six==1.16.0 + # via python-dateutil +slotscheck==0.17.0 + # via -r requirements/lint.in +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.1.2 + # via + # -r requirements/doc.in + # sphinxcontrib-blockdiag + # sphinxcontrib-towncrier +sphinxcontrib-applehelp==1.0.4 + # via sphinx +sphinxcontrib-blockdiag==3.0.0 + # via -r requirements/doc.in +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.1 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +sphinxcontrib-towncrier==0.3.2a0 + # via -r requirements/doc.in +toml==0.10.2 + # via cherry-picker +tomli==2.0.1 + # via + # build + # coverage + # mypy + # pip-tools + # pyproject-hooks + # pytest + # slotscheck + # towncrier +towncrier==23.6.0 + # via + # -r requirements/doc.in + # sphinxcontrib-towncrier +tqdm==4.65.0 + # via python-on-whales +trustme==1.1.0 ; platform_machine != "i686" + # via -r requirements/test.in +typer==0.9.0 + # via python-on-whales +typing-extensions==4.7.1 + # via + # -r requirements/typing-extensions.in + # aioredis + # mypy + # pydantic + # python-on-whales + # typer +uritemplate==4.1.1 + # via gidgethub +urllib3==2.0.4 + # via requests +uvloop==0.17.0 ; platform_system != "Windows" and implementation_name == "cpython" + # via + # -r requirements/base.in + # -r requirements/lint.in +virtualenv==20.24.2 + # via pre-commit +wait-for-it==2.2.2 + # via -r requirements/test.in +webcolors==1.13 + # via blockdiag +wheel==0.41.0 + # via pip-tools +yarl==1.9.2 + # via -r requirements/runtime-deps.in +zipp==3.16.2 + # via + # importlib-metadata + # importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +pip==23.2.1 + # via pip-tools +setuptools==68.0.0 + # via + # blockdiag + # nodeenv + # pip-tools diff --git a/requirements/doc-spelling.in b/requirements/doc-spelling.in new file mode 100644 index 00000000000..2468c2b5637 --- /dev/null +++ b/requirements/doc-spelling.in @@ -0,0 +1,3 @@ +-r doc.in + +sphinxcontrib-spelling; platform_system!="Windows" # We only use it in GitHub Actions CI/CD diff --git a/requirements/doc-spelling.txt b/requirements/doc-spelling.txt index e0d0e813ee5..f286326eb8c 100644 --- a/requirements/doc-spelling.txt +++ b/requirements/doc-spelling.txt @@ -1,2 +1,102 @@ --r doc.txt -sphinxcontrib-spelling==7.3.0; platform_system!="Windows" # We only use it in Travis CI +# +# This file is autogenerated by pip-compile with python 3.8 +# To update, run: +# +# pip-compile --allow-unsafe --output-file=requirements/doc-spelling.txt --resolver=backtracking --strip-extras requirements/doc-spelling.in +# +aiohttp-theme==0.1.6 + # via -r requirements/doc.in +alabaster==0.7.13 + # via sphinx +babel==2.12.1 + # via sphinx +blockdiag==3.0.0 + # via sphinxcontrib-blockdiag +certifi==2023.7.22 + # via requests +charset-normalizer==3.2.0 + # via requests +click==8.1.6 + # via + # click-default-group + # towncrier +click-default-group==1.2.2 + # via towncrier +docutils==0.20.1 + # via sphinx +funcparserlib==1.0.1 + # via blockdiag +idna==3.4 + # via requests +imagesize==1.4.1 + # via sphinx +importlib-metadata==6.8.0 + # via sphinx +importlib-resources==6.0.0 + # via towncrier +incremental==22.10.0 + # via towncrier +jinja2==3.1.2 + # via + # sphinx + # towncrier +markupsafe==2.1.3 + # via jinja2 +packaging==23.1 + # via sphinx +pillow==9.5.0 + # via + # -c requirements/broken-projects.in + # blockdiag +pyenchant==3.2.2 + # via sphinxcontrib-spelling +pygments==2.15.1 + # via sphinx +pytz==2023.3 + # via babel +requests==2.31.0 + # via sphinx +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.1.2 + # via + # -r requirements/doc.in + # sphinxcontrib-blockdiag + # sphinxcontrib-spelling + # sphinxcontrib-towncrier +sphinxcontrib-applehelp==1.0.4 + # via sphinx +sphinxcontrib-blockdiag==3.0.0 + # via -r requirements/doc.in +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.1 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +sphinxcontrib-spelling==8.0.0 ; platform_system != "Windows" + # via -r requirements/doc-spelling.in +sphinxcontrib-towncrier==0.3.2a0 + # via -r requirements/doc.in +tomli==2.0.1 + # via towncrier +towncrier==23.6.0 + # via + # -r requirements/doc.in + # sphinxcontrib-towncrier +urllib3==2.0.4 + # via requests +webcolors==1.13 + # via blockdiag +zipp==3.16.2 + # via + # importlib-metadata + # importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +setuptools==68.0.0 + # via blockdiag diff --git a/requirements/doc.in b/requirements/doc.in new file mode 100644 index 00000000000..1e0b6568724 --- /dev/null +++ b/requirements/doc.in @@ -0,0 +1,7 @@ +-c broken-projects.in + +aiohttp-theme +sphinx +sphinxcontrib-blockdiag +sphinxcontrib-towncrier +towncrier diff --git a/requirements/doc.txt b/requirements/doc.txt index a34fe14a10d..e463a69bf4d 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -1,9 +1,97 @@ +# +# This file is autogenerated by pip-compile with python 3.8 +# To update, run: +# +# pip-compile --allow-unsafe --output-file=requirements/doc.txt --resolver=backtracking --strip-extras requirements/doc.in +# aiohttp-theme==0.1.6 -# Temp fix till updated: https://github.com/blockdiag/blockdiag/pull/148 -funcparserlib==1.0.0a0 -pygments==2.10.0 -sphinx==5.1.1 -sphinxcontrib-asyncio==0.3.0 -sphinxcontrib-blockdiag==2.0.0 -sphinxcontrib-towncrier==0.3.0a0 -towncrier==21.3.0 + # via -r requirements/doc.in +alabaster==0.7.13 + # via sphinx +babel==2.12.1 + # via sphinx +blockdiag==3.0.0 + # via sphinxcontrib-blockdiag +certifi==2023.7.22 + # via requests +charset-normalizer==3.2.0 + # via requests +click==8.1.6 + # via + # click-default-group + # towncrier +click-default-group==1.2.2 + # via towncrier +docutils==0.20.1 + # via sphinx +funcparserlib==1.0.1 + # via blockdiag +idna==3.4 + # via requests +imagesize==1.4.1 + # via sphinx +importlib-metadata==6.8.0 + # via sphinx +importlib-resources==6.0.0 + # via towncrier +incremental==22.10.0 + # via towncrier +jinja2==3.1.2 + # via + # sphinx + # towncrier +markupsafe==2.1.3 + # via jinja2 +packaging==23.1 + # via sphinx +pillow==9.5.0 + # via + # -c requirements/broken-projects.in + # blockdiag +pygments==2.15.1 + # via sphinx +pytz==2023.3 + # via babel +requests==2.31.0 + # via sphinx +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.1.2 + # via + # -r requirements/doc.in + # sphinxcontrib-blockdiag + # sphinxcontrib-towncrier +sphinxcontrib-applehelp==1.0.4 + # via sphinx +sphinxcontrib-blockdiag==3.0.0 + # via -r requirements/doc.in +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.1 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +sphinxcontrib-towncrier==0.3.2a0 + # via -r requirements/doc.in +tomli==2.0.1 + # via towncrier +towncrier==23.6.0 + # via + # -r requirements/doc.in + # sphinxcontrib-towncrier +urllib3==2.0.4 + # via requests +webcolors==1.13 + # via blockdiag +zipp==3.16.2 + # via + # importlib-metadata + # importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +setuptools==68.0.0 + # via blockdiag diff --git a/requirements/lint.in b/requirements/lint.in new file mode 100644 index 00000000000..34616155912 --- /dev/null +++ b/requirements/lint.in @@ -0,0 +1,8 @@ +-r typing-extensions.in + +aioredis +mypy; implementation_name == "cpython" +pre-commit +pytest +slotscheck +uvloop; platform_system != "Windows" diff --git a/requirements/lint.txt b/requirements/lint.txt index 541b373c7d2..c86216ee1a7 100644 --- a/requirements/lint.txt +++ b/requirements/lint.txt @@ -1,4 +1,62 @@ --r typing-extensions.txt -mypy==0.910; implementation_name=="cpython" -pre-commit==2.16.0 -pytest==6.2.5 +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/lint.txt --resolver=backtracking --strip-extras requirements/lint.in +# +aioredis==2.0.1 + # via -r requirements/lint.in +async-timeout==4.0.2 + # via aioredis +cfgv==3.3.1 + # via pre-commit +click==8.1.6 + # via slotscheck +distlib==0.3.7 + # via virtualenv +exceptiongroup==1.1.2 + # via pytest +filelock==3.12.2 + # via virtualenv +identify==2.5.26 + # via pre-commit +iniconfig==2.0.0 + # via pytest +mypy==1.4.1 ; implementation_name == "cpython" + # via -r requirements/lint.in +mypy-extensions==1.0.0 + # via mypy +nodeenv==1.8.0 + # via pre-commit +packaging==23.1 + # via pytest +platformdirs==3.10.0 + # via virtualenv +pluggy==1.2.0 + # via pytest +pre-commit==3.3.3 + # via -r requirements/lint.in +pytest==7.4.0 + # via -r requirements/lint.in +pyyaml==6.0.1 + # via pre-commit +slotscheck==0.17.0 + # via -r requirements/lint.in +tomli==2.0.1 + # via + # mypy + # pytest + # slotscheck +typing-extensions==4.7.1 + # via + # -r requirements/typing-extensions.in + # aioredis + # mypy +uvloop==0.17.0 ; platform_system != "Windows" + # via -r requirements/lint.in +virtualenv==20.24.2 + # via pre-commit + +# The following packages are considered to be unsafe in a requirements file: +setuptools==68.0.0 + # via nodeenv diff --git a/requirements/multidict.in b/requirements/multidict.in new file mode 100644 index 00000000000..afcecdff082 --- /dev/null +++ b/requirements/multidict.in @@ -0,0 +1 @@ +multidict diff --git a/requirements/multidict.txt b/requirements/multidict.txt index d3e1b42f470..3a065d2fb63 100644 --- a/requirements/multidict.txt +++ b/requirements/multidict.txt @@ -1 +1,8 @@ +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/multidict.txt --resolver=backtracking --strip-extras requirements/multidict.in +# multidict==5.2.0 + # via -r requirements/multidict.in diff --git a/requirements/runtime-deps.in b/requirements/runtime-deps.in new file mode 100644 index 00000000000..0567de8399d --- /dev/null +++ b/requirements/runtime-deps.in @@ -0,0 +1,15 @@ +# Extracted from `setup.cfg` via `make sync-direct-runtime-deps` + +attrs >= 17.3.0 +charset-normalizer >=2.0, < 4.0 +multidict >=4.5, < 7.0 +async-timeout >= 4.0, < 5.0 +asynctest == 0.13.0; python_version<"3.8" +yarl >= 1.0, < 2.0 +idna-ssl >= 1.0; python_version<"3.7" +typing_extensions >= 3.7.4; python_version<"3.8" +frozenlist >= 1.1.1 +aiosignal >= 1.1.2 +aiodns; sys_platform=="linux" or sys_platform=="darwin" +Brotli +cchardet; python_version < "3.10" diff --git a/requirements/runtime-deps.txt b/requirements/runtime-deps.txt new file mode 100644 index 00000000000..9feec9950d4 --- /dev/null +++ b/requirements/runtime-deps.txt @@ -0,0 +1,38 @@ +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/runtime-deps.txt --resolver=backtracking --strip-extras requirements/runtime-deps.in +# +aiodns==3.0.0 ; sys_platform == "linux" or sys_platform == "darwin" + # via -r requirements/runtime-deps.in +aiosignal==1.3.1 + # via -r requirements/runtime-deps.in +async-timeout==4.0.2 + # via -r requirements/runtime-deps.in +attrs==23.1.0 + # via -r requirements/runtime-deps.in +brotli==1.0.9 + # via -r requirements/runtime-deps.in +cchardet==2.1.7 ; python_version < "3.10" + # via -r requirements/runtime-deps.in +cffi==1.15.1 + # via pycares +charset-normalizer==3.2.0 + # via -r requirements/runtime-deps.in +frozenlist==1.4.0 + # via + # -r requirements/runtime-deps.in + # aiosignal +idna==3.4 + # via yarl +multidict==6.0.4 + # via + # -r requirements/runtime-deps.in + # yarl +pycares==4.3.0 + # via aiodns +pycparser==2.21 + # via cffi +yarl==1.9.2 + # via -r requirements/runtime-deps.in diff --git a/requirements/test.in b/requirements/test.in new file mode 100644 index 00000000000..9e9161272bf --- /dev/null +++ b/requirements/test.in @@ -0,0 +1,15 @@ +-r base.in +-c broken-projects.in + +coverage +freezegun +mypy; implementation_name == "cpython" +proxy.py +pytest +pytest-cov +pytest-mock +python-on-whales +re-assert +setuptools-git +trustme; platform_machine != "i686" # no 32-bit wheels +wait-for-it diff --git a/requirements/test.txt b/requirements/test.txt index 7d2323af949..3df864c5848 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,17 +1,128 @@ --r base.txt -Brotli==1.0.9 -coverage==6.2; python_version < "3.7" -coverage==6.4.2; python_version >= "3.7" -cryptography==36.0.0; platform_machine!="i686" # no 32-bit wheels; no python 3.9 wheels yet -freezegun==1.1.0 -mypy==0.910; implementation_name=="cpython" -mypy-extensions==0.4.3; implementation_name=="cpython" -proxy.py ~= 2.4.4rc3 -pytest==6.2.5 -pytest-cov==3.0.0 -pytest-mock==3.6.1 -python-on-whales==0.32.0; python_version>="3.7" +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/test.txt --resolver=backtracking --strip-extras requirements/test.in +# +aiodns==3.0.0 ; sys_platform == "linux" or sys_platform == "darwin" + # via -r requirements/runtime-deps.in +aiosignal==1.3.1 + # via -r requirements/runtime-deps.in +async-timeout==4.0.2 + # via -r requirements/runtime-deps.in +attrs==23.1.0 + # via -r requirements/runtime-deps.in +brotli==1.0.9 + # via -r requirements/runtime-deps.in +cchardet==2.1.7 ; python_version < "3.10" + # via -r requirements/runtime-deps.in +certifi==2023.7.22 + # via requests +cffi==1.15.1 + # via + # cryptography + # pycares +charset-normalizer==3.2.0 + # via + # -r requirements/runtime-deps.in + # requests +click==8.1.6 + # via + # typer + # wait-for-it +coverage==7.2.7 + # via + # -r requirements/test.in + # pytest-cov +cryptography==41.0.3 + # via trustme +exceptiongroup==1.1.2 + # via pytest +freezegun==1.2.2 + # via -r requirements/test.in +frozenlist==1.4.0 + # via + # -r requirements/runtime-deps.in + # aiosignal +gunicorn==21.2.0 + # via -r requirements/base.in +idna==3.4 + # via + # requests + # trustme + # yarl +iniconfig==2.0.0 + # via pytest +multidict==6.0.4 + # via + # -r requirements/runtime-deps.in + # yarl +mypy==1.4.1 ; implementation_name == "cpython" + # via -r requirements/test.in +mypy-extensions==1.0.0 + # via mypy +packaging==23.1 + # via + # gunicorn + # pytest +pluggy==1.2.0 + # via pytest +proxy-py==2.4.3 + # via -r requirements/test.in +pycares==4.3.0 + # via aiodns +pycparser==2.21 + # via cffi +pydantic==1.10.12 + # via + # -c requirements/broken-projects.in + # python-on-whales +pytest==7.4.0 + # via + # -r requirements/test.in + # pytest-cov + # pytest-mock +pytest-cov==4.1.0 + # via -r requirements/test.in +pytest-mock==3.11.1 + # via -r requirements/test.in +python-dateutil==2.8.2 + # via freezegun +python-on-whales==0.64.0 + # via -r requirements/test.in re-assert==1.1.0 + # via -r requirements/test.in +regex==2023.6.3 + # via re-assert +requests==2.31.0 + # via python-on-whales setuptools-git==1.2 -trustme==0.9.0; platform_machine!="i686" # no 32-bit wheels -wait-for-it==2.2.1; python_version>="3.7" + # via -r requirements/test.in +six==1.16.0 + # via python-dateutil +tomli==2.0.1 + # via + # coverage + # mypy + # pytest +tqdm==4.65.0 + # via python-on-whales +trustme==1.1.0 ; platform_machine != "i686" + # via -r requirements/test.in +typer==0.9.0 + # via python-on-whales +typing-extensions==4.7.1 + # via + # -r requirements/typing-extensions.in + # mypy + # pydantic + # python-on-whales + # typer +urllib3==2.0.4 + # via requests +uvloop==0.17.0 ; platform_system != "Windows" and implementation_name == "cpython" + # via -r requirements/base.in +wait-for-it==2.2.2 + # via -r requirements/test.in +yarl==1.9.2 + # via -r requirements/runtime-deps.in diff --git a/requirements/typing-extensions.in b/requirements/typing-extensions.in new file mode 100644 index 00000000000..5fd4f05f341 --- /dev/null +++ b/requirements/typing-extensions.in @@ -0,0 +1 @@ +typing_extensions diff --git a/requirements/typing-extensions.txt b/requirements/typing-extensions.txt index 37e36b213d3..c45af7262f7 100644 --- a/requirements/typing-extensions.txt +++ b/requirements/typing-extensions.txt @@ -1 +1,8 @@ -typing_extensions==4.1.1 +# +# This file is autogenerated by pip-compile with python 3.8 +# by the following command: +# +# pip-compile --allow-unsafe --output-file=requirements/typing-extensions.txt --resolver=backtracking --strip-extras requirements/typing-extensions.in +# +typing-extensions==4.7.1 + # via -r requirements/typing-extensions.in diff --git a/setup.cfg b/setup.cfg index 47ffbc5d209..d0646202dc0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -52,7 +52,7 @@ install_requires = attrs >= 17.3.0 charset-normalizer >=2.0, < 4.0 multidict >=4.5, < 7.0 - async_timeout >= 4.0.0a3, < 5.0 + async-timeout >= 4.0, < 5.0 asynctest == 0.13.0; python_version<"3.8" yarl >= 1.0, < 2.0 idna-ssl >= 1.0; python_version<"3.7" @@ -67,8 +67,10 @@ install_requires = [options.extras_require] speedups = - aiodns + # required c-ares (aiodns' backend) will not build on windows + aiodns; sys_platform=="linux" or sys_platform=="darwin" Brotli + # cchardet is unmaintained: aio-libs/aiohttp#6819 cchardet; python_version < "3.10" [options.packages.find] @@ -92,6 +94,14 @@ zip_ok = false # TODO: don't disable D*, fix up issues instead ignore = N801,N802,N803,E203,E226,E305,W504,E252,E301,E302,E704,W503,W504,F811,D1,D4 max-line-length = 88 +per-file-ignores = + # I900: Shouldn't appear in requirements for examples. + examples/*:I900 + +# flake8-requirements +known-modules = proxy.py:[proxy] +requirements-file = requirements/test.in +requirements-max-depth = 4 [isort] line_length=88