From 92e76053d618ea8f9e1bff44e172c7e876222fb6 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Fri, 7 Jul 2023 07:59:24 -0700 Subject: [PATCH] Avoid mypy checking woes by always using new enough httpcore. --- dns/_asyncio_backend.py | 13 ++++--------- dns/_trio_backend.py | 13 ++++--------- dns/query.py | 9 +++------ pyproject.toml | 5 +++-- 4 files changed, 14 insertions(+), 26 deletions(-) diff --git a/dns/_asyncio_backend.py b/dns/_asyncio_backend.py index c3aff2ba..de034398 100644 --- a/dns/_asyncio_backend.py +++ b/dns/_asyncio_backend.py @@ -121,17 +121,12 @@ class StreamSocket(dns._asyncbackend.StreamSocket): try: import anyio import httpcore - - try: - _CoreAsyncNetworkBackend = httpcore.AsyncNetworkBackend - from httpcore._backends.anyio import AnyIOStream as _CoreAnyIOStream - except ImportError: - from httpcore.backends.base import ( - AsyncNetworkBackend as _CoreAsyncNetworkBackend, - ) - from httpcore.backends.asyncio import AsyncIOStream as _CoreAnyIOStream + import httpcore._backends.anyio import httpx + _CoreAsyncNetworkBackend = httpcore.AsyncNetworkBackend + _CoreAnyIOStream = httpcore._backends.anyio.AnyIOStream + from dns.query import _compute_times, _expiration_for_this_attempt, _remaining class _NetworkBackend(_CoreAsyncNetworkBackend): diff --git a/dns/_trio_backend.py b/dns/_trio_backend.py index bcfba680..14f05280 100644 --- a/dns/_trio_backend.py +++ b/dns/_trio_backend.py @@ -97,17 +97,12 @@ class StreamSocket(dns._asyncbackend.StreamSocket): try: import httpcore - - try: - _CoreAsyncNetworkBackend = httpcore.AsyncNetworkBackend - from httpcore._backends.trio import TrioStream as _CoreTrioStream - except ImportError: - from httpcore.backends.base import ( - AsyncNetworkBackend as _CoreAsyncNetworkBackend, - ) - from httpcore.backends.trio import TrioStream as _CoreTrioStream + import httpcore._backends.trio import httpx + _CoreAsyncNetworkBackend = httpcore.AsyncNetworkBackend + _CoreTrioStream = httpcore._backends.trio.TrioStream + from dns.query import _compute_times, _expiration_for_this_attempt, _remaining class _NetworkBackend(_CoreAsyncNetworkBackend): diff --git a/dns/query.py b/dns/query.py index 778adfa1..b9f98f73 100644 --- a/dns/query.py +++ b/dns/query.py @@ -71,13 +71,10 @@ try: pass import httpcore + import httpcore._backends.sync - try: - _CoreNetworkBackend = httpcore.NetworkBackend - from httpcore._backends.sync import SyncStream as _CoreSyncStream - except ImportError: - from httpcore.backends.base import NetworkBackend as _CoreNetworkBackend - from httpcore.backends.sync import SyncStream as _CoreSyncStream + _CoreNetworkBackend = httpcore.NetworkBackend + _CoreSyncStream = httpcore._backends.sync.SyncStream class _NetworkBackend(_CoreNetworkBackend): def __init__(self, resolver, local_port, bootstrap_address, family): diff --git a/pyproject.toml b/pyproject.toml index c8287f9a..b260b9f0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,8 +39,9 @@ documentation = "https://dnspython.readthedocs.io/en/stable/" [tool.poetry.dependencies] python = "^3.8" -httpx = {version=">=0.21.1", optional=true, python=">=3.6.2"} -h2 = {version=">=4.1.0", optional=true, python=">=3.6.2"} +httpx = {version=">=0.24.1", optional=true, python=">=3.8"} +httpcore = {version=">=0.17.3", optional=true, python=">=3.8"} +h2 = {version=">=4.1.0", optional=true, python=">=3.8"} idna = {version=">=2.1,<4.0", optional=true} cryptography = {version=">=2.6,<42.0", optional=true} trio = {version=">=0.14,<0.23", optional=true} -- 2.47.3