diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a53ed54d..831c8c77 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 21def634..a6025e1a 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 74953456..c79596dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,10 +5,7 @@ ignore-regex = "\\\\[fnrstv]" # ignore-words-list = '' [tool.pytest.ini_options] -addopts = [ - "--strict-config", - "--strict-markers", -] +addopts = ["--strict-config", "--strict-markers"] markers = ["online"] filterwarnings = [ "error", @@ -30,7 +27,8 @@ select = [ "W", # pycodestyle warning ] line-length = 110 -target-version = "py38" +target-version = "py39" +ignore = ['COM812', 'ISC001'] [tool.ruff.isort] known-first-party = ["vcr"] diff --git a/setup.py b/setup.py index 5b7a4c01..f213f923 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,7 +89,6 @@ 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", diff --git a/vcr/matchers.py b/vcr/matchers.py index 0949fd95..cbdeabe1 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 9b07b9d1..88be90a7 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