diff --git a/kr8s/_config.py b/kr8s/_config.py index c50abc0..0c1d22f 100644 --- a/kr8s/_config.py +++ b/kr8s/_config.py @@ -1,12 +1,13 @@ # SPDX-FileCopyrightText: Copyright (c) 2024, Kr8s Developers (See LICENSE for list) # SPDX-License-Identifier: BSD 3-Clause License import pathlib +import typing from typing import Any, Dict, List, Optional, Protocol, Union import anyio +import jsonpath import yaml -import kr8s._jsonpath as jsonpath from kr8s._data_utils import dict_list_pack, list_dict_unpack from kr8s._types import PathType @@ -318,13 +319,13 @@ async def set( patch = jsonpath.JSONPatch().replace(pointer, value) else: patch = jsonpath.JSONPatch().add(pointer, value) - self._raw = patch.apply(self._raw) + self._raw = typing.cast(dict, patch.apply(self._raw)) await self.save() async def unset(self, pointer: str) -> Any: """Remove a value using a JSON Pointer.""" patch = jsonpath.JSONPatch().remove(pointer) - self._raw = patch.apply(self._raw) + self._raw = typing.cast(dict, patch.apply(self._raw)) await self.save() @property diff --git a/kr8s/_jsonpath.py b/kr8s/_jsonpath.py deleted file mode 100644 index 8d0a655..0000000 --- a/kr8s/_jsonpath.py +++ /dev/null @@ -1,18 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2024, Kr8s Developers (See LICENSE for list) -# SPDX-License-Identifier: BSD 3-Clause License -from io import IOBase -from typing import MutableMapping, MutableSequence, TypeVar, Union - -from jsonpath import JSONPatch as _JSONPatch -from jsonpath import findall, pointer # noqa - -T = TypeVar("T") - - -class JSONPatch(_JSONPatch): - - def apply( - self, - data: Union[str, IOBase, MutableSequence[T], MutableMapping[str, T]], - ) -> T: - return super().apply(data) # type: ignore