From cd29791894325c54f1dec1d2a5f6456800beb63e Mon Sep 17 00:00:00 2001 From: Marco Vinciguerra Date: Sat, 7 Jun 2025 16:41:11 +0200 Subject: [PATCH 1/2] feat: add adv --- scrapegraphai/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scrapegraphai/__init__.py b/scrapegraphai/__init__.py index 52b4d951..13eb6e85 100644 --- a/scrapegraphai/__init__.py +++ b/scrapegraphai/__init__.py @@ -1,3 +1,9 @@ """ __init__.py file for scrapegraphai folder """ + +from .utils.logging import get_logger, set_verbosity_info + +logger = get_logger(__name__) +set_verbosity_info() +logger.info("This is an open-source library. If you want proxy rotations, residential proxies and faster inference times visit https://scrapegraphai.com") From 8c541620879570c46f32708c7e488e9a4ca0ea3e Mon Sep 17 00:00:00 2001 From: Marco Vinciguerra Date: Sat, 7 Jun 2025 16:53:55 +0200 Subject: [PATCH 2/2] feat: update logs --- scrapegraphai/__init__.py | 1 - scrapegraphai/graphs/abstract_graph.py | 12 +++++++++++- scrapegraphai/graphs/base_graph.py | 24 ++++++++++++++++++++++-- uv.lock | 2 +- 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/scrapegraphai/__init__.py b/scrapegraphai/__init__.py index 13eb6e85..4136a158 100644 --- a/scrapegraphai/__init__.py +++ b/scrapegraphai/__init__.py @@ -6,4 +6,3 @@ logger = get_logger(__name__) set_verbosity_info() -logger.info("This is an open-source library. If you want proxy rotations, residential proxies and faster inference times visit https://scrapegraphai.com") diff --git a/scrapegraphai/graphs/abstract_graph.py b/scrapegraphai/graphs/abstract_graph.py index 90f6efc2..d143dae2 100644 --- a/scrapegraphai/graphs/abstract_graph.py +++ b/scrapegraphai/graphs/abstract_graph.py @@ -5,6 +5,7 @@ import asyncio import uuid import warnings +import time from abc import ABC, abstractmethod from typing import Optional, Type @@ -14,8 +15,13 @@ from ..helpers import models_tokens from ..models import CLoD, DeepSeek, OneApi, XAI -from ..utils.logging import set_verbosity_info, set_verbosity_warning +from ..utils.logging import set_verbosity_info, set_verbosity_warning, get_logger +from ..telemetry import log_graph_execution +logger = get_logger(__name__) + +# ANSI escape sequence for hyperlink +CLICKABLE_URL = "\033]8;;https://scrapegraphai.com\033\\https://scrapegraphai.com\033]8;;\033\\" class AbstractGraph(ABC): """ @@ -316,6 +322,10 @@ def run(self) -> str: """ Abstract method to execute the graph and return the result. """ + inputs = {"user_prompt": self.prompt, self.input_key: self.source} + self.final_state, self.execution_info = self.graph.execute(inputs) + result = self.final_state.get("answer", "No answer found.") + return result async def run_safe_async(self) -> str: """ diff --git a/scrapegraphai/graphs/base_graph.py b/scrapegraphai/graphs/base_graph.py index 6021f97f..dad3a257 100644 --- a/scrapegraphai/graphs/base_graph.py +++ b/scrapegraphai/graphs/base_graph.py @@ -8,7 +8,12 @@ from ..telemetry import log_graph_execution from ..utils import CustomLLMCallbackManager +from ..utils.logging import get_logger +logger = get_logger(__name__) + +# ANSI escape sequence for hyperlink +CLICKABLE_URL = "\033]8;;https://scrapegraphai.com\033\\https://scrapegraphai.com\033]8;;\033\\" class BaseGraph: """ @@ -353,9 +358,24 @@ def execute(self, initial_state: dict) -> Tuple[dict, list]: bridge = BurrBridge(self, self.burr_config) result = bridge.execute(initial_state) - return (result["_state"], []) + state, exec_info = (result["_state"], []) else: - return self._execute_standard(initial_state) + state, exec_info = self._execute_standard(initial_state) + + # Print the result first + if "answer" in state: + print(state["answer"]) + elif "parsed_doc" in state: + print(state["parsed_doc"]) + elif "generated_code" in state: + print(state["generated_code"]) + elif "merged_script" in state: + print(state["merged_script"]) + + # Then show the message ONLY ONCE + print(f"✨ Try enhanced version of ScrapegraphAI at {CLICKABLE_URL} ✨") + + return state, exec_info def append_node(self, node): """ diff --git a/uv.lock b/uv.lock index fd5fc1e5..51274d45 100644 --- a/uv.lock +++ b/uv.lock @@ -3446,7 +3446,7 @@ wheels = [ [[package]] name = "scrapegraphai" -version = "1.54.0" +version = "1.54.1" source = { editable = "." } dependencies = [ { name = "async-timeout", version = "4.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" },