Skip to main content

o-browser

Python async browser automation client built on Patchright.

Install

pip install o-browser

Usage

from o_browser import BrowserClient, RemoteBrowser

# Local headless browser
async with BrowserClient() as browser:
    await browser.goto("https://example.com")
    text = await browser.get_text()

# Persistent Chrome profile (cookies survive between runs)
async with BrowserClient(profile_path="~/.config/browser/linkedin") as browser:
    await browser.goto("https://linkedin.com")

# With recording (HAR + video)
async with BrowserClient(record=True) as browser:
    await browser.goto("https://example.com")

# Interactive (opens browser window, waits for user to close)
async with BrowserClient(interactive=True) as browser:
    await browser.wait_closed()

# Connect to remote Chrome (e.g. o-browser-full)
# RemoteBrowser auto-creates a session via POST /api/sessions if none active.
async with RemoteBrowser("http://host:8080", workflow="my-app") as browser:
    await browser.goto("https://example.com")

# Disable auto-session if you manage sessions yourself
async with RemoteBrowser("http://host:8080", auto_session=False) as browser:
    ...

Features

  • Headless and headful modes
  • Persistent Chrome profiles
  • HAR + video recording (HAR captured Python-side, survives the user closing the window in interactive mode)
  • Proxy support
  • Cookie management
  • CDP connection to existing Chrome instances
  • Anti-detection via Patchright

Site adapters (plugins)

Site-specific scrapers are separate distributions, not bundled in core. Each registers in the o_browser.sites entry-point group and is discovered at runtime:

from o_browser import load_site, available_sites

available_sites()                       # -> ['vivatech', ...] (installed adapters)
VivaTechClient = load_site("vivatech")   # pip install o-browser-vivatech

Scope — kept & consolidated as the local-CLI browser

o-browser is the canonical, kept browser lib of Otomata, consolidated as the local-CLI browser tooling: disco/scraping on your own machine, where a local Chrome (persistent profiles + anti-detection + HAR) is all you need.

Server-side browser automation in production runs on the hosted Browserbase substrate (cf. oto-backend) — a real remote Chrome with persistent Contexts and Live View, off-box (anti-OOM). The former self-hosted remote-Chrome service o-browser-full (VNC + CDP proxy + recording) is archived/decommissioned: it overlapped Browserbase entirely and is never needed locally. It stays re-hostable for a sovereign self-hosted setup, which we don't run.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

o_browser-0.4.1.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

o_browser-0.4.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file o_browser-0.4.1.tar.gz.

File metadata

  • Download URL: o_browser-0.4.1.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for o_browser-0.4.1.tar.gz
Algorithm Hash digest
SHA256 2e05526b082e9a8f1b64d72d5928bfb028f78112b3f1fbcf112e0c055c50b3f3
MD5 3c207c872feac361e07b34128826ff4a
BLAKE2b-256 19b87a0b259258ae2479d5d622679ef9cf29e085c759de2b899b67609ccd7a4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for o_browser-0.4.1.tar.gz:

Publisher: publish.yml on otomata-tech/o-browser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file o_browser-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: o_browser-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for o_browser-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c330e5abf9fb9cf01051b7a353f4b17cd14bca76592ee7d20798dd6e02cbd4b0
MD5 f3fdf150c5e7c48aa759df69617371d2
BLAKE2b-256 2050efaeb80488f36c4454a8a5cedada256270a9cda1e2867aad98573fcae38a

See more details on using hashes here.

Provenance

The following attestation bundles were made for o_browser-0.4.1-py3-none-any.whl:

Publisher: publish.yml on otomata-tech/o-browser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page