searchlite


Namesearchlite JSON
Version 0.7.9 PyPI version JSON
download
home_pagehttps://github.com/santhosh/
Summaryfree google results
upload_time2024-12-20 08:43:48
maintainerNone
docs_urlNone
authorKammari Santhosh
requires_python<4.0,>=3.10
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SearchLite ๐Ÿ”

A lightning-fast, asynchronous real-time Google Search API wrapper with built-in optimization for batch queries.
selenium + chromedriver for endless google search results

[![PyPI version](https://img.shields.io/badge/pypi-v1.0.0-blue.svg)](https://pypi.org/project/searchlite/)
[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Features โœจ

- ๐Ÿš€ Real-time Google search results
- ๐Ÿ”„ Asynchronous batch searching
- ๐ŸŽฏ Optimized for multiple queries
- ๐Ÿงน Automatic duplicate removal
- ๐ŸŽจ Optional progress animation
- ๐Ÿ”ง Configurable worker pool

## Installation ๐Ÿ“ฆ

```bash
pip install searchlite
```

## Quick Start ๐Ÿš€

### Basic Search

```python
from searchlite import RealTimeGoogleSearchProvider

# Initialize the search provider
searcher = RealTimeGoogleSearchProvider()

# Single query search
results = searcher.search("Python programming", max_urls=5)
print(results)
```

### Batch Search

```python
# Multiple queries at once
queries = [
    "machine learning basics",
    "data science projects",
    "python best practices"
]

# Batch search with async execution
results = searcher.search_batch(queries, max_urls=10)
print(results)
```

## Advanced Usage ๐Ÿ”ง

### Custom Configuration

```python
searcher = RealTimeGoogleSearchProvider(
    search_provider="google",  # Search engine to use
    chromedriver_path="/custom/path/chromedriver",  # Custom ChromeDriver path
    max_workers=4,  # Number of concurrent workers
    animation=True  # Enable progress animation
)
```

### Async Implementation

```python
import asyncio

async def main():
    searcher = RealTimeGoogleSearchProvider()
    queries = ["AI news", "Python updates", "Tech trends"]
    
    # Using the internal async method
    results = await searcher._async_batch_search(queries, max_urls=5)
    return results

# Run async function
results = asyncio.run(main())
```

## Features Explained ๐Ÿ“š

### URL Processing
- Automatic hash fragment removal
- Duplicate URL filtering
- Configurable result limit
- Maintains original URL order

### Batch Processing
- Concurrent execution
- Memory efficient
- Automatic error handling
- Result aggregation

## Requirements ๐Ÿ› ๏ธ

- Python 3.7+
- ChromeDriver
- Required Python packages:
  - `selenium`
  - `asyncio`
  - `typing`

## Contributing ๐Ÿค

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## License ๐Ÿ“„

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments ๐Ÿ™

- Inspired by the need for efficient real-time search capabilities
- Built with โค๏ธ for the Python community
- Special thanks to all contributors

## Support ๐Ÿ’ฌ

For support, please open an issue in the GitHub repository or contact the maintainers.

---

Made with โค๏ธ 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/santhosh/",
    "name": "searchlite",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Kammari Santhosh",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/0a/0f/4dccd2cfbe9009dd5783841fb4d0a3204137ebf494ae9f9761bb28cccb87/searchlite-0.7.9.tar.gz",
    "platform": null,
    "description": "# SearchLite \ud83d\udd0d\n\nA lightning-fast, asynchronous real-time Google Search API wrapper with built-in optimization for batch queries.\nselenium + chromedriver for endless google search results\n\n[![PyPI version](https://img.shields.io/badge/pypi-v1.0.0-blue.svg)](https://pypi.org/project/searchlite/)\n[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Features \u2728\n\n- \ud83d\ude80 Real-time Google search results\n- \ud83d\udd04 Asynchronous batch searching\n- \ud83c\udfaf Optimized for multiple queries\n- \ud83e\uddf9 Automatic duplicate removal\n- \ud83c\udfa8 Optional progress animation\n- \ud83d\udd27 Configurable worker pool\n\n## Installation \ud83d\udce6\n\n```bash\npip install searchlite\n```\n\n## Quick Start \ud83d\ude80\n\n### Basic Search\n\n```python\nfrom searchlite import RealTimeGoogleSearchProvider\n\n# Initialize the search provider\nsearcher = RealTimeGoogleSearchProvider()\n\n# Single query search\nresults = searcher.search(\"Python programming\", max_urls=5)\nprint(results)\n```\n\n### Batch Search\n\n```python\n# Multiple queries at once\nqueries = [\n    \"machine learning basics\",\n    \"data science projects\",\n    \"python best practices\"\n]\n\n# Batch search with async execution\nresults = searcher.search_batch(queries, max_urls=10)\nprint(results)\n```\n\n## Advanced Usage \ud83d\udd27\n\n### Custom Configuration\n\n```python\nsearcher = RealTimeGoogleSearchProvider(\n    search_provider=\"google\",  # Search engine to use\n    chromedriver_path=\"/custom/path/chromedriver\",  # Custom ChromeDriver path\n    max_workers=4,  # Number of concurrent workers\n    animation=True  # Enable progress animation\n)\n```\n\n### Async Implementation\n\n```python\nimport asyncio\n\nasync def main():\n    searcher = RealTimeGoogleSearchProvider()\n    queries = [\"AI news\", \"Python updates\", \"Tech trends\"]\n    \n    # Using the internal async method\n    results = await searcher._async_batch_search(queries, max_urls=5)\n    return results\n\n# Run async function\nresults = asyncio.run(main())\n```\n\n## Features Explained \ud83d\udcda\n\n### URL Processing\n- Automatic hash fragment removal\n- Duplicate URL filtering\n- Configurable result limit\n- Maintains original URL order\n\n### Batch Processing\n- Concurrent execution\n- Memory efficient\n- Automatic error handling\n- Result aggregation\n\n## Requirements \ud83d\udee0\ufe0f\n\n- Python 3.7+\n- ChromeDriver\n- Required Python packages:\n  - `selenium`\n  - `asyncio`\n  - `typing`\n\n## Contributing \ud83e\udd1d\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License \ud83d\udcc4\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments \ud83d\ude4f\n\n- Inspired by the need for efficient real-time search capabilities\n- Built with \u2764\ufe0f for the Python community\n- Special thanks to all contributors\n\n## Support \ud83d\udcac\n\nFor support, please open an issue in the GitHub repository or contact the maintainers.\n\n---\n\nMade with \u2764\ufe0f \n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "free google results",
    "version": "0.7.9",
    "project_urls": {
        "Homepage": "https://github.com/santhosh/",
        "Repository": "https://github.com/santhosh/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e3bfaa75494a2a44eaa9be32b9c9a14c99fb380fa5efeaa73c859736bb440487",
                "md5": "2de6be0414567a8195f4b82373c8a9ec",
                "sha256": "6c74bfa0ec76545d986e8779eb5b0d53711bbd0fb406e1432b6be5ab565e56ef"
            },
            "downloads": -1,
            "filename": "searchlite-0.7.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2de6be0414567a8195f4b82373c8a9ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 7709,
            "upload_time": "2024-12-20T08:43:45",
            "upload_time_iso_8601": "2024-12-20T08:43:45.179077Z",
            "url": "https://files.pythonhosted.org/packages/e3/bf/aa75494a2a44eaa9be32b9c9a14c99fb380fa5efeaa73c859736bb440487/searchlite-0.7.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0a0f4dccd2cfbe9009dd5783841fb4d0a3204137ebf494ae9f9761bb28cccb87",
                "md5": "2e7a405f368672769b56dfe9174f3fb6",
                "sha256": "dde7ac7bc2d4e4e5c4b5269e6918e291cf459a0d8a5e53e434fd456ca5261d76"
            },
            "downloads": -1,
            "filename": "searchlite-0.7.9.tar.gz",
            "has_sig": false,
            "md5_digest": "2e7a405f368672769b56dfe9174f3fb6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 6331,
            "upload_time": "2024-12-20T08:43:48",
            "upload_time_iso_8601": "2024-12-20T08:43:48.526689Z",
            "url": "https://files.pythonhosted.org/packages/0a/0f/4dccd2cfbe9009dd5783841fb4d0a3204137ebf494ae9f9761bb28cccb87/searchlite-0.7.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-20 08:43:48",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "searchlite"
}
        
Elapsed time: 1.30530s