Skip to main content

Automate online browsing using python and AI

Project description

PyBA — Python Browser Automation

No-code, LLM-powered, reproducible browser automation in Python.
Visit any website, navigate autonomously, fill forms, extract data, perform OSINT, automate testing, and run multi-step workflows — all from one natural-language prompt.

  

PyPICodeHubDocumentation

[!NOTE] pyba is currently at version 0.2.8. This is not stable and I will be updating this a lot. The first major release is scheduled for 18th December 2025.


Core Modes

PyBA provides three execution modes, each optimized for a different style of reasoning:

  • Normal Mode Deterministic navigation using exact instructions.
    Example:
    "Open Instagram, go to my DMs, and tell XYZ I'll be late for the party."

  • BFS Mode Breadth-first reasoning for tasks with multiple possible success paths.
    Example:
    "Map all possible online identities associated with the username 'vect0rshade'."

  • DFS Mode Deep, recursive exploration for investigative or research-type tasks.
    Example:
    "Analyze this user’s GitHub activity and infer their technical background."


Key Features

Extraction

Extracts the relevant data during automation in a separate thread and logs it. The format can be specified using pydantic models.

The extracted data is stored in a separate table as memory

Trace zip generation

Automatic creation of Playwright trace files for full reproducibility in traceviewer.

Built-in logging & dependency management

Every step is logged and optionally stored in a local/server database.

Automatic script generation

Successful runs can be exported as standalone Python Playwright scripts.

Local or remote databases

Persist every action, observation, and browser state for auditing or replaying runs.

Stealth mode & anti-fingerprinting presets

Configurable behavior for bypassing common bot-detection heuristics.

Quick login to platforms

Fast social-media authentication using environment-variable credentials, without ever exposing them to the LLM.

Thread-safe

Suitable for parallel multi-task workflows.

Specialized extractors for certain platforms

(e.g., YouTube metadata, structured outputs, etc.)

For detailed examples of each feature, refer to the automation_eval/ directory.


Philosophy

PyBA originated from building a fully automated intelligence/OSINT platform designed to replicate everything a human analyst can do in a browser - but with reproducibility and speed.

Goals include:

  • Integrating LLM cognition directly into browser operations
  • Navigating complex websites like a human
  • Avoiding bot-detection halts
  • Providing standardized logs and replayability
  • Scaling from simple automations to deep investigative workflows

Installation

Install via PyPI:

pip install py-browser-automation

Or install from source:

git clone https://github.com/FauvidoTechnologies/PyBrowserAutomation
cd PyBrowserAutomation
pip install .

Quickstart

(See full documentation at: https://pyba.readthedocs.io/)

1. Initialize Engine

You can use OpenAI, VertexAI, or Gemini as the reasoning backend.

Example (OpenAI):

from pyba import Engine

engine = Engine(openai_api_key="")
output = engine.sync_run(
    prompt="open my instagram and tell me who posted what",
    automated_login_sites=["instagram"]
)
print(output)

Or generate automation code:

output = engine.sync_run(
    prompt="visit the Wikipedia page for quantum mechanics, click the first hyperlink repeatedly until you reach Philosophy, and count the steps"
)

engine.generate_code(output_path="/tmp/script.py")
print(output)

Explore more examples in automation_eval/.


If the project has helped you, consider giving it a star 🌟!

Project details


Download files

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

Source Distribution

py_browser_automation-0.2.9.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

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

py_browser_automation-0.2.9-py3-none-any.whl (78.7 kB view details)

Uploaded Python 3

File details

Details for the file py_browser_automation-0.2.9.tar.gz.

File metadata

  • Download URL: py_browser_automation-0.2.9.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for py_browser_automation-0.2.9.tar.gz
Algorithm Hash digest
SHA256 01005ff4a7cf283c2ff9ba6cd619038099c0f89fdf1e6a52b74b8f3cb8edb8b5
MD5 01fc13e4cf379299ba301e10aaf77a38
BLAKE2b-256 65f4088e01f167349762adb26de9cb7062f2d75bb3e54991154c2cda6193c925

See more details on using hashes here.

File details

Details for the file py_browser_automation-0.2.9-py3-none-any.whl.

File metadata

File hashes

Hashes for py_browser_automation-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e7833fbd9188335d89459541503a293830dab55ec75a02829645988a743c9c04
MD5 7ed109222f1fed5a86f0dc8f6c84fd95
BLAKE2b-256 715438ca70f89dd894e0ea9784b0da589d6c819d9693441fa90d86617ca5d390

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page