Seekify - A metasearch library for simple and distributed search.
Project description
Seekify
Your Complete Toolkit for Search
Access diverse search engines, retrieve rich multimedia content, and bypass rate limits – all through one unified library.
📋 Table of Contents
- 🌟 Features
- ⚙️ Installation
- 🚀 Quick Start
- 🖥️ Command Line Interface
- 🌐 Supported Engines
- 🛡️ Proxy Support
- 📚 Documentation
[!NOTE]
- Seekify supports over 9 major search engines including: Google, Bing, DuckDuckGo, Brave, Yahoo, Yandex, Mojeek, Grokipedia, and Wikipedia. All providers follow similar usage patterns with consistent interfaces.
- Search-IT name was not avilable in pypi so we rebranded it.
🌟 Features
Unified Search API
- Text Search: Aggregated results from Google, Bing, DuckDuckGo, Yahoo, Yandex, and more.
- Rich Media: Retrieve images, videos, news, and books through dedicated endpoints.
- Consistent Format: All results differ in source but share a common, easy-to-parse structure.
Advanced Capabilities
- Zero Config: No API keys required. It just works.
- Proxy Support: Fully compatible with HTTP and SOCKS5 proxies to manage identity and avoid rate limits.
- Data Science Ready: Returns data structures that easily convert to Pandas DataFrames for analysis.
- Robust CLI: Powerful command-line tools for quick lookups, downloads, and data exports.
⚙️ Installation
Seekify supports multiple installation methods to fit your workflow:
📦 Standard Installation
# Install from PyPI
pip install -U seekify
# Install with valid HTTPS/HTTP2 support
pip install -U "seekify[http2]"
⚡ UV Package Manager (Recommended)
UV is a fast Python package manager. Seekify has full UV support:
# Install UV first (if not already installed)
pip install uv
# Install Seekify with UV
uv add seekify
🚀 Quick Start
Python Script
Seekify is designed to be intuitive. Here is how to perform a simple text search:
from seekify import Search
with Search() as s:
results = s.text("python programming", max_results=5)
for r in results:
print(f"{r['title']} - {r['href']}")
Jupyter Notebook
You can easily collect data into a Pandas DataFrame for analysis:
from seekify import Search
import pandas as pd
# Search and create a DataFrame
with Search() as s:
results = s.text("artificial intelligence trends", backend="duckduckgo", max_results=20)
df = pd.DataFrame(results)
display(df)
🖥️ Command Line Interface
Seekify includes a powerful CLI for quick queries and data export.
🚀 Direct Commands
# Text Search
seekify text -q "OpenAI" -m 10
# Image Search & Download
seekify images -q "minimalist wallpaper" -m 5 --download --download-directory ./wallpapers
# News Search (Export to JSON)
seekify news -q "tech industry" -m 20 --output news_data.json
📦 Python Module Execution
python -m seekify.cli text -q "search query"
🌐 Supported Engines
The library supports a wide range of backends tailored to specific search types:
| Search Type | Supported Engines |
|---|---|
| Text | Bing, Brave, DuckDuckGo, Google, Grokipedia, Mojeek, Yahoo, Yandex, Wikipedia |
| Images | DuckDuckGo |
| Videos | DuckDuckGo |
| News | Bing, DuckDuckGo, Yahoo |
| Books | Anna's Archive |
🛡️ Proxy Support
Avoid rate limits and IP bans by routing traffic through a proxy.
from seekify import Search
# Using a SOCKS5 proxy (e.g., Tor)
s = Search(proxy="socks5h://127.0.0.1:9050")
# Using an authenticated HTTP proxy
s = Search(proxy="http://user:password@proxy_ip:port")
# Then use normal search methods
results = s.text("privacy tools")
📚 Documentation
For comprehensive usage guides and advanced configuration, please refer to the docs directory.
👏 Credits
- Based on the work of deedy5/ddgs (formerly Dux), which is no longer maintained. We have expanded upon this foundation with new engines, features, and modernized tooling.
Made with ❤️ by the Seekify team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file seekify-1.0.1.tar.gz.
File metadata
- Download URL: seekify-1.0.1.tar.gz
- Upload date:
- Size: 33.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07a867c5036a8f0fce8e4ba5be05533c96d674aebfac6e7e522ebe14386db59b
|
|
| MD5 |
cef215b817b1588d3d108b3fbfa2f03e
|
|
| BLAKE2b-256 |
7abca038f1a2d0c8e66d271c9713a84afa37a236b1f2d7eeff130498f394f774
|
File details
Details for the file seekify-1.0.1-py3-none-any.whl.
File metadata
- Download URL: seekify-1.0.1-py3-none-any.whl
- Upload date:
- Size: 40.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aebccfa5e33bfc60695a44b2f7cf3b4388db1f3174b24367524e630feb20e0af
|
|
| MD5 |
a6c37b086830f28c0d7c97d7f6e8784e
|
|
| BLAKE2b-256 |
5b4a0951f97bbde92ea44951eee6d136fffbb3b85d6171c166d125ca102fab69
|