{"id":20919557,"url":"https://github.com/OEvortex/Webscout","last_synced_at":"2025-05-13T12:31:46.630Z","repository":{"id":224666332,"uuid":"763886910","full_name":"OEvortex/Webscout","owner":"OEvortex","description":"Webscout is the all-in-one search and AI toolkit you need. Discover insights with Yep.com, DuckDuckGo, and Phind; access cutting-edge AI models; transcribe YouTube videos; generate temporary emails and phone numbers; perform text-to-speech conversions; and much more!","archived":false,"fork":false,"pushed_at":"2025-05-10T06:31:05.000Z","size":9030,"stargazers_count":225,"open_issues_count":3,"forks_count":41,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-10T07:29:49.411Z","etag":null,"topics":["ai","chatgpt-free","deepseek-r1","free","freeai","freegpt4","gguf","llamacpp","ml","openai","openinterpreter","python","tempnumber","text-generation","websearch","youtube","youtube-api"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/webscout/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OEvortex.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"oevortex","thanks_dev":null,"custom":null}},"created_at":"2024-02-27T05:02:20.000Z","updated_at":"2025-05-10T06:31:08.000Z","dependencies_parsed_at":"2024-02-27T06:25:55.486Z","dependency_job_id":"521a0f45-7ef7-4039-b463-08233a8b7f60","html_url":"https://github.com/OEvortex/Webscout","commit_stats":{"total_commits":245,"total_committers":7,"mean_commits":35.0,"dds":0.4938775510204082,"last_synced_commit":"bf3b1fc0cc22ddf697e5edd59ef53c0a08dbfd01"},"previous_names":["oe-lucifer/webscout","helpingai/webscout","oevortex/webscout"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OEvortex%2FWebscout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OEvortex%2FWebscout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OEvortex%2FWebscout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OEvortex%2FWebscout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OEvortex","download_url":"https://codeload.github.com/OEvortex/Webscout/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253942387,"owners_count":21988037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt-free","deepseek-r1","free","freeai","freegpt4","gguf","llamacpp","ml","openai","openinterpreter","python","tempnumber","text-generation","websearch","youtube","youtube-api"],"created_at":"2024-11-18T17:02:46.412Z","updated_at":"2025-05-13T12:31:46.616Z","avatar_url":"https://github.com/OEvortex.png","language":"Python","funding_links":["https://buymeacoffee.com/oevortex"],"categories":["Python","🏆 API Tiers Overview"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/OEvortex/Webscout\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge\u0026logo=python\u0026logoColor=white\" alt=\"WebScout Logo\"\u003e\n  \u003c/a\u003e\n\n  \u003ch1\u003eWebscout\u003c/h1\u003e\n\n  \u003cp\u003e\u003cstrong\u003eYour All-in-One Python Toolkit for Web Search, AI Interaction, Digital Utilities, and More\u003c/strong\u003e\u003c/p\u003e\n\n  \u003cp\u003e\n    Access diverse search engines, cutting-edge AI models, temporary communication tools, media utilities, developer helpers, and powerful CLI interfaces – all through one unified library.\n  \u003c/p\u003e\n\n  \u003c!-- Badges --\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://pypi.org/project/webscout/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/webscout.svg?style=flat-square\u0026logo=pypi\u0026label=PyPI\" alt=\"PyPI Version\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://pepy.tech/project/webscout\"\u003e\u003cimg src=\"https://static.pepy.tech/badge/webscout/month?style=flat-square\" alt=\"Monthly Downloads\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://pepy.tech/project/webscout\"\u003e\u003cimg src=\"https://static.pepy.tech/badge/webscout?style=flat-square\" alt=\"Total Downloads\"\u003e\u003c/a\u003e\n    \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/webscout?style=flat-square\u0026logo=python\" alt=\"Python Version\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://deepwiki.com/OEvortex/Webscout\"\u003e\u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003chr/\u003e\n\n## 📋 Table of Contents\n\n- [🌟 Key Features](#-features)\n- [⚙️ Installation](#️-installation)\n- [🖥️ Command Line Interface](#️-command-line-interface)\n- [🔍 Search Engines](#-search-engines)\n- [🦆 DuckDuckGo Search](#-duckduckgo-search-with-webs-and-asyncwebs)\n- [💻 WEBS API Reference](#-webs-api-reference)\n- [🤖 AI Models and Voices](#-ai-models-and-voices)\n- [💬 AI Chat Providers](#-ai-chat-providers)\n- [👨‍💻 Advanced AI Interfaces](#-advanced-ai-interfaces)\n- [🤝 Contributing](#-contributing)\n- [🙏 Acknowledgments](#-acknowledgments)\n\n\u003chr/\u003e\n\n\u003e [!IMPORTANT]\n\u003e **Webscout supports three types of compatibility:**\n\u003e - **Native Compatibility:** Webscout's own native API for maximum flexibility\n\u003e - **OpenAI Compatibility:** Use providers with OpenAI-compatible interfaces\n\u003e - **Local LLM Compatibility:** Run local models with [Inferno](https://github.com/HelpingAI/inferno), an OpenAI-compatible server (now a standalone package)\n\u003e\n\u003e Choose the approach that best fits your needs! For OpenAI compatibility, check the [OpenAI Providers README](webscout/Provider/OPENAI/README.md).\n\n\u003e [!NOTE]\n\u003e Webscout supports over 90 AI providers including: LLAMA, C4ai, Venice, Copilot, HuggingFaceChat, PerplexityLabs, DeepSeek, WiseCat, GROQ, OPENAI, GEMINI, DeepInfra, Meta, YEPCHAT, TypeGPT, ChatGPTClone, ExaAI, Claude, Anthropic, Cloudflare, AI21, Cerebras, and many more. All providers follow similar usage patterns with consistent interfaces.\n\n\u003cdiv align=\"center\"\u003e\n  \u003c!-- Social/Support Links --\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://t.me/PyscoutAI\"\u003e\u003cimg alt=\"Telegram Group\" src=\"https://img.shields.io/badge/Telegram%20Group-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://t.me/ANONYMOUS_56788\"\u003e\u003cimg alt=\"Developer Telegram\" src=\"https://img.shields.io/badge/Developer%20Contact-2CA5E0?style=for-the-badge\u0026logo=telegram\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://youtube.com/@OEvortex\"\u003e\u003cimg alt=\"YouTube\" src=\"https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge\u0026logo=youtube\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.linkedin.com/in/oe-vortex-29a407265/\"\u003e\u003cimg alt=\"LinkedIn\" src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.instagram.com/oevortex/\"\u003e\u003cimg alt=\"Instagram\" src=\"https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge\u0026logo=instagram\u0026logoColor=white\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://buymeacoffee.com/oevortex\"\u003e\u003cimg alt=\"Buy Me A Coffee\" src=\"https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge\u0026logo=buymeacoffee\u0026logoColor=black\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003chr/\u003e\n\n## 🚀 Features\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eSearch \u0026 AI\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n* **Comprehensive Search:** Leverage Google, DuckDuckGo, and Yep for diverse search results\n* **AI Powerhouse:** Access and interact with various AI models through three compatibility options:\n  * **Native API:** Use Webscout's native interfaces for providers like OpenAI, Cohere, Gemini, and many more\n  * **[OpenAI-Compatible Providers](webscout/Provider/OPENAI/README.md):** Seamlessly integrate with various AI providers using standardized OpenAI-compatible interfaces\n  * **[Local LLMs with Inferno](https://github.com/HelpingAI/inferno):** Run local models with an OpenAI-compatible server (now available as a standalone package)\n* **[AI Search](webscout/Provider/AISEARCH/README.md):** AI-powered search engines with advanced capabilities\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eMedia \u0026 Content Tools\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n* **[YouTube Toolkit](webscout/Extra/YTToolkit/README.md):** Advanced YouTube video and transcript management with multi-language support\n* **[Text-to-Speech (TTS)](webscout/Provider/TTS/README.md):** Convert text into natural-sounding speech using multiple AI-powered providers\n* **[Text-to-Image](webscout/Provider/TTI/README.md):** Generate high-quality images using a wide range of AI art providers\n* **[Weather Tools](webscout/Extra/weather.md):** Retrieve detailed weather information for any location\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eDeveloper Tools\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n* **[GitAPI](webscout/Extra/GitToolkit/gitapi):** Powerful GitHub data extraction toolkit without authentication requirements for public data\n* **[SwiftCLI](webscout/swiftcli/Readme.md):** A powerful and elegant CLI framework for beautiful command-line interfaces\n* **[LitPrinter](webscout/litprinter/Readme.md):** Styled console output with rich formatting and colors\n* **[LitLogger](webscout/litlogger/Readme.md):** Simplified logging with customizable formats and color schemes\n* **[LitAgent](webscout/litagent/Readme.md):** Modern user agent generator that keeps your requests undetectable\n* **[Scout](webscout/scout/README.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing\n* **[Inferno](https://github.com/HelpingAI/inferno):** Run local LLMs with an OpenAI-compatible API and interactive CLI (now a standalone package: `pip install inferno-llm`)\n* **[GGUF Conversion](webscout/Extra/gguf.md):** Convert and quantize Hugging Face models to GGUF format\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003ePrivacy \u0026 Utilities\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n* **[Tempmail](webscout/Extra/tempmail/README.md) \u0026 Temp Number:** Generate temporary email addresses and phone numbers\n* **[Awesome Prompts](webscout/Extra/Act.md):** Curated collection of system prompts for specialized AI personas\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003chr/\u003e\n\n## ⚙️ Installation\n\nInstall Webscout using pip:\n\n```bash\npip install -U webscout\n```\n\u003c/div\u003e\n\n\u003chr/\u003e\n\n## 🖥️ Command Line Interface\n\nWebscout provides a powerful command-line interface for quick access to its features:\n\n```bash\npython -m webscout --help\n```\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eWeb Search Commands\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n| Command | Description |\n|---------|-------------|\n| `python -m webscout answers -k \"query\"` | Perform an answers search |\n| `python -m webscout images -k \"query\"` | Search for images |\n| `python -m webscout maps -k \"query\"` | Perform a maps search |\n| `python -m webscout news -k \"query\"` | Search for news articles |\n| `python -m webscout suggestions -k \"query\"` | Get search suggestions |\n| `python -m webscout text -k \"query\"` | Perform a text search |\n| `python -m webscout translate -k \"text\"` | Translate text |\n| `python -m webscout version` | Display the current version |\n| `python -m webscout videos -k \"query\"` | Search for videos |\n| `python -m webscout weather -l \"location\"` | Get weather information |\n| `python -m webscout google_text -k \"query\"` | Perform a text search using Google |\n| `python -m webscout google_news -k \"query\"` | Search for news using Google |\n| `python -m webscout google_suggestions -q \"query\"` | Get search suggestions from Google |\n| `python -m webscout yep_text -k \"query\"` | Perform a text search using Yep |\n| `python -m webscout yep_images -k \"query\"` | Search for images using Yep |\n| `python -m webscout yep_suggestions -q \"query\"` | Get search suggestions from Yep |\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eInferno LLM Commands\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\nInferno is now a standalone package. Install it separately with:\n\n```bash\npip install inferno-llm\n```\n\nAfter installation, you can use its CLI for managing and using local LLMs:\n\n```bash\ninferno --help\n```\n\n| Command | Description |\n|---------|-------------|\n| `inferno pull \u003cmodel\u003e` | Download a model from Hugging Face |\n| `inferno list` | List downloaded models |\n| `inferno serve \u003cmodel\u003e` | Start a model server with OpenAI-compatible API |\n| `inferno run \u003cmodel\u003e` | Chat with a model interactively |\n| `inferno remove \u003cmodel\u003e` | Remove a downloaded model |\n| `inferno version` | Show version information |\n\nFor more information, visit the [Inferno GitHub repository](https://github.com/HelpingAI/inferno) or [PyPI package page](https://pypi.org/project/inferno-llm/).\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003e [!NOTE]\n\u003e **Hardware requirements for running models with Inferno:**\n\u003e - Around 2 GB of RAM for 1B models\n\u003e - Around 4 GB of RAM for 3B models\n\u003e - At least 8 GB of RAM for 7B models\n\u003e - 16 GB of RAM for 13B models\n\u003e - 32 GB of RAM for 33B models\n\u003e - GPU acceleration is recommended for better performance\n\n\u003chr/\u003e\n\n## 🔍 Search Engines\n\nWebscout provides multiple search engine interfaces for diverse search capabilities.\n\n### YepSearch - Yep.com Interface\n\n```python\nfrom webscout import YepSearch\n\n# Initialize YepSearch\nyep = YepSearch(\n    timeout=20,  # Optional: Set custom timeout\n    proxies=None,  # Optional: Use proxies\n    verify=True   # Optional: SSL verification\n)\n\n# Text Search\ntext_results = yep.text(\n    keywords=\"artificial intelligence\",\n    region=\"all\",           # Optional: Region for results\n    safesearch=\"moderate\",  # Optional: \"on\", \"moderate\", \"off\"\n    max_results=10          # Optional: Limit number of results\n)\n\n# Image Search\nimage_results = yep.images(\n    keywords=\"nature photography\",\n    region=\"all\",\n    safesearch=\"moderate\",\n    max_results=10\n)\n\n# Get search suggestions\nsuggestions = yep.suggestions(\"hist\")\n```\n\n### GoogleSearch - Google Interface\n\n```python\nfrom webscout import GoogleSearch\n\n# Initialize GoogleSearch\ngoogle = GoogleSearch(\n    timeout=10,  # Optional: Set custom timeout\n    proxies=None,  # Optional: Use proxies\n    verify=True   # Optional: SSL verification\n)\n\n# Text Search\ntext_results = google.text(\n    keywords=\"artificial intelligence\",\n    region=\"us\",           # Optional: Region for results\n    safesearch=\"moderate\",  # Optional: \"on\", \"moderate\", \"off\"\n    max_results=10          # Optional: Limit number of results\n)\nfor result in text_results:\n    print(f\"Title: {result.title}\")\n    print(f\"URL: {result.url}\")\n    print(f\"Description: {result.description}\")\n\n# News Search\nnews_results = google.news(\n    keywords=\"technology trends\",\n    region=\"us\",\n    safesearch=\"moderate\",\n    max_results=5\n)\n\n# Get search suggestions\nsuggestions = google.suggestions(\"how to\")\n\n# Legacy usage is still supported\nfrom webscout import search\nresults = search(\"Python programming\", num_results=5)\n```\n\n\u003chr/\u003e\n\n## 🦆 DuckDuckGo Search with WEBS and AsyncWEBS\n\nWebscout provides powerful interfaces to DuckDuckGo's search capabilities through the `WEBS` and `AsyncWEBS` classes.\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eSynchronous Usage with WEBS\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nfrom webscout import WEBS\n\n# Use as a context manager for proper resource management\nwith WEBS() as webs:\n    # Simple text search\n    results = webs.text(\"python programming\", max_results=5)\n    for result in results:\n        print(f\"Title: {result['title']}\\nURL: {result['url']}\")\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eAsynchronous Usage with AsyncWEBS\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nimport asyncio\nfrom webscout import AsyncWEBS\n\nasync def search_multiple_terms(search_terms):\n    async with AsyncWEBS() as webs:\n        # Create tasks for each search term\n        tasks = [webs.text(term, max_results=5) for term in search_terms]\n        # Run all searches concurrently\n        results = await asyncio.gather(*tasks)\n        return results\n\nasync def main():\n    terms = [\"python\", \"javascript\", \"machine learning\"]\n    all_results = await search_multiple_terms(terms)\n\n    # Process results\n    for i, term_results in enumerate(all_results):\n        print(f\"Results for '{terms[i]}':\\n\")\n        for result in term_results:\n            print(f\"- {result['title']}\")\n        print(\"\\n\")\n\n# Run the async function\nasyncio.run(main())\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003e [!TIP]\n\u003e Always use these classes with a context manager (`with` statement) to ensure proper resource management and cleanup.\n\n\u003chr/\u003e\n\n## 💻 WEBS API Reference\n\nThe WEBS class provides comprehensive access to DuckDuckGo's search capabilities through a clean, intuitive API.\n\n### Available Search Methods\n\n| Method | Description | Example |\n|--------|-------------|--------|\n| `text()` | General web search | `webs.text('python programming')` |\n| `answers()` | Instant answers | `webs.answers('population of france')` |\n| `images()` | Image search | `webs.images('nature photography')` |\n| `videos()` | Video search | `webs.videos('documentary')` |\n| `news()` | News articles | `webs.news('technology')` |\n| `maps()` | Location search | `webs.maps('restaurants', place='new york')` |\n| `translate()` | Text translation | `webs.translate('hello', to='es')` |\n| `suggestions()` | Search suggestions | `webs.suggestions('how to')` |\n| `weather()` | Weather information | `webs.weather('london')` |\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExample: Text Search\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nfrom webscout import WEBS\n\nwith WEBS() as webs:\n    results = webs.text(\n        'artificial intelligence',\n        region='wt-wt',        # Optional: Region for results\n        safesearch='off',      # Optional: 'on', 'moderate', 'off'\n        timelimit='y',         # Optional: Time limit ('d'=day, 'w'=week, 'm'=month, 'y'=year)\n        max_results=10         # Optional: Limit number of results\n    )\n\n    for result in results:\n        print(f\"Title: {result['title']}\")\n        print(f\"URL: {result['url']}\")\n        print(f\"Description: {result['body']}\\n\")\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExample: News Search with Formatting\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nfrom webscout import WEBS\nimport datetime\n\ndef fetch_formatted_news(keywords, timelimit='d', max_results=20):\n    \"\"\"Fetch and format news articles\"\"\"\n    with WEBS() as webs:\n        # Get news results\n        news_results = webs.news(\n            keywords,\n            region=\"wt-wt\",\n            safesearch=\"off\",\n            timelimit=timelimit,  # 'd'=day, 'w'=week, 'm'=month\n            max_results=max_results\n        )\n\n        # Format the results\n        formatted_news = []\n        for i, item in enumerate(news_results, 1):\n            # Format the date\n            date = datetime.datetime.fromisoformat(item['date']).strftime('%B %d, %Y')\n\n            # Create formatted entry\n            entry = f\"{i}. {item['title']}\\n\"\n            entry += f\"   Published: {date}\\n\"\n            entry += f\"   {item['body']}\\n\"\n            entry += f\"   URL: {item['url']}\\n\"\n\n            formatted_news.append(entry)\n\n        return formatted_news\n\n# Example usage\nnews = fetch_formatted_news('artificial intelligence', timelimit='w', max_results=5)\nprint('\\n'.join(news))\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExample: Weather Information\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nfrom webscout import WEBS\n\nwith WEBS() as webs:\n    # Get weather for a location\n    weather = webs.weather(\"New York\")\n\n    # Access weather data\n    if weather:\n        print(f\"Location: {weather.get('location', 'Unknown')}\")\n        print(f\"Temperature: {weather.get('temperature', 'N/A')}\")\n        print(f\"Conditions: {weather.get('condition', 'N/A')}\")\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003chr/\u003e\n\n## 🤖 AI Models and Voices\n\nWebscout provides easy access to a wide range of AI models and voice options.\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eLLM Models\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\nAccess and manage Large Language Models with Webscout's model utilities.\n\n```python\nfrom webscout import model\nfrom rich import print\n\n# List all available LLM models\nall_models = model.llm.list()\nprint(f\"Total available models: {len(all_models)}\")\n\n# Get a summary of models by provider\nsummary = model.llm.summary()\nprint(\"Models by provider:\")\nfor provider, count in summary.items():\n    print(f\"  {provider}: {count} models\")\n\n# Get models for a specific provider\nprovider_name = \"PerplexityLabs\"\navailable_models = model.llm.get(provider_name)\nprint(f\"\\n{provider_name} models:\")\nif isinstance(available_models, list):\n    for i, model_name in enumerate(available_models, 1):\n        print(f\"  {i}. {model_name}\")\nelse:\n    print(f\"  {available_models}\")\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eTTS Voices\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\nAccess and manage Text-to-Speech voices across multiple providers.\n\n```python\nfrom webscout import model\nfrom rich import print\n\n# List all available TTS voices\nall_voices = model.tts.list()\nprint(f\"Total available voices: {len(all_voices)}\")\n\n# Get a summary of voices by provider\nsummary = model.tts.summary()\nprint(\"\\nVoices by provider:\")\nfor provider, count in summary.items():\n    print(f\"  {provider}: {count} voices\")\n\n# Get voices for a specific provider\nprovider_name = \"ElevenlabsTTS\"\navailable_voices = model.tts.get(provider_name)\nprint(f\"\\n{provider_name} voices:\")\nif isinstance(available_voices, dict):\n    for voice_name, voice_id in list(available_voices.items())[:5]:  # Show first 5 voices\n        print(f\"  - {voice_name}: {voice_id}\")\n    if len(available_voices) \u003e 5:\n        print(f\"  ... and {len(available_voices) - 5} more\")\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003chr/\u003e\n\n## 💬 AI Chat Providers\n\nWebscout offers a comprehensive collection of AI chat providers, giving you access to various language models through a consistent interface.\n\n### Popular AI Providers\n\n\u003cdiv class=\"provider-table\"\u003e\n\n| Provider | Description | Key Features |\n|----------|-------------|-------------|\n| `OPENAI` | OpenAI's models | GPT-3.5, GPT-4, tool calling |\n| `GEMINI` | Google's Gemini models | Web search capabilities |\n| `Meta` | Meta's AI assistant | Image generation, web search |\n| `GROQ` | Fast inference platform | High-speed inference, tool calling |\n| `LLAMA` | Meta's Llama models | Open weights models |\n| `DeepInfra` | Various open models | Multiple model options |\n| `Cohere` | Cohere's language models | Command models |\n| `PerplexityLabs` | Perplexity AI | Web search integration |\n| `YEPCHAT` | Yep.com's AI | Streaming responses |\n| `ChatGPTClone` | ChatGPT-like interface | Multiple model options |\n| `TypeGPT` | TypeChat models | Multiple model options |\n\n\u003c/div\u003e\n\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExample: Using Meta AI\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nfrom webscout import Meta\n\n# For basic usage (no authentication required)\nmeta_ai = Meta()\n\n# Simple text prompt\nresponse = meta_ai.chat(\"What is the capital of France?\")\nprint(response)\n\n# For authenticated usage with web search and image generation\nmeta_ai = Meta(fb_email=\"your_email@example.com\", fb_password=\"your_password\")\n\n# Text prompt with web search\nresponse = meta_ai.ask(\"What are the latest developments in quantum computing?\")\nprint(response[\"message\"])\nprint(\"Sources:\", response[\"sources\"])\n\n# Image generation\nresponse = meta_ai.ask(\"Create an image of a futuristic city\")\nfor media in response.get(\"media\", []):\n    print(media[\"url\"])\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExample: GROQ with Tool Calling\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\n```python\nfrom webscout import GROQ, WEBS\nimport json\n\n# Initialize GROQ client\nclient = GROQ(api_key=\"your_api_key\")\n\n# Define helper functions\ndef calculate(expression):\n    \"\"\"Evaluate a mathematical expression\"\"\"\n    try:\n        result = eval(expression)\n        return json.dumps({\"result\": result})\n    except Exception as e:\n        return json.dumps({\"error\": str(e)})\n\ndef search(query):\n    \"\"\"Perform a web search\"\"\"\n    try:\n        results = WEBS().text(query, max_results=3)\n        return json.dumps({\"results\": results})\n    except Exception as e:\n        return json.dumps({\"error\": str(e)})\n\n# Register functions with GROQ\nclient.add_function(\"calculate\", calculate)\nclient.add_function(\"search\", search)\n\n# Define tool specifications\ntools = [\n    {\n        \"type\": \"function\",\n        \"function\": {\n            \"name\": \"calculate\",\n            \"description\": \"Evaluate a mathematical expression\",\n            \"parameters\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"expression\": {\n                        \"type\": \"string\",\n                        \"description\": \"The mathematical expression to evaluate\"\n                    }\n                },\n                \"required\": [\"expression\"]\n            }\n        }\n    },\n    {\n        \"type\": \"function\",\n        \"function\": {\n            \"name\": \"search\",\n            \"description\": \"Perform a web search\",\n            \"parameters\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"query\": {\n                        \"type\": \"string\",\n                        \"description\": \"The search query\"\n                    }\n                },\n                \"required\": [\"query\"]\n            }\n        }\n    }\n]\n\n# Use the tools\nresponse = client.chat(\"What is 25 * 4 + 10?\", tools=tools)\nprint(response)\n\nresponse = client.chat(\"Find information about quantum computing\", tools=tools)\nprint(response)\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cb\u003eGGUF Model Conversion\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\n\nWebscout provides tools to convert and quantize Hugging Face models into the GGUF format for offline use.\n\n```python\nfrom webscout.Extra.gguf import ModelConverter\n\n# Create a converter instance\nconverter = ModelConverter(\n    model_id=\"mistralai/Mistral-7B-Instruct-v0.2\",  # Hugging Face model ID\n    quantization_methods=\"q4_k_m\"                  # Quantization method\n)\n\n# Run the conversion\nconverter.convert()\n```\n\n#### Available Quantization Methods\n\n| Method | Description |\n|--------|-------------|\n| `fp16` | 16-bit floating point - maximum accuracy, largest size |\n| `q2_k` | 2-bit quantization (smallest size, lowest accuracy) |\n| `q3_k_l` | 3-bit quantization (large) - balanced for size/accuracy |\n| `q3_k_m` | 3-bit quantization (medium) - good balance for most use cases |\n| `q3_k_s` | 3-bit quantization (small) - optimized for speed |\n| `q4_0` | 4-bit quantization (version 0) - standard 4-bit compression |\n| `q4_1` | 4-bit quantization (version 1) - improved accuracy over q4_0 |\n| `q4_k_m` | 4-bit quantization (medium) - balanced for most models |\n| `q4_k_s` | 4-bit quantization (small) - optimized for speed |\n| `q5_0` | 5-bit quantization (version 0) - high accuracy, larger size |\n| `q5_1` | 5-bit quantization (version 1) - improved accuracy over q5_0 |\n| `q5_k_m` | 5-bit quantization (medium) - best balance for quality/size |\n| `q5_k_s` | 5-bit quantization (small) - optimized for speed |\n| `q6_k` | 6-bit quantization - highest accuracy, largest size |\n| `q8_0` | 8-bit quantization - maximum accuracy, largest size |\n\n#### Command Line Usage\n\n```bash\npython -m webscout.Extra.gguf convert -m \"mistralai/Mistral-7B-Instruct-v0.2\" -q \"q4_k_m\"\n```\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://youtube.com/@OEvortex\"\u003e▶️ Vortex's YouTube Channel\u003c/a\u003e |\n    \u003ca href=\"https://t.me/ANONYMOUS_56788\"\u003e📢 Anonymous Coder's Telegram\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003chr/\u003e\n\n## 🤝 Contributing\n\nContributions are welcome! If you'd like to contribute to Webscout, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch for your feature or bug fix\n3. Make your changes and commit them with descriptive messages\n4. Push your branch to your forked repository\n5. Submit a pull request to the main repository\n\n## 🙏 Acknowledgments\n\n* All the amazing developers who have contributed to the project\n* The open-source community for their support and inspiration\n\n\u003chr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003eMade with ❤️ by the Webscout team\u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOEvortex%2FWebscout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOEvortex%2FWebscout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOEvortex%2FWebscout/lists"}