Native browser automation with typed Python APIs and before-and-after evidence.
Documentation · Get started · Examples · PyPI · Issues
Control browsers and iframe applications from Python with the native
agent-browser engine.
Bind page and frame handles, act on inspected elements, capture model-ready
images, and retain before-and-after evidence.
Alpha: The public API and native integration can change between minor releases. Pin a version for production automation.
Get started
python -m pip install pyagentbrowser
Requires Python 3.11 through 3.14. Local browsers run headlessly by default. The first launch finds Chrome or Chromium, or downloads Chrome for Testing when needed.
from agentbrowser import Browser
with Browser.launch() as browser:
browser.page.set_content(
"<button onclick=\"this.textContent='Done'\">Run</button>"
)
snapshot = browser.page.observe()
result = snapshot.one(role="button", name="Run").click()
print(result.after.one(role="button").name)
print(result.diff.changed)
Done
True
page.observe() captures a Snapshot of the page's accessible elements. Selecting
a button returns a Ref. Clicking it returns an ActionResult with before,
after, and diff.
Use page.find for live element queries and
page.frames for embedded applications.
Browser workflows
- Inspect and act. Navigate pages, fill forms, read documents, and capture screenshots and PDFs through typed namespaces.
- Keep document scope. Bind an exact page or frame so observation, evaluation, waits, scrolling, capture, and ref actions share one target.
- Deliver evidence. Read screenshot bytes and MIME metadata, and inspect structured snapshots and action results.
- Manage sessions. Launch a browser or attach to an existing one. Work with tabs, cookies, saved state, and explicit cleanup.
- Control actions. Configure domain restrictions and confirmation policy for operations through the native engine.
- Compose in Python. Use synchronous or asynchronous controllers, agent
skills, and the complete engine protocol through
browser.native.
Documentation
Get started · Concepts · Action evidence · Code-mode integration · Safety · API reference · Troubleshooting
The documentation site covers browser workflows, optional packages, supported platforms, and integrations. See examples for Python scripts and Contributing for development setup and checks.
License
pyagentbrowser is licensed under the Apache License 2.0. See NOTICE for bundled software attribution.
Metadata
Release files for pyagentbrowser 0.38.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyagentbrowser-0.38.0.tar.gz | 1.3 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyagentbrowser-0.38.0-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
| pyagentbrowser-0.38.0-cp311-abi3-manylinux_2_28_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| pyagentbrowser-0.38.0-cp311-abi3-manylinux_2_28_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.28+ ARM64 | Details |
| pyagentbrowser-0.38.0-cp311-abi3-macosx_11_0_arm64.whl | CPython 3.11 | abi3 | macOS 11.0+ ARM64 | Details |
| pyagentbrowser-0.38.0-cp311-abi3-macosx_10_12_x86_64.whl | CPython 3.11 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 50.1 MB
Release files / pyagentbrowser-0.38.0.tar.gz
| Download URL | pyagentbrowser-0.38.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c8e98019108631daeba7e2cc65a911d70635743d26a4d74e746dca2b85344ee
|
|
BLAKE2b-256 checksum How to use checksums |
ed496a0df87158dc8b528f5a4404167364e520b8a4c883f205677d3dd40531a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyagentbrowser-0.38.0-cp311-abi3-win_amd64.whl
| Download URL | pyagentbrowser-0.38.0-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 9.7 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b527a49c598844c4d5057f2c4997f37029b049eafb4438a5c66eb85781420b77
|
|
BLAKE2b-256 checksum How to use checksums |
744a43e6f74a8109db076171557cd3bb46e74f7bac5c4cd31ea2870ebeff095a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyagentbrowser-0.38.0-cp311-abi3-manylinux_2_28_x86_64.whl
| Download URL | pyagentbrowser-0.38.0-cp311-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.3 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
bec7b08b21870580b2805209a92ac5f7d33c54e0fee5e41e2be1bdc25254c2d9
|
|
BLAKE2b-256 checksum How to use checksums |
d60f98ffebe07404cdc35f7c3733b0b4a526cabbd8ac3003c74b9422e8cf4af4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyagentbrowser-0.38.0-cp311-abi3-manylinux_2_28_aarch64.whl
| Download URL | pyagentbrowser-0.38.0-cp311-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
fb5661572061ce502df2add78e06c73425766f46164f15ff7dcabe2eb4159be5
|
|
BLAKE2b-256 checksum How to use checksums |
934fdcabdd8635238eb5168c7078704e036f1278cfa68e959d6455fc196a6e47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyagentbrowser-0.38.0-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | pyagentbrowser-0.38.0-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 9.2 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f2a0b698a27ca10ed6f9a8a9f48a4e0e95643e4b1b32f1fc137509fb56db0fd6
|
|
BLAKE2b-256 checksum How to use checksums |
dbd721a6ee216813b3047de01fcc483b908fc5adf8dca5883f020f90252f9dd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyagentbrowser-0.38.0-cp311-abi3-macosx_10_12_x86_64.whl
| Download URL | pyagentbrowser-0.38.0-cp311-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.11 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5018270ba589498a688fa843f46963badc94cc40a246843efc5d9430ec2080b1
|
|
BLAKE2b-256 checksum How to use checksums |
05545d90bc0a626d27e7fb00a3c67c970243c02cdbdd9e5502be13a8eb76f16a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|