# 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"
}