Skip to main content

A powerful web content fetcher and processor

Project description

SearchLite 🔍

A lightning-fast, asynchronous real-time Google Search API wrapper with built-in optimization for batch queries.

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 ❤️

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ailite-0.1.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

ailite-0.1.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file ailite-0.1.0.tar.gz.

File metadata

  • Download URL: ailite-0.1.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for ailite-0.1.0.tar.gz
Algorithm Hash digest
SHA256 89b009a5c16a12aa01d2e33003b52aefcf13d7b9e55a1cba61d7a9710daef121
MD5 949fad25352a88088bae307abfe2c179
BLAKE2b-256 0403406265ad89703a367830b038572736ee89fc7375cf9b7cb14ab225138af7

See more details on using hashes here.

File details

Details for the file ailite-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ailite-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for ailite-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58db60f32929171c573b19c0f9bb955b89297868b93bbbdc2badb02193e0edb8
MD5 871063055eb043dd46b9415cdef6c236
BLAKE2b-256 da2af84bb09d2cddde87f72bad13d53f64520c7d67d3328345182c0197bf8fa7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page