From 51521d583bba6d307d21962780114d32b0fa1b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= Date: Thu, 5 Sep 2024 18:12:05 -0600 Subject: [PATCH] feat: By default, new targets now emit a warning message if they do not support `ACTIVATE_VERSION` --- singer_sdk/_singerlib/encoding/_base.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/singer_sdk/_singerlib/encoding/_base.py b/singer_sdk/_singerlib/encoding/_base.py index 62793776b..4ed8c69f8 100644 --- a/singer_sdk/_singerlib/encoding/_base.py +++ b/singer_sdk/_singerlib/encoding/_base.py @@ -117,12 +117,19 @@ def _process_record_message(self, message_dict: dict) -> None: ... @abc.abstractmethod def _process_state_message(self, message_dict: dict) -> None: ... - @abc.abstractmethod - def _process_activate_version_message(self, message_dict: dict) -> None: ... - @abc.abstractmethod def _process_batch_message(self, message_dict: dict) -> None: ... + def _process_activate_version_message(self, message_dict: dict) -> None: # noqa: ARG002, PLR6301 + """Default implementation for ACTIVATE_VERSION messages. + + Override this method in a subclass to handle ACTIVATE_VERSION messages. + + Args: + message_dict: Dictionary representation of the Singer message. + """ + logger.warning("ACTIVATE_VERSION messages are not supported") + def _process_unknown_message(self, message_dict: dict) -> None: # noqa: PLR6301 """Internal method to process unknown message types from a Singer tap.