From 1934ed45e8ec38fdccd64188afd031bb91ec412c Mon Sep 17 00:00:00 2001 From: Neha Gslab <46673172+NehaGslab@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:28:58 +0530 Subject: [PATCH] feat(ingestion): add ability to exclude archived mode reports. (#14978) Co-authored-by: Tamas Nemeth --- .../src/datahub/ingestion/source/mode.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/metadata-ingestion/src/datahub/ingestion/source/mode.py b/metadata-ingestion/src/datahub/ingestion/source/mode.py index 2308a6ab6c..c79e612056 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/mode.py +++ b/metadata-ingestion/src/datahub/ingestion/source/mode.py @@ -214,6 +214,10 @@ class ModeConfig( description="Number of items per page for paginated API requests.", ) + exclude_archived: bool = Field( + default=False, description="Exclude archived reports" + ) + @validator("connect_uri") def remove_trailing_slash(cls, v): return config_clean.remove_trailing_slashes(v) @@ -1473,6 +1477,15 @@ class ModeSource(StatefulIngestionSourceBase): logger.debug( f"Read {len(reports_page)} reports records from workspace {self.workspace_uri} space {space_token}" ) + if self.config.exclude_archived: + logger.debug( + f"Excluding archived reports since exclude_archived: {self.config.exclude_archived}" + ) + reports_page = [ + report + for report in reports_page + if not report.get("archived", False) + ] yield reports_page except ModeRequestError as e: if isinstance(e, HTTPError) and e.response.status_code == 404: