Skip to main content

Your loyal digital companion who finds files the way you think about them

Project description

Doggo

Doggo 🐕, your loyal digital companion who finds files the way you think about them.

Test


Doggo is a CLI tool that uses AI to help you search for images using natural language queries. Instead of remembering exact filenames, just describe what you're looking for!

Features

  • 🔍 Semantic Search: Find images by describing them in natural language
  • 🎯 Smart Results: AI-powered similarity matching
  • 💻 CLI Interface: Simple command-line interface
  • 📊 Rich Output: Beautiful, informative search results

Demo

TO BE ADDED

Usage

pip install doggo

Quick Start

  1. Initialize Doggo:

    doggo init
    
  2. Set your OpenAI API key:

    doggo config set-key <your-openai-api-key>
    
  3. Index your images:

    doggo index /path/to/your/images
    
  4. Search naturally:

    doggo search "a cute dog playing in the park"
    doggo search "sunset over mountains"
    doggo search "people having dinner"
    

    By default, Doggo shows the top 5 results and automatically opens the best match in your system's previewer. Use --no-open to disable auto-opening or --limit to change the number of results.

How it works

  • AI-Powered Indexing: Doggo scans directories for images, uses OpenAI's Vision API to generate detailed descriptions of each image, and converts these descriptions into vector embeddings using OpenAI's Embeddings API for semantic search capabilities.

  • Vector Database Storage: The tool stores image metadata, AI-generated descriptions, and vector embeddings in a local ChromaDB database, enabling fast similarity-based retrieval without needing to re-process images on each search.

  • Natural Language Search: Users can search for images using descriptive queries like "cute dog playing in the park" - the system converts the query to a vector embedding and finds the most semantically similar images using vector similarity search.

  • CLI Interface: Provides a simple command-line interface with commands for initialization (doggo init), configuration (doggo config set-key), indexing (doggo index ), and searching (doggo search "query") with rich output formatting and progress tracking.

Contributing

  • Contributions are welcome! Please feel free to submit a pull request.
  • See open issues for ideas.

License

MIT License - see the LICENSE file for details.

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

doggo-0.1.0.tar.gz (473.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doggo-0.1.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: doggo-0.1.0.tar.gz
  • Upload date:
  • Size: 473.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for doggo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 84d6c44d09d3dfa8072a4605bac814e155a900e9db9a536c346da0812e88d662
MD5 7e946de07a2134f24877fcf5f5d81c51
BLAKE2b-256 ee168922fe3b611b67b7cf5f0573b8f20987d10ce5d664202f9ae05b5fabd916

See more details on using hashes here.

File details

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

File metadata

  • Download URL: doggo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for doggo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0049af80a30152a54d07d8d2897facc1423965644385732d45f022539129df95
MD5 62f8f912a90439f824894574f7e464a0
BLAKE2b-256 5f7a53f32deaaf2dbdcaf8d196fd67e6fb6fd180a5339ed96531fd0ba5988470

See more details on using hashes here.

Supported by

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