Skip to main content

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 Python 3.7+ License: MIT

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:
    • 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 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)

Source distribution for searchlite 0.8.8
File Size Uploaded Provenance
searchlite-0.8.8.tar.gz 9.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for searchlite 0.8.8
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page