diff --git a/src/google/adk/cli/adk_web_server.py b/src/google/adk/cli/adk_web_server.py index 5d71591466..cf56c5f8d4 100644 --- a/src/google/adk/cli/adk_web_server.py +++ b/src/google/adk/cli/adk_web_server.py @@ -88,6 +88,7 @@ from ..sessions.base_session_service import BaseSessionService from ..sessions.session import Session from ..utils.context_utils import Aclosing +from ..utils.env_utils import is_env_enabled from .cli_eval import EVAL_SESSION_ID_PREFIX from .utils import cleanup from .utils import common @@ -522,7 +523,8 @@ async def get_runner_async(self, app_name: str) -> Runner: return self.runner_dict[app_name] # Create new runner - envs.load_dotenv_for_agent(os.path.basename(app_name), self.agents_dir) + if not is_env_enabled("ADK_DISABLE_LOAD_DOTENV"): + envs.load_dotenv_for_agent(os.path.basename(app_name), self.agents_dir) agent_or_app = self.agent_loader.load_agent(app_name) # Instantiate extra plugins if configured diff --git a/src/google/adk/cli/cli_tools_click.py b/src/google/adk/cli/cli_tools_click.py index 035ddf1331..1d32c5d590 100644 --- a/src/google/adk/cli/cli_tools_click.py +++ b/src/google/adk/cli/cli_tools_click.py @@ -36,6 +36,7 @@ from . import cli_deploy from .. import version from ..evaluation.constants import MISSING_EVAL_DEPENDENCIES_MESSAGE +from ..utils.env_utils import is_env_enabled from .cli import run_cli from .fast_api import get_fast_api_app from .utils import envs @@ -623,7 +624,8 @@ def cli_eval( PRINT_DETAILED_RESULTS: Prints detailed results on the console. """ - envs.load_dotenv_for_agent(agent_module_file_path, ".") + if not is_env_enabled("ADK_DISABLE_LOAD_DOTENV"): + envs.load_dotenv_for_agent(agent_module_file_path, ".") logs.setup_adk_logger(getattr(logging, log_level.upper())) try: diff --git a/src/google/adk/cli/fast_api.py b/src/google/adk/cli/fast_api.py index 131213ec07..8f34db84c4 100644 --- a/src/google/adk/cli/fast_api.py +++ b/src/google/adk/cli/fast_api.py @@ -39,6 +39,7 @@ from ..evaluation.local_eval_set_results_manager import LocalEvalSetResultsManager from ..evaluation.local_eval_sets_manager import LocalEvalSetsManager from ..runners import Runner +from ..utils.env_utils import is_env_enabled from .adk_web_server import AdkWebServer from .service_registry import load_services_module from .utils import envs @@ -161,7 +162,8 @@ def get_fast_api_app( from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter def register_processors(provider: TracerProvider) -> None: - envs.load_dotenv_for_agent("", agents_dir) + if not is_env_enabled("ADK_DISABLE_LOAD_DOTENV"): + envs.load_dotenv_for_agent("", agents_dir) if project_id := os.environ.get("GOOGLE_CLOUD_PROJECT", None): processor = export.BatchSpanProcessor( CloudTraceSpanExporter(project_id=project_id) diff --git a/src/google/adk/cli/service_registry.py b/src/google/adk/cli/service_registry.py index 3e7921e075..9936b16510 100644 --- a/src/google/adk/cli/service_registry.py +++ b/src/google/adk/cli/service_registry.py @@ -78,6 +78,7 @@ def my_session_factory(uri: str, **kwargs): from ..memory.base_memory_service import BaseMemoryService from ..sessions.base_session_service import BaseSessionService from ..utils import yaml_utils +from ..utils.env_utils import is_env_enabled logger = logging.getLogger("google_adk." + __name__) @@ -330,7 +331,8 @@ def _load_gcp_config( from .utils import envs - envs.load_dotenv_for_agent("", agents_dir) + if not is_env_enabled("ADK_DISABLE_LOAD_DOTENV"): + envs.load_dotenv_for_agent("", agents_dir) project = os.environ.get("GOOGLE_CLOUD_PROJECT") location = os.environ.get("GOOGLE_CLOUD_LOCATION") diff --git a/src/google/adk/cli/utils/agent_loader.py b/src/google/adk/cli/utils/agent_loader.py index d6965e5bbb..b56c7bc0bc 100644 --- a/src/google/adk/cli/utils/agent_loader.py +++ b/src/google/adk/cli/utils/agent_loader.py @@ -33,6 +33,7 @@ from ...agents.base_agent import BaseAgent from ...apps.app import App from ...utils.feature_decorator import experimental +from ...utils.env_utils import is_env_enabled from .base_agent_loader import BaseAgentLoader logger = logging.getLogger("google_adk." + __name__) @@ -223,8 +224,9 @@ def _perform_load(self, agent_name: str) -> Union[BaseAgent, App]: if agents_dir not in sys.path: sys.path.insert(0, agents_dir) - logger.debug("Loading .env for agent %s from %s", agent_name, agents_dir) - envs.load_dotenv_for_agent(actual_agent_name, str(agents_dir)) + if not is_env_enabled("ADK_DISABLE_LOAD_DOTENV"): + logger.debug("Loading .env for agent %s from %s", agent_name, agents_dir) + envs.load_dotenv_for_agent(actual_agent_name, str(agents_dir)) if root_agent := self._load_from_module_or_package(module_base_name): self._record_origin_metadata(