From 568abfc2f3369203d46ef024cfe59e9782b46231 Mon Sep 17 00:00:00 2001 From: Universe Interface Date: Mon, 6 Apr 2026 11:52:15 +0000 Subject: [PATCH] fix: adapt to adaptix 3.0.0b12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove _FixedTypeHintTagsUnwrappingProvider workaround — upstream TypeHintTagsUnwrappingProvider now handles type hint unwrapping correctly (renamed _get_proxy_target → _unwrap_type_hint). Bump minimum adaptix version to 3.0.0b12. --- pyproject.toml | 2 +- .../adaptix/fixed_tp_tags_unwrapping.py | 27 ------------------- src/unihttp/serializers/adaptix/serialize.py | 6 ++--- 3 files changed, 3 insertions(+), 32 deletions(-) delete mode 100644 src/unihttp/serializers/adaptix/fixed_tp_tags_unwrapping.py diff --git a/pyproject.toml b/pyproject.toml index 5171f73..c20f87a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ requests = ["requests>=2.32.0"] aiohttp = ["aiohttp>=3.10.0"] niquests = ["niquests>=3.17.0"] pydantic = ["pydantic>=2.0.0"] -adaptix = ["adaptix>=3.0.0b11"] +adaptix = ["adaptix>=3.0.0b12"] [dependency-groups] diff --git a/src/unihttp/serializers/adaptix/fixed_tp_tags_unwrapping.py b/src/unihttp/serializers/adaptix/fixed_tp_tags_unwrapping.py deleted file mode 100644 index 37f0ed7..0000000 --- a/src/unihttp/serializers/adaptix/fixed_tp_tags_unwrapping.py +++ /dev/null @@ -1,27 +0,0 @@ -from typing import Any, override - -from adaptix import Loader, Mediator, Provider -from adaptix._internal.morphing.generic_provider import TypeHintTagsUnwrappingProvider -from adaptix._internal.morphing.request_cls import LoaderRequest -from adaptix._internal.provider.location import TypeHintLoc - - -class _FixedTypeHintTagsUnwrappingProvider(TypeHintTagsUnwrappingProvider): - @override - def _provide_proxy( - self, - mediator: Mediator[Any], - request: LoaderRequest, - ) -> Loader[Any]: - return mediator.mandatory_provide( - request.with_loc_stack( - request.loc_stack.append_with( - TypeHintLoc(self._get_proxy_target(request.loc_stack.last.type)) - ), - ), - lambda provide: self._get_error_text(), - ) - - -def fixed_type_hint_tags_unwrapping_provider() -> Provider: - return _FixedTypeHintTagsUnwrappingProvider() diff --git a/src/unihttp/serializers/adaptix/serialize.py b/src/unihttp/serializers/adaptix/serialize.py index a8480c9..308b830 100644 --- a/src/unihttp/serializers/adaptix/serialize.py +++ b/src/unihttp/serializers/adaptix/serialize.py @@ -3,19 +3,17 @@ from unihttp.http import UploadFile from unihttp.omitted import Omitted from unihttp.serialize import RequestDumper, ResponseLoader -from unihttp.serializers.adaptix.fixed_tp_tags_unwrapping import ( - fixed_type_hint_tags_unwrapping_provider, -) from unihttp.serializers.adaptix.provider import method_provider from adaptix import Retort, as_sentinel, dumper +from adaptix._internal.morphing.generic_provider import TypeHintTagsUnwrappingProvider T = TypeVar("T") DEFAULT_RETORT = Retort( recipe=[ as_sentinel(Omitted), - fixed_type_hint_tags_unwrapping_provider(), + TypeHintTagsUnwrappingProvider(), method_provider(), dumper(UploadFile, lambda x: x.to_tuple()), ]