Skip to content

Commit 05f8a76

Browse files
monadoidsamfinton
andauthored
Deprecate browserbase project ID (#91)
Co-authored-by: samfinton <samfinton@samLaptopm5.galaxus.box>
1 parent 97016ef commit 05f8a76

18 files changed

Lines changed: 51 additions & 82 deletions

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,8 @@ Python 3.9 or higher.
8787

8888
Set your environment variables (from `examples/.env.example`):
8989

90-
- `STAGEHAND_API_URL`
9190
- `MODEL_API_KEY`
9291
- `BROWSERBASE_API_KEY`
93-
- `BROWSERBASE_PROJECT_ID`
9492

9593
```bash
9694
cp examples/.env.example examples/.env
@@ -139,7 +137,6 @@ def main() -> None:
139137
with Stagehand(
140138
server="remote",
141139
browserbase_api_key=os.environ.get("BROWSERBASE_API_KEY"),
142-
browserbase_project_id=os.environ.get("BROWSERBASE_PROJECT_ID"),
143140
model_api_key=os.environ.get("MODEL_API_KEY"),
144141
) as client:
145142
session = client.sessions.start(
@@ -234,7 +231,6 @@ from stagehand import AsyncStagehand
234231

235232
client = AsyncStagehand(
236233
browserbase_api_key="My Browserbase API Key",
237-
browserbase_project_id="My Browserbase Project ID",
238234
model_api_key="My Model API Key",
239235
)
240236
```
@@ -255,9 +251,11 @@ See this table for the available options:
255251
| Keyword argument | Environment variable | Required | Default value |
256252
| ------------------------ | ------------------------ | -------- | ----------------------------------------- |
257253
| `browserbase_api_key` | `BROWSERBASE_API_KEY` | true | - |
258-
| `browserbase_project_id` | `BROWSERBASE_PROJECT_ID` | true | - |
254+
| `browserbase_project_id` | - | false | - |
259255
| `model_api_key` | `MODEL_API_KEY` | true | - |
260-
| `base_url` | `STAGEHAND_API_URL` | false | `"https://api.stagehand.browserbase.com"` |
256+
| `base_url` | `STAGEHAND_API_URL` | false | `"https://api.stagehand.browserbase.com"` |
257+
258+
`browserbase_project_id` is deprecated, accepted for backwards compatibility, and ignored. `STAGEHAND_BASE_URL` remains supported as a deprecated fallback when `STAGEHAND_API_URL` is unset.
261259

262260
Keyword arguments take precedence over environment variables.
263261

@@ -662,7 +660,7 @@ import httpx
662660
from stagehand import Stagehand, DefaultHttpxClient
663661

664662
client = Stagehand(
665-
# Or use the `STAGEHAND_API_URL` env var
663+
# Or use the `STAGEHAND_API_URL` env var, with `STAGEHAND_BASE_URL` as a fallback
666664
base_url="http://my.test.server.example.com:8083",
667665
http_client=DefaultHttpxClient(
668666
proxy="http://my.test.proxy.example.com",

examples/.env.example

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
STAGEHAND_API_URL=https://api.stagehand.browserbase.com
21
MODEL_API_KEY=sk-proj-your-llm-api-key-here
32
BROWSERBASE_API_KEY=bb_live_your_api_key_here
4-
BROWSERBASE_PROJECT_ID=your-bb-project-uuid-here

examples/act_example.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
1111
Required environment variables:
1212
- BROWSERBASE_API_KEY: Your Browserbase API key
13-
- BROWSERBASE_PROJECT_ID: Your Browserbase project ID
1413
- MODEL_API_KEY: Your OpenAI API key
1514
"""
1615

@@ -45,10 +44,9 @@ async def main() -> None:
4544
load_example_env()
4645
load_example_env()
4746
# Create client using environment variables
48-
# BROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID, MODEL_API_KEY
47+
# BROWSERBASE_API_KEY and MODEL_API_KEY
4948
async with AsyncStagehand(
5049
browserbase_api_key=os.environ.get("BROWSERBASE_API_KEY"),
51-
browserbase_project_id=os.environ.get("BROWSERBASE_PROJECT_ID"),
5250
model_api_key=os.environ.get("MODEL_API_KEY"),
5351
) as client:
5452
# Start a new browser session

examples/agent_execute.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
44
Required environment variables:
55
- BROWSERBASE_API_KEY
6-
- BROWSERBASE_PROJECT_ID
76
- MODEL_API_KEY
87
98
Optional:

examples/byob_example.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
77
Required environment variables:
88
- BROWSERBASE_API_KEY
9-
- BROWSERBASE_PROJECT_ID
109
- MODEL_API_KEY
1110
1211
Usage:
@@ -52,7 +51,6 @@ async def main() -> None:
5251
load_example_env()
5352
async with AsyncStagehand(
5453
browserbase_api_key=os.environ.get("BROWSERBASE_API_KEY"),
55-
browserbase_project_id=os.environ.get("BROWSERBASE_PROJECT_ID"),
5654
model_api_key=os.environ.get("MODEL_API_KEY"),
5755
) as client, async_playwright() as playwright:
5856
browser = await playwright.chromium.launch(headless=True)

examples/env.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44
from pathlib import Path
55

66
REQUIRED_KEYS = {
7-
"STAGEHAND_API_URL",
87
"MODEL_API_KEY",
98
"BROWSERBASE_API_KEY",
10-
"BROWSERBASE_PROJECT_ID",
119
}
1210

1311

examples/full_example.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
1313
Required environment variables:
1414
- BROWSERBASE_API_KEY: Your Browserbase API key
15-
- BROWSERBASE_PROJECT_ID: Your Browserbase project ID
1615
- MODEL_API_KEY: Your OpenAI API key
1716
"""
1817

@@ -47,10 +46,9 @@ async def main() -> None:
4746
load_example_env()
4847
load_example_env()
4948
# Create client using environment variables
50-
# BROWSERBASE_API_KEY, BROWSERBASE_PROJECT_ID, MODEL_API_KEY
49+
# BROWSERBASE_API_KEY and MODEL_API_KEY
5150
async with AsyncStagehand(
5251
browserbase_api_key=os.environ.get("BROWSERBASE_API_KEY"),
53-
browserbase_project_id=os.environ.get("BROWSERBASE_PROJECT_ID"),
5452
model_api_key=os.environ.get("MODEL_API_KEY"),
5553
) as client:
5654
# Start a new browser session (returns a session helper bound to a session_id)

examples/local_browser_playwright_example.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212
Environment variables required:
1313
- MODEL_API_KEY
1414
- BROWSERBASE_API_KEY (can be any value in local mode)
15-
- BROWSERBASE_PROJECT_ID (can be any value in local mode)
1615
1716
Optional:
18-
- STAGEHAND_API_URL (defaults to http://127.0.0.1:3000)
17+
- STAGEHAND_API_URL or STAGEHAND_BASE_URL (defaults to http://127.0.0.1:3000)
1918
"""
2019

2120
from __future__ import annotations
@@ -82,11 +81,8 @@ def main() -> None:
8281
sys.exit("Set the MODEL_API_KEY environment variable to run this example.")
8382

8483
bb_api_key = os.environ.get("BROWSERBASE_API_KEY")
85-
bb_project_id = os.environ.get("BROWSERBASE_PROJECT_ID")
86-
if not bb_api_key or not bb_project_id:
87-
sys.exit(
88-
"Set BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID to run this example."
89-
)
84+
if not bb_api_key:
85+
sys.exit("Set BROWSERBASE_API_KEY to run this example.")
9086

9187
try:
9288
from playwright.sync_api import sync_playwright # type: ignore[import-not-found]
@@ -102,7 +98,6 @@ def main() -> None:
10298
with Stagehand(
10399
server="local",
104100
browserbase_api_key=bb_api_key,
105-
browserbase_project_id=bb_project_id,
106101
model_api_key=model_api_key,
107102
local_ready_timeout_s=30.0,
108103
) as client:

examples/local_example.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
55
Required environment variables:
66
- BROWSERBASE_API_KEY (can be any value in local mode)
7-
- BROWSERBASE_PROJECT_ID (can be any value in local mode)
87
- MODEL_API_KEY (read by this example and passed explicitly to the client)
98
109

examples/local_server_multiregion_browser_example.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@
1111
Environment variables required:
1212
- MODEL_API_KEY
1313
- BROWSERBASE_API_KEY
14-
- BROWSERBASE_PROJECT_ID
1514
1615
Optional:
17-
- STAGEHAND_API_URL (defaults to http://127.0.0.1:3000 when server="local")
16+
- STAGEHAND_API_URL or STAGEHAND_BASE_URL (defaults to http://127.0.0.1:3000 when server="local")
1817
"""
1918

2019
from __future__ import annotations
@@ -53,11 +52,8 @@ def main() -> None:
5352
sys.exit("Set the MODEL_API_KEY environment variable to run this example.")
5453

5554
bb_api_key = os.environ.get("BROWSERBASE_API_KEY")
56-
bb_project_id = os.environ.get("BROWSERBASE_PROJECT_ID")
57-
if not bb_api_key or not bb_project_id:
58-
sys.exit(
59-
"Set BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID to run this example."
60-
)
55+
if not bb_api_key:
56+
sys.exit("Set BROWSERBASE_API_KEY to run this example.")
6157

6258
try:
6359
from playwright.sync_api import sync_playwright # type: ignore[import-not-found]
@@ -73,7 +69,6 @@ def main() -> None:
7369
with Stagehand(
7470
server="local",
7571
browserbase_api_key=bb_api_key,
76-
browserbase_project_id=bb_project_id,
7772
model_api_key=model_api_key,
7873
local_ready_timeout_s=30.0,
7974
) as client:

0 commit comments

Comments
 (0)