From 1e5e23cb57c493df48f0acbb41b2ba679243651d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 13 Mar 2025 20:04:07 +0000 Subject: [PATCH 1/2] fix(deps): update ruff to v0.10.0 --- .pre-commit-config.yaml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7b59c3661..06412c29d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,7 +48,7 @@ repos: - id: taplo-lint - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.10 + rev: v0.10.0 hooks: - id: ruff # Exclude python files in pact/** and tests/**, except for the diff --git a/pyproject.toml b/pyproject.toml index da56bf207..03666de51 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,7 +64,7 @@ dependencies = [ [project.optional-dependencies] # Linting and formatting tools use a more narrow specification to ensure # developper consistency. All other dependencies are as above. - devel = ["pact-python[devel-types,devel-docs,devel-test]", "ruff==0.9.10"] + devel = ["pact-python[devel-types,devel-docs,devel-test]", "ruff==0.10.0"] devel-docs = [ "mkdocs-literate-nav~=0.6", "mkdocs-material[imaging]~=9.4", From 8fd268f19eca349373f5d3917fead6ee08e54e7d Mon Sep 17 00:00:00 2001 From: JP-Ellis Date: Fri, 14 Mar 2025 09:32:23 +1100 Subject: [PATCH 2/2] chore: fix new lints Signed-off-by: JP-Ellis --- src/pact/v3/ffi.py | 2 +- src/pact/v3/types.py | 1 - src/pact/v3/verifier.py | 29 ++++++++++--------- .../util/interaction_definition.py | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/pact/v3/ffi.py b/src/pact/v3/ffi.py index fb5091bef..6993f684a 100644 --- a/src/pact/v3/ffi.py +++ b/src/pact/v3/ffi.py @@ -1755,7 +1755,7 @@ def __init__(self, cdata: cffi.FFI.CData) -> None: if ffi.typeof(cdata).cname != "struct StringResult": msg = f"cdata must be a struct StringResult, got {ffi.typeof(cdata).cname}" raise TypeError(msg) - self._cdata = typing.cast(StringResult._StringResultCData, cdata) + self._cdata = typing.cast("StringResult._StringResultCData", cdata) def __str__(self) -> str: """ diff --git a/src/pact/v3/types.py b/src/pact/v3/types.py index 2bb2d224b..7a40062d0 100644 --- a/src/pact/v3/types.py +++ b/src/pact/v3/types.py @@ -1,4 +1,3 @@ -# noqa: A005 """ Typing definitions for the matchers. diff --git a/src/pact/v3/verifier.py b/src/pact/v3/verifier.py index fcf99e083..1e893277e 100644 --- a/src/pact/v3/verifier.py +++ b/src/pact/v3/verifier.py @@ -87,20 +87,21 @@ import pact.v3.ffi from pact.v3._server import MessageProducer, StateCallback -from pact.v3.types import ( - Message, - MessageProducerFull, - MessageProducerNoName, - StateHandlerFull, - StateHandlerNoAction, - StateHandlerNoActionNoState, - StateHandlerNoState, - StateHandlerUrl, -) if TYPE_CHECKING: from collections.abc import Iterable + from pact.v3.types import ( + Message, + MessageProducerFull, + MessageProducerNoName, + StateHandlerFull, + StateHandlerNoAction, + StateHandlerNoActionNoState, + StateHandlerNoState, + StateHandlerUrl, + ) + logger = logging.getLogger(__name__) @@ -692,7 +693,7 @@ def _state_handler_dict( msg = "All functions must take two arguments: action and parameters" raise TypeError(msg) - handler_map = typing.cast(dict[str, StateHandlerNoState], handler) + handler_map = typing.cast("dict[str, StateHandlerNoState]", handler) def _handler( state: str, @@ -707,7 +708,7 @@ def _handler( raise TypeError(msg) handler_map_no_action = typing.cast( - dict[str, StateHandlerNoActionNoState], + "dict[str, StateHandlerNoActionNoState]", handler, ) @@ -771,7 +772,7 @@ def _set_function_state_handler( ) raise TypeError(msg) - handler_fn_full = typing.cast(StateHandlerFull, handler) + handler_fn_full = typing.cast("StateHandlerFull", handler) def _handler( state: str, @@ -785,7 +786,7 @@ def _handler( msg = "The function must take two arguments: state and parameters" raise TypeError(msg) - handler_fn_no_action = typing.cast(StateHandlerNoAction, handler) + handler_fn_no_action = typing.cast("StateHandlerNoAction", handler) def _handler( state: str, diff --git a/tests/v3/compatibility_suite/util/interaction_definition.py b/tests/v3/compatibility_suite/util/interaction_definition.py index d490c9c6e..cd46b2f41 100644 --- a/tests/v3/compatibility_suite/util/interaction_definition.py +++ b/tests/v3/compatibility_suite/util/interaction_definition.py @@ -111,7 +111,7 @@ def parse_fixture(self, fixture: Path) -> None: if content_type is None: msg = "Invalid XML fixture document: no contentType" raise ValueError(msg) - self.string = typing.cast(str, contents.text) + self.string = typing.cast("str", contents.text) if eol := contents.attrib.get("eol", None): if eol == "CRLF":