explaingit

0marildo/imago

Analysis updated 2026-05-18

3PythonAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A local Python CLI for photo libraries that combines semantic search, duplicate detection, metadata reading, pixel diff, and safe trash, all running offline with no cloud account needed.

Mindmap

mindmap
  root((imago))
    Search
      Text to image CLIP
      Perceptual hash search
      Metadata search
    Organize
      Near-duplicate grouping
      Safe trash with undo
      Image viewer
    Analyze
      Pixel diff heatmap
      EXIF metadata
      Similarity scoring
    Extend
      Plugin tool API
      LLM planner stub
      OCR and captioning
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Search a photo folder by describing what you want to find, without relying on filenames or cloud AI.

USE CASE 2

Find and group near-duplicate photos in a folder before deleting them, with undo if you change your mind.

USE CASE 3

Compare two versions of the same image to get a pixel-level difference heatmap and similarity score.

What is it built with?

PythonCLIPPillow

How does it compare?

0marildo/imagoagentlexi/agent-lexiaryagm/hrm-mlx
Stars333
LanguagePythonPythonPython
Setup difficultyeasymoderatemoderate
Complexity2/54/54/5
Audiencegeneralvibe coderresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

CLIP model downloads automatically on first semantic search run, requiring around 400MB of disk space.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Imago is a Python command-line tool for organizing and understanding a photo library entirely on your own machine, with no cloud uploads or API keys. It combines several capabilities that typically require separate tools: finding duplicate or near-duplicate images, searching for photos by describing what is in them, reading and searching EXIF metadata, comparing two images pixel-by-pixel, and moving unwanted files to a safe trash you can restore from. The semantic search feature uses a model called CLIP to match text descriptions against image content. You type something like "a photo of a strawberry" and it returns images that contain that thing, regardless of their filenames. Similarly, you can use a reference image to find visually similar images using perceptual hashing, a technique that produces a compact fingerprint for each photo and compares them. The find-similar command groups near-duplicate images in a folder together, using a configurable threshold so you can tune how strict the matching is. The diff command shows a pixel-level heatmap of the differences between two images along with a numerical similarity score. The safe trash feature moves files to a separate trash directory rather than permanently deleting them. You can list what is in trash, restore individual files, or empty it when you are sure. This is useful when cleaning up duplicates found by find-similar. The architecture is designed to be extended. Each capability is a self-contained module that registers itself automatically with the runtime. Adding a new feature means writing one Python file with no changes to the CLI or configuration. The roadmap lists planned additions including OCR, face detection, object detection, AI captioning, and a web interface. Imago is installed via pip and requires Python 3.11 or newer. The project is licensed under MIT.

Copy-paste prompts

Prompt 1
I have imago installed. Search my ~/Photos folder for images containing 'a dog on a beach' using semantic search.
Prompt 2
How do I find all near-duplicate images in a folder with imago and then safely trash the duplicates with the ability to restore them?
Prompt 3
Walk me through writing a custom imago tool that adds an OCR command to extract text from images.
Prompt 4
I want to compare two versions of a product photo with imago's diff command. What do the MSE and phash distance scores actually mean?

Frequently asked questions

What is imago?

A local Python CLI for photo libraries that combines semantic search, duplicate detection, metadata reading, pixel diff, and safe trash, all running offline with no cloud account needed.

What language is imago written in?

Mainly Python. The stack also includes Python, CLIP, Pillow.

What license does imago use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is imago to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is imago for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub 0marildo on gitmyhub

Verify against the repo before relying on details.