Skip to content

Commit 77c8911

Browse files
committed
rye
1 parent a4dd3d9 commit 77c8911

File tree

5 files changed

+41
-6
lines changed

5 files changed

+41
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ dist
1414
.envrc
1515
codegen.log
1616
Brewfile.lock.json
17+
screenshot.png

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,18 @@ so that your API Key is not stored in source control.
5050

5151
See the [examples](examples) directory for more usage examples.
5252

53+
> [!NOTE]
54+
> Running the examples requires [Rye](https://rye.astral.sh/) to be installed.
55+
5356
To run the examples, clone this repository and run the following commands from the project root (this directory):
5457

5558
```bash
56-
python3 -m venv .venv
57-
source .venv/bin/activate
58-
python3 -m pip install .
59-
python3 -m examples/02_create_session.py # replace with the example you want to run
59+
rye sync
60+
rye run run-example 02_create_session.py # replace with the example you want to run
6061
```
6162

62-
!!! note
63-
Make sure you have a `.env` file that matches the [.env.example](.env.example) file in the root of this repository.
63+
> [!NOTE]
64+
> Make sure you have a `.env` file that matches the [.env.example](.env.example) file in the root of this repository.
6465
6566
## Async usage
6667

pyproject.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,15 @@ dev-dependencies = [
5050
"respx",
5151
"pytest",
5252
"pytest-asyncio",
53+
"pytest-playwright",
5354
"ruff",
5455
"time-machine",
5556
"nox",
5657
"dirty-equals>=0.6.0",
5758
"importlib-metadata>=6.7.0",
5859
"rich>=13.7.1",
60+
"python-dotenv",
61+
"playwright",
5962
]
6063

6164
[tool.rye.scripts]
@@ -79,10 +82,13 @@ format = { chain = [
7982

8083
"check:importable" = "python -c 'import browserbase'"
8184

85+
"run-example" = "python -c 'import sys; from pathlib import Path; example = Path(\"examples\") / sys.argv[1]; exec(open(example).read())'"
86+
8287
typecheck = { chain = [
8388
"typecheck:pyright",
8489
"typecheck:mypy"
8590
]}
91+
8692
"typecheck:pyright" = "pyright"
8793
"typecheck:verify-types" = "pyright --verifytypes browserbase --ignoreexternal"
8894
"typecheck:mypy" = "mypy ."

requirements-dev.lock

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# all-features: true
88
# with-sources: false
99
# generate-hashes: false
10+
# universal: false
1011

1112
-e file:.
1213
annotated-types==0.6.0
@@ -21,6 +22,9 @@ attrs==23.1.0
2122
certifi==2023.7.22
2223
# via httpcore
2324
# via httpx
25+
# via requests
26+
charset-normalizer==3.4.0
27+
# via requests
2428
colorlog==6.7.0
2529
# via nox
2630
dirty-equals==0.6.0
@@ -32,6 +36,8 @@ exceptiongroup==1.1.3
3236
# via anyio
3337
filelock==3.12.4
3438
# via virtualenv
39+
greenlet==3.1.1
40+
# via playwright
3541
h11==0.14.0
3642
# via httpcore
3743
httpcore==1.0.2
@@ -42,6 +48,7 @@ httpx==0.25.2
4248
idna==3.4
4349
# via anyio
4450
# via httpx
51+
# via requests
4552
importlib-metadata==7.0.0
4653
iniconfig==2.0.0
4754
# via pytest
@@ -60,6 +67,8 @@ packaging==23.2
6067
# via pytest
6168
platformdirs==3.11.0
6269
# via virtualenv
70+
playwright==1.48.0
71+
# via pytest-playwright
6372
pluggy==1.3.0
6473
# via pytest
6574
py==1.11.0
@@ -68,16 +77,28 @@ pydantic==2.7.1
6877
# via browserbase
6978
pydantic-core==2.18.2
7079
# via pydantic
80+
pyee==12.0.0
81+
# via playwright
7182
pygments==2.18.0
7283
# via rich
7384
pyright==1.1.380
7485
pytest==7.1.1
7586
# via pytest-asyncio
87+
# via pytest-base-url
88+
# via pytest-playwright
7689
pytest-asyncio==0.21.1
90+
pytest-base-url==2.1.0
91+
# via pytest-playwright
92+
pytest-playwright==0.5.2
7793
python-dateutil==2.8.2
7894
# via time-machine
95+
python-dotenv==1.0.1
96+
python-slugify==8.0.4
97+
# via pytest-playwright
7998
pytz==2023.3.post1
8099
# via dirty-equals
100+
requests==2.32.3
101+
# via pytest-base-url
81102
respx==0.20.2
82103
rich==13.7.1
83104
ruff==0.6.9
@@ -89,6 +110,8 @@ sniffio==1.3.0
89110
# via anyio
90111
# via browserbase
91112
# via httpx
113+
text-unidecode==1.3
114+
# via python-slugify
92115
time-machine==2.9.0
93116
tomli==2.0.1
94117
# via mypy
@@ -99,6 +122,9 @@ typing-extensions==4.8.0
99122
# via mypy
100123
# via pydantic
101124
# via pydantic-core
125+
# via pyee
126+
urllib3==2.2.3
127+
# via requests
102128
virtualenv==20.24.5
103129
# via nox
104130
zipp==3.17.0

requirements.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# all-features: true
88
# with-sources: false
99
# generate-hashes: false
10+
# universal: false
1011

1112
-e file:.
1213
annotated-types==0.6.0

0 commit comments

Comments
 (0)