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
Features ✨
- 🚀 Real-time Google search results
- 🔄 Asynchronous batch searching
- 🎯 Optimized for multiple queries
- 🧹 Automatic duplicate removal
- 🎨 Optional progress animation
- 🔧 Configurable worker pool
Installation 📦
pip install searchlite
Quick Start 🚀
Basic Search
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
# 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
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
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:
seleniumasynciotyping
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License 📄
This project is licensed under the MIT License - see the 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 ❤️
Metadata
Release files for searchlite 0.8.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| searchlite-0.8.8.tar.gz | 9.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| searchlite-0.8.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.5 kB
Release files / searchlite-0.8.8.tar.gz
| Download URL | searchlite-0.8.8.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
04d1adc14360464a5d60e04aa95324673fc9e02dc9c97ebbae03dccb88323a2e
|
|
BLAKE2b-256 checksum How to use checksums |
31001c9a3a3c6f352a806defc662f7867ab5e5dc358d3af8f4e61cc839f7e870
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.11.0rc1 Linux/6.8.0-49-generic
|
Release files / searchlite-0.8.8-py3-none-any.whl
| Download URL | searchlite-0.8.8-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bca9dfdef4d21ab612e8961d86d06123abfe80b5e42c4fdbf367dc7e54e5b027
|
|
BLAKE2b-256 checksum How to use checksums |
99550e36881ac8fbf7f059afd3c1e113be826c23bac5ae9b31399da55bcf9b28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.11.0rc1 Linux/6.8.0-49-generic
|
Security for searchlite 0.8.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.