A sophisticated suite of command-line tools for interacting with DuckDuckGo search results, born from the need to handle search data in different ways. This project emerged from practical experience in both scripting and direct search workflows, providing two specialized tools that excel in their respective use cases.
Whether you need raw URLs for automation or beautifully formatted results for research, DuckTools has you covered with purpose-built solutions that prioritize efficiency and user experience.
Contact Information
For any inquiries, bug reports, or feature requests:
- Primary Contact: amrree@gmail.com
- For bug reports and feature requests, please use GitHub Issues
- Response time: Usually within 24-48 hours during business days
- Project Background
- Tools
- DuckDelve 🔍
- DuckHunt 🎯
- Development Process
- Installation
- Usage
- DuckDelve Usage
- DuckHunt Usage
- When to Use Which Tool
- Future Development
- Ollama Integration 🤖
- Contributing
- License
Quick Start | View Usage Examples | Contribute
DuckTools emerged from a real-world need to interact with DuckDuckGo search results in different ways. During development, we discovered that users often need two distinct types of search experiences:
- Raw, unprocessed results with direct URLs for automation and scripting
- Formatted, clean output for human readability and direct use
This realization led to the development of two specialized tools rather than a single, complex solution.
A direct DuckDuckGo search tool that provides raw, unprocessed results. DuckDelve was born from the need to access search results in their purest form. Perfect for:
- Getting unfiltered search results with working URLs
- Accessing direct URLs and raw content for scripting
- Quick, lightweight searches without formatting overhead
- Integration with other tools and pipelines
An enhanced DuckDuckGo search tool that emerged from the need for human-readable output. DuckHunt focuses on providing clean, formatted results ideal for:
- Clean, readable search results in the terminal
- Structured data output for easy reading
- Enhanced readability with highlighting and formatting
- Direct use in research and information gathering
The development of DuckTools followed a pragmatic approach:
- Initial Problem: We needed a way to search DuckDuckGo from the command line
- Evolution: Discovered that different use cases required different output formats
- Solution: Split into two tools - one for raw results (DuckDelve) and one for formatted output (DuckHunt)
- Refinement: Added features based on real usage and feedback
This two-tool approach allows users to choose the right tool for their specific needs rather than forcing a one-size-fits-all solution.
# Clone the repository
git clone https://github.com/yourusername/DuckTools.git
cd DuckTools
# Install dependencies
pip install -r requirements.txtFor raw, unprocessed search results with direct URLs:
./duckdelve.py "your search query"Example:
./duckdelve.py "python programming tutorials"The output will show unformatted results with direct, working URLs - perfect for scripting or further processing.
For clean, formatted results that are easy to read:
./duckhunt.py "your search query"Example:
./duckhunt.py "best coding practices"The output will be nicely formatted with highlighted titles, descriptions, and structured URLs.
-
Use DuckDelve when you need:
-
Raw URLs for automation
-
Unprocessed results for scripting
-
Maximum speed and minimal processing
-
Direct access to search data
-
Use DuckHunt when you want:
-
Human-readable output
-
Formatted, clean results
-
Quick information gathering
-
Pleasant terminal output
The future of DuckTools will focus on enhancing result processing and user experience through AI integration:
We're working on integrating Ollama to provide intelligent processing of search results:
- Smart filtering based on context and user preferences
- Automated sorting and categorization of results
- Content relevance scoring and ranking
- Dynamic result summarization
This integration will significantly enhance how users interact with search results by:
- Reducing noise in search outputs
- Highlighting the most relevant content
- Providing context-aware result organization
- Enabling natural language result filtering
The goal is to combine the raw power of DuckDelve and the formatting of DuckHunt with intelligent processing, making both tools even more effective for their specific use cases.
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
External Resources: