Indexly Overview

Indexly helps researchers and power users search Word, PDF, and text documents locally. Fast, offline, with tagging and FTS5.

“You who searches, finds.”

Welcome to Indexly – your fast, flexible, full-text local file search engine. Powered by Python and SQLite FTS5, Indexly brings powerful content searching, tagging, exporting, and indexing to your terminal.

Works great on Windows (tested), Linux, and macOS. CLI-only for now; GUI may come later.


flowchart TD
    %% Nodes
    A["📘 Indexly Overview"]:::overview
    B["✨ Features Overview"]:::features
    C["⚙️ Configuration & Features"]:::config
    D["📖 Usage Guide"]:::usage
    E["🛠️ Developer Guide"]:::dev
    F["🏷️ Virtual Tag Detection"]:::tags
    G["🖥️ Customizing Windows Terminal"]:::terminal

    %% Links
    A --> B
    A --> C
    A --> D
    A --> E
    A --> F
    D --> G

    B -->|Dev references| E
    C -->|Profiles & advanced filters| D
    C -->|Dev references| E
    F -->|CLI usage| D
    F -->|Developer tag extension| E

    %% Styles
    classDef overview fill:#F0F8FF,stroke:#333,stroke-width:1px;
    classDef features fill:#FFFACD,stroke:#333,stroke-width:1px;
    classDef config fill:#E6E6FA,stroke:#333,stroke-width:1px;
    classDef usage fill:#F5F5DC,stroke:#333,stroke-width:1px;
    classDef dev fill:#FFE4E1,stroke:#333,stroke-width:1px;
    classDef tags fill:#F0FFF0,stroke:#333,stroke-width:1px;
    classDef terminal fill:#FFF0F5,stroke:#333,stroke-width:1px;

Table of Contents


Key Highlights

  • Full-text search via SQLite FTS5
  • Regex & fuzzy search
  • Tagging & filtering
  • CSV, JSON analysis & stats
  • Watchdog real-time indexing
  • Export to PDF, TXT, JSON
  • Developer-friendly modular CLI

For full instructions, explore Usage Guide, Config & Features, or Developer Notes.


Requirements

  • Python 3.10+
  • Run locally, no server needed
pip install -r requirements.txt

Or manually:

pip install nltk pymupdf pytesseract pillow python-docx openpyxl rapidfuzz fpdf2 reportlab \
beautifulsoup4 extract_msg eml-parser PyPDF2 watchdog colorama

📌 See Installation Guide for Windows tips.


Workflow Overview

Organize 🗂️ → Validate/List 📋 → Backup 💾 → Index 📦 → Search 🔍 → Tag & Filter 🏷️ → Compare 📑 → Export 🧾


License & Credits

Author: N. K Franklin-Gent Built with ❤️ for the curious mind. Licensed under the MIT License.


Why This Matters

Understand why Indexly’s semantic-aware indexing makes search reliable, fast, and human-friendly.

Indexly Tagging System

Learn how to use Indexly’s powerful file tagging system to categorize, organize, and search files effortlessly. Supports bulk tagging, recursive folder tagging, and instant tag lookups.

Indexly Usage Guide

A complete usage guide for Indexly. Discover installation steps, Windows Terminal setup, indexing, search, tagging, filtering, and exporting results in PDF, Markdown, or text formats.

Virtual Tag Detection — Examples & Tips

Learn how Indexly detects virtual tags from documents using customizable regex rules. Includes practical examples, editable fields in fts_core.py, and tips for refining OCR-based tag extraction.

Customizing Windows Terminal

Learn how to fully customize Windows Terminal for productivity and aesthetics. This step-by-step guide covers installing Chocolatey, Scoop, Oh My Posh, Neovim, PowerShell modules, fzf, and fonts to build a powerful Linux-like development environment on Windows. Created collaboratively with ChatGPT.

Indexly Configuration & Features

Learn how to configure Indexly for optimal performance. Discover search profiles, real-time indexing, tagging, caching, and CSV analysis to streamline data management.

Indexly Developer Guide

A complete guide for developers to explore Indexly’s architecture, modules, and build process. Learn how to extend search features, add filetype support, and contribute effectively.

Renaming Files with Patterns

Learn how to rename files in Indexly using smart patterns with dates, counters, and titles — safely preview changes using dry-run mode.

Why Semantic Filtering Matters

Minitab MTW files

Learn how to extract, decode, and analyze Minitab MTW files using Indexly’s extract-mtw feature — including optional extended metadata extraction from WorksheetInfo streams.

Indexly Organizer – Intelligent File Organization

Automatically organize files by date, name, or extension with full logging, backups, duplicate detection and audit support using Indexly Organizer.

Index Files and Folders with Indexly

Learn how to index files and folders with Indexly using simple CLI commands. Filter by file type, enable advanced extraction, and keep your index up to date automatically.

Install Indexly – Setup, Configuration & First Run

Learn how to install Indexly on Windows, macOS, and Linux using pip or Homebrew. Step-by-step setup, verification, and troubleshooting for your first successful run.

Semantic Indexing & Vocabulary Quality

Indexly Organizer – Profile-Based, Auditable File Organization

Safely organize and classify files using intelligent profiles with full logging, hashing, audit trails, dry-run planning, and automation support in Indexly Organizer.

Ignore Rules & Index Hygiene

README

Indexly Data Analysis & File Pipeline Overview

Learn how Indexly analyzes CSV, JSON, NDJSON, XLSX, XML, YAML, and Parquet files using its universal loader, orchestrator, and smart pipelines.

Database Analysis – Analyze SQLite Databases

Analyze SQLite databases with Indexly to extract table summaries, detect relationships, generate ER diagrams, and export structured insights in JSON, Markdown, or HTML.

Database Design

Lister – Analyze Organized Files & Detect Duplicates

Use Indexly Lister to analyze organizer logs, filter files by extension, category, date, and detect duplicates with zero risk.

Semantic Indexing in Indexly – Overview

Understand why semantic indexing exists in Indexly, how it fixes real-world search relevance issues, and how rule-based semantic filtering improves results in large local databases.

Indexly Doctor

Indexly Doctor is a comprehensive diagnostic and repair tool that inspects your environment, configuration, and database health, and can automatically apply safe fixes when needed.

Backup & Restore

Incremental, encrypted backups with automatic scheduling and reliable restore chains in Indexly.

Chinook DB Examples – Real-World SQLite Analysis

Explore how Indexly analyzes the Chinook sample database: table summaries, relationships, ER diagrams, and exported Markdown reports from a real-world multi-table SQLite database.

The Story of Chinook – A Narrative SQLite Database Case Study

Explore the Chinook sample database through a narrative lens. Understand tables, relationships, and real-world data structure while seeing how Indexly brings SQLite databases to life.

Semantic Observers

Semantic observers let Indexly detect meaningful file changes, not just filesystem events.

Database Update & Migration Utilities

Learn how to safely update, migrate, and manage your Indexly database schema and FTS5 tables without losing data. Includes full CLI examples and explanations of key differences between normal and FTS5 tables.

Indexly File & Folder Comparison – Context-Aware Diffing

Compare files and folders using Indexly with GitHub-style diffs, similarity scoring, context folding, and JSON output.

Indexly Logging System – NDJSON Standard and Legacy .log Support

Understand Indexly’s logging architecture, including the modern NDJSON-based logging system and legacy .log support. Learn how logs are structured, rotated, analyzed, and migrated.

Legacy .log Logging System – Full Documentation

Complete documentation of Indexly’s legacy .log-based logging system. Learn how classic log files are parsed, cleaned, normalized, exported, and migrated to the modern NDJSON logging standard.

Time-Series Visualization in Indexly

How Indexly detects, prepares, resamples, and visualizes time-series data using Plotly and Matplotlib. A complete guide to frequency conversion, rolling windows, dual-axis handling, and statistical considerations.

Analyze CSV: Visualize, Transform & Understand Your Data

Explore, visualize, and normalize CSV datasets in Indexly using statistical summaries, skew detection, and ASCII visualizations. Perfect for data analysts and developers working with terminal-based data exploration.

Cleaning CSV Data with Indexly

Automate CSV data cleaning in Indexly with intelligent type inference, datetime normalization, missing value imputation, and persistence. Ideal for data analysts and Python developers.