Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT Python: 3.8+ Code Style: black

DuckTools 🦆

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

Table of Contents

Quick Start | View Usage Examples | Contribute

Project Background

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:

  1. Raw, unprocessed results with direct URLs for automation and scripting
  2. 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.

Tools

DuckDelve 🔍

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

DuckHunt 🎯

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

Back to top

Development Process

The development of DuckTools followed a pragmatic approach:

  1. Initial Problem: We needed a way to search DuckDuckGo from the command line
  2. Evolution: Discovered that different use cases required different output formats
  3. Solution: Split into two tools - one for raw results (DuckDelve) and one for formatted output (DuckHunt)
  4. 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.

Back to top

Installation

# Clone the repository
git clone https://github.com/yourusername/DuckTools.git
cd DuckTools

# Install dependencies
pip install -r requirements.txt

Usage

DuckDelve

For 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.

DuckHunt

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.

When to Use Which Tool

  • 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

Back to top

Future Development

The future of DuckTools will focus on enhancing result processing and user experience through AI integration:

Planned Ollama 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.

Back to top

Contributing

  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.

External Resources:

Back to top

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages