Unofficial Python client for Google AI Search with multi-tab chat support
Project description
Google AI Search - Python Client
Unofficial Python client for Google AI Search with support for multiple independent chat sessions using browser automation.
Features
✨ Key Features:
- 🤖 Interact with Google AI Search using Python
- 💬 Create multiple independent chat sessions
- 🖼️ Send images along with text messages
- 🌐 Browser-based automation with Playwright
Installation
From PyPI (Recommended)
pip install google-ai-search-chat
From GitHub (Latest Development Version)
pip install git+https://github.com/yourusername/google-ai-search-chat.git
From Source
git clone https://github.com/yourusername/google-ai-search-chat.git
cd google-ai-search-chat
pip install -e .
Browser Driver Setup
The library uses Playwright for browser automation. Install required browsers:
playwright install chromium
Quick Start
Basic Usage
from google_ai_search_chat import GoogleAISession
# Create a session
session = GoogleAISession(user_data_dir=r"C:\chrome-profile", headless=False)
# Create a new chat
chat = session.new_chat()
# Send a message and get response
response = chat.send_message("Hello, what's the weather like?")
print(response)
# Create another independent chat in a new tab
chat2 = session.new_chat()
response2 = chat2.send_message("What is Python?")
print(response2)
# Cleanup
session.close()
Sending Images
from google_ai_search_chat import GoogleAISession
session = GoogleAISession(user_data_dir=r"C:\chrome-profile")
chat = session.new_chat()
# Send image with message
with open("image.jpg", "rb") as f:
response = chat.send_message("What's in this image?", f.read())
print(response)
session.close()
Headless Mode
# Headless mode (no browser window shown)
session = GoogleAISession(user_data_dir=r"C:\chrome-profile", headless=True)
chat = session.new_chat()
response = chat.send_message("Test message")
session.close()
API Reference
GoogleAISession
Main class for managing browser sessions and multiple chats.
GoogleAISession(user_data_dir: str = r"C:\chrome-profile", headless: bool = True)
Parameters:
user_data_dir(str): Path to Chrome profile directory for cookie persistenceheadless(bool): Run browser in headless mode (default: True)
Methods:
new_chat() -> ChatGoogleAI: Create a new independent chat sessionclose_all_chats() -> None: Close all open chatsclose() -> None: Close all chats and the browser session
ChatGoogleAI
Represents a single chat session.
Methods:
send_message(message: str, photo: bytes | None = None) -> str: Send a message (with optional image)close() -> None: Close the chat
Requirements
- Python 3.12+
- Chromium browser (installed via Playwright)
- At least 500MB disk space for browser installation
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file google_ai_search_chat-0.1.8.tar.gz.
File metadata
- Download URL: google_ai_search_chat-0.1.8.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
354040995e963a102bd0bdf9b2a0aba9ee621d13829d200e1fe01ff1c64393a5
|
|
| MD5 |
8bdbe37abd27d0c6175ab8414a541feb
|
|
| BLAKE2b-256 |
53270cd10b453e18c5d209fc0ce41e55b3cdd86381ed4ee6fec72bc5541c374f
|
File details
Details for the file google_ai_search_chat-0.1.8-py3-none-any.whl.
File metadata
- Download URL: google_ai_search_chat-0.1.8-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8de805013489d9e947c73f2d9e7bdaee13c76fb207175e4f6dccd4f4104249c5
|
|
| MD5 |
55e728e2b4849c050a860dc574678cf7
|
|
| BLAKE2b-256 |
86f30373457d5e67fe15f0bf2b2051c9718b77612c2841b6c30b05d1d5f03815
|