From 88c4f3ff124763577043c1741057863ee519f9b2 Mon Sep 17 00:00:00 2001 From: reformedot Date: Sat, 5 Jul 2025 17:07:42 +0200 Subject: [PATCH 1/2] fix: handle eval import errors --- eval/service.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/eval/service.py b/eval/service.py index d49be87fe..c96fed6d2 100644 --- a/eval/service.py +++ b/eval/service.py @@ -57,10 +57,7 @@ from uuid import UUID import anyio import psutil import requests -from browserbase import Browserbase from dotenv import load_dotenv -from hyperbrowser import AsyncHyperbrowser -from hyperbrowser.models import CreateSessionParams from lmnr import AsyncLaminarClient, Laminar, observe from PIL import Image from pydantic import BaseModel @@ -154,6 +151,11 @@ def create_browserbase_session() -> str: if not BROWSERBASE_API_KEY or not BROWSERBASE_PROJECT_ID: raise ValueError('BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID must be set') + try: + from browserbase import Browserbase + except ImportError: + raise ImportError('browserbase package is required for Browserbase functionality. Install it with: pip install browserbase') + try: bb = Browserbase(api_key=BROWSERBASE_API_KEY) session = bb.sessions.create( @@ -175,6 +177,12 @@ async def create_hyperbrowser_session() -> str: if not HYPERBROWSER_API_KEY: raise ValueError('HYPERBROWSER_API_KEY must be set') + try: + from hyperbrowser import AsyncHyperbrowser + from hyperbrowser.models import CreateSessionParams + except ImportError: + raise ImportError('hyperbrowser package is required for Hyperbrowser functionality. Install it with: pip install hyperbrowser') + try: client = AsyncHyperbrowser(api_key=HYPERBROWSER_API_KEY) From c3949b8c928b928ab4bbd2bd31302e0e0c0cbc76 Mon Sep 17 00:00:00 2001 From: reformedot Date: Sat, 5 Jul 2025 17:08:43 +0200 Subject: [PATCH 2/2] chore: linting --- eval/service.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/eval/service.py b/eval/service.py index c96fed6d2..395d67b48 100644 --- a/eval/service.py +++ b/eval/service.py @@ -154,7 +154,9 @@ def create_browserbase_session() -> str: try: from browserbase import Browserbase except ImportError: - raise ImportError('browserbase package is required for Browserbase functionality. Install it with: pip install browserbase') + raise ImportError( + 'browserbase package is required for Browserbase functionality. Install it with: pip install browserbase' + ) try: bb = Browserbase(api_key=BROWSERBASE_API_KEY) @@ -181,7 +183,9 @@ async def create_hyperbrowser_session() -> str: from hyperbrowser import AsyncHyperbrowser from hyperbrowser.models import CreateSessionParams except ImportError: - raise ImportError('hyperbrowser package is required for Hyperbrowser functionality. Install it with: pip install hyperbrowser') + raise ImportError( + 'hyperbrowser package is required for Hyperbrowser functionality. Install it with: pip install hyperbrowser' + ) try: client = AsyncHyperbrowser(api_key=HYPERBROWSER_API_KEY)