# Intuned Browser SDK (Python)
Intuned's Python SDK for browser automation and web data extraction, designed to work seamlessly with the Intuned platform.
## Installation
### Using Poetry (Recommended)
```bash
poetry add intuned-browser
```
### Using pip
```bash
pip install intuned-browser
```
## Features
The Intuned Browser SDK provides a comprehensive set of tools for browser automation and data extraction:
### 🤖 AI-Powered Extraction
- **Structured Data Extraction** - Extract structured data from web pages using AI
- **Schema Validation** - Validate extracted data against JSON schemas
- **Smart Page Loading Detection** - Determine when pages have fully loaded
### 🌐 Web Automation Helpers
- **Navigation** - Advanced URL navigation with `go_to_url()`
- **Content Loading** - Scroll to load dynamic content with `scroll_to_load_content()`
- **Network Monitoring** - Wait for network activity with `wait_for_network_settled()`
- **DOM Monitoring** - Wait for DOM changes with `wait_for_dom_settled()`
- **Click Automation** - Click elements until exhausted with `click_untill_exhausted()`
### 📄 Content Processing
- **HTML Sanitization** - Clean and sanitize HTML with `sanitize_html()`
- **Markdown Extraction** - Convert HTML to markdown with `extract_markdown()`
- **URL Resolution** - Resolve relative URLs with `resolve_url()`
- **Date Processing** - Parse and process dates with `process_date()`
### 📁 File Operations
- **File Downloads** - Download files with `download_file()`
- **S3 Integration** - Upload and save files to S3 with `upload_file_to_s3()` and `save_file_to_s3()`
### ✅ Data Validation
- **Schema Validation** - Validate data structures with `validate_data_using_schema()`
- **Empty Value Filtering** - Filter empty values with `filter_empty_values()`
## Quick Start
```python
from intuned_browser import (
extract_markdown,
sanitize_html,
go_to_url,
wait_for_network_settled,
validate_data_using_schema
)
# Example: Extract and process web content
async def extract_content(page):
# Navigate to URL
await go_to_url(page, "https://example.com")
# Wait for network to settle
await wait_for_network_settled(page)
# Get and sanitize HTML
html = await page.content()
clean_html = sanitize_html(html)
# Extract markdown
markdown = extract_markdown(clean_html)
return markdown
```
## AI-Powered Data Extraction
```python
from intuned_browser.ai import extract_structured_data
from intuned_browser.ai.types import JsonSchema
# Define your data schema
schema: JsonSchema = {
"type": "object",
"properties": {
"title": {"type": "string"},
"price": {"type": "number"},
"description": {"type": "string"}
},
"required": ["title", "price"]
}
# Extract structured data using AI
async def extract_product_data(page):
result = await extract_structured_data(
page=page,
schema=schema,
prompt="Extract product information from this page"
)
return result
```
## Documentation
For detailed documentation on all functions and types, see the [documentation](https://docs.intunedhq.com/docs-old/getting-started/introduction).
## Support
For support, questions, or contributions, please contact the Intuned team at engineering@intunedhq.com.
## About Intuned
Intuned provides powerful tools for browser automation, web scraping, and data extraction. Visit [intunedhq.com](https://intunedhq.com) to learn more.
Raw data
{
"_id": null,
"home_page": null,
"name": "intuned-browser",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "sdk, intuned",
"author": "Intuned Developers",
"author_email": "engineering@intunedhq.com",
"download_url": "https://files.pythonhosted.org/packages/b8/dd/8dbafae7a062db3cd1c1afa2059393f3e423111ea881a1455a212ee20d34/intuned_browser-0.1.3.tar.gz",
"platform": null,
"description": "# Intuned Browser SDK (Python)\n\nIntuned's Python SDK for browser automation and web data extraction, designed to work seamlessly with the Intuned platform.\n\n## Installation\n\n### Using Poetry (Recommended)\n\n```bash\npoetry add intuned-browser\n```\n\n### Using pip\n\n```bash\npip install intuned-browser\n```\n\n## Features\n\nThe Intuned Browser SDK provides a comprehensive set of tools for browser automation and data extraction:\n\n### \ud83e\udd16 AI-Powered Extraction\n\n- **Structured Data Extraction** - Extract structured data from web pages using AI\n- **Schema Validation** - Validate extracted data against JSON schemas\n- **Smart Page Loading Detection** - Determine when pages have fully loaded\n\n### \ud83c\udf10 Web Automation Helpers\n\n- **Navigation** - Advanced URL navigation with `go_to_url()`\n- **Content Loading** - Scroll to load dynamic content with `scroll_to_load_content()`\n- **Network Monitoring** - Wait for network activity with `wait_for_network_settled()`\n- **DOM Monitoring** - Wait for DOM changes with `wait_for_dom_settled()`\n- **Click Automation** - Click elements until exhausted with `click_untill_exhausted()`\n\n### \ud83d\udcc4 Content Processing\n\n- **HTML Sanitization** - Clean and sanitize HTML with `sanitize_html()`\n- **Markdown Extraction** - Convert HTML to markdown with `extract_markdown()`\n- **URL Resolution** - Resolve relative URLs with `resolve_url()`\n- **Date Processing** - Parse and process dates with `process_date()`\n\n### \ud83d\udcc1 File Operations\n\n- **File Downloads** - Download files with `download_file()`\n- **S3 Integration** - Upload and save files to S3 with `upload_file_to_s3()` and `save_file_to_s3()`\n\n### \u2705 Data Validation\n\n- **Schema Validation** - Validate data structures with `validate_data_using_schema()`\n- **Empty Value Filtering** - Filter empty values with `filter_empty_values()`\n\n## Quick Start\n\n```python\nfrom intuned_browser import (\n extract_markdown,\n sanitize_html,\n go_to_url,\n wait_for_network_settled,\n validate_data_using_schema\n)\n\n# Example: Extract and process web content\nasync def extract_content(page):\n # Navigate to URL\n await go_to_url(page, \"https://example.com\")\n\n # Wait for network to settle\n await wait_for_network_settled(page)\n\n # Get and sanitize HTML\n html = await page.content()\n clean_html = sanitize_html(html)\n\n # Extract markdown\n markdown = extract_markdown(clean_html)\n\n return markdown\n```\n\n## AI-Powered Data Extraction\n\n```python\nfrom intuned_browser.ai import extract_structured_data\nfrom intuned_browser.ai.types import JsonSchema\n\n# Define your data schema\nschema: JsonSchema = {\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\"type\": \"string\"},\n \"price\": {\"type\": \"number\"},\n \"description\": {\"type\": \"string\"}\n },\n \"required\": [\"title\", \"price\"]\n}\n\n# Extract structured data using AI\nasync def extract_product_data(page):\n result = await extract_structured_data(\n page=page,\n schema=schema,\n prompt=\"Extract product information from this page\"\n )\n return result\n```\n\n## Documentation\n\nFor detailed documentation on all functions and types, see the [documentation](https://docs.intunedhq.com/docs-old/getting-started/introduction).\n\n## Support\n\nFor support, questions, or contributions, please contact the Intuned team at engineering@intunedhq.com.\n\n## About Intuned\n\nIntuned provides powerful tools for browser automation, web scraping, and data extraction. Visit [intunedhq.com](https://intunedhq.com) to learn more.\n\n",
"bugtrack_url": null,
"license": "Elastic-2.0",
"summary": "Intuned Browser SDK",
"version": "0.1.3",
"project_urls": null,
"split_keywords": [
"sdk",
" intuned"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "af5481c3887cf0ed2dd2d8c617aa40a2b8659f056f208a6856abb5a3e03f786a",
"md5": "261c6a309edad05cccca7a3ac37d4809",
"sha256": "cdd89e169f36606d80166d0f7b37d63425154d4fe7df62f38ab53850879cc0e7"
},
"downloads": -1,
"filename": "intuned_browser-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "261c6a309edad05cccca7a3ac37d4809",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 126531,
"upload_time": "2025-10-21T11:21:38",
"upload_time_iso_8601": "2025-10-21T11:21:38.888177Z",
"url": "https://files.pythonhosted.org/packages/af/54/81c3887cf0ed2dd2d8c617aa40a2b8659f056f208a6856abb5a3e03f786a/intuned_browser-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8dd8dbafae7a062db3cd1c1afa2059393f3e423111ea881a1455a212ee20d34",
"md5": "0ab9802177097172c27cf3ffadff1aac",
"sha256": "7c34e79680583f7b6e9c844813a473dd5a25fcdb80dedbc610ca20fbc5d07750"
},
"downloads": -1,
"filename": "intuned_browser-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "0ab9802177097172c27cf3ffadff1aac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 96270,
"upload_time": "2025-10-21T11:21:40",
"upload_time_iso_8601": "2025-10-21T11:21:40.498468Z",
"url": "https://files.pythonhosted.org/packages/b8/dd/8dbafae7a062db3cd1c1afa2059393f3e423111ea881a1455a212ee20d34/intuned_browser-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-21 11:21:40",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "intuned-browser"
}