From ab8944d3ca0cf9e4f8cde5fc5427c25e7419b5df Mon Sep 17 00:00:00 2001 From: Jair Henrique Date: Fri, 7 Jul 2023 10:32:05 -0300 Subject: [PATCH] Drop python 3.8 support --- .github/workflows/main.yml | 6 ------ docs/installation.rst | 2 +- pyproject.toml | 2 +- setup.py | 4 ++-- vcr/matchers.py | 5 ++--- vcr/stubs/aiohttp_stubs.py | 3 ++- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a53ed54d4..831c8c77c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,13 +16,11 @@ jobs: fail-fast: false matrix: python-version: - - "3.8" - "3.9" - "3.10" - "3.11" - "3.12" - "3.13" - - "pypy-3.8" - "pypy-3.9" - "pypy-3.10" urllib3-requirement: @@ -30,10 +28,6 @@ jobs: - "urllib3<2" exclude: - - python-version: "3.8" - urllib3-requirement: "urllib3>=2" - - python-version: "pypy-3.8" - urllib3-requirement: "urllib3>=2" - python-version: "3.9" urllib3-requirement: "urllib3>=2" - python-version: "pypy-3.9" diff --git a/docs/installation.rst b/docs/installation.rst index 21def634f..a6025e1a8 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -9,7 +9,7 @@ with pip:: Compatibility ------------- -VCR.py supports Python 3.8+, and `pypy `__. +VCR.py supports Python 3.9+, and `pypy `__. The following HTTP libraries are supported: diff --git a/pyproject.toml b/pyproject.toml index 749534568..3fad69800 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ select = [ "W", # pycodestyle warning ] line-length = 110 -target-version = "py38" +target-version = "py39" [tool.ruff.isort] known-first-party = ["vcr"] diff --git a/setup.py b/setup.py index 5b7a4c017..f3f06c11b 100644 --- a/setup.py +++ b/setup.py @@ -78,7 +78,7 @@ def find_version(*file_paths): author_email="me@kevinmccarthy.org", url="https://github.com/kevin1024/vcrpy", packages=find_packages(exclude=["tests*"]), - python_requires=">=3.8", + python_requires=">=3.9", install_requires=install_requires, license="MIT", extras_require=extras_require, @@ -89,11 +89,11 @@ def find_version(*file_paths): "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", diff --git a/vcr/matchers.py b/vcr/matchers.py index 0949fd950..cbdeabe10 100644 --- a/vcr/matchers.py +++ b/vcr/matchers.py @@ -3,11 +3,10 @@ import urllib import xmlrpc.client from string import hexdigits -from typing import List, Set from .util import read_body -_HEXDIG_CODE_POINTS: Set[int] = {ord(s.encode("ascii")) for s in hexdigits} +_HEXDIG_CODE_POINTS: set[int] = {ord(s.encode("ascii")) for s in hexdigits} log = logging.getLogger(__name__) @@ -109,7 +108,7 @@ def _dechunk(body): CHUNK_GAP = b"\r\n" BODY_LEN: int = len(body) - chunks: List[bytes] = [] + chunks: list[bytes] = [] pos: int = 0 while True: diff --git a/vcr/stubs/aiohttp_stubs.py b/vcr/stubs/aiohttp_stubs.py index 9b07b9d1a..88be90a7f 100644 --- a/vcr/stubs/aiohttp_stubs.py +++ b/vcr/stubs/aiohttp_stubs.py @@ -4,8 +4,9 @@ import functools import json import logging +from collections.abc import Mapping from http.cookies import CookieError, Morsel, SimpleCookie -from typing import Mapping, Union +from typing import Union from aiohttp import ClientConnectionError, ClientResponse, CookieJar, RequestInfo, hdrs, streams from aiohttp.helpers import strip_auth_from_url