Metadata-Version: 2.4
Name: indexly
Version: 2.0.0
Summary: A local file indexing and search tool with FTS5, regex, and CSV analysis support.
Project-URL: Homepage, https://projectindexly.com
Project-URL: Documentation, https://projectindexly.com
Project-URL: Source, https://github.com/kimsgent/project-indexly
Project-URL: Issues, https://github.com/kimsgent/project-indexly/issues
Author: N. K Franklin-Gent
Author-email: OpenAI ChatGPT <support@openai.com>
License: MIT
License-File: LICENSE.txt
Keywords: asyncio,csv,fts5,indexing,regex,search
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Database
Classifier: Topic :: Text Processing :: Indexing
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Requires-Dist: beautifulsoup4<5.0,>=4.12
Requires-Dist: colorama<1.0,>=0.4
Requires-Dist: pypdf2<4.0,>=3.0
Requires-Dist: pyyaml<7.0,>=6.0
Requires-Dist: rapidfuzz<4.0,>=2.16
Requires-Dist: requests<3.0,>=2.31
Requires-Dist: rich<14.0,>=13.7
Requires-Dist: watchdog<5.0,>=3.0
Requires-Dist: xmltodict<1.0,>=0.13
Provides-Extra: analysis
Requires-Dist: numpy<3.0,>=1.26; extra == 'analysis'
Requires-Dist: pandas<3.0,>=2.1; extra == 'analysis'
Requires-Dist: pyarrow<20.0,>=16.0; extra == 'analysis'
Requires-Dist: scipy<1.14,>=1.12; (python_version < '3.13') and extra == 'analysis'
Requires-Dist: statsmodels<0.15,>=0.14; extra == 'analysis'
Requires-Dist: tabulate<1.0,>=0.9; extra == 'analysis'
Provides-Extra: documents
Requires-Dist: ebooklib<1.0,>=0.18; extra == 'documents'
Requires-Dist: eml-parser<2.0,>=1.0; extra == 'documents'
Requires-Dist: extract-msg<1.0,>=0.25; extra == 'documents'
Requires-Dist: odfpy<2.0,>=1.4; extra == 'documents'
Requires-Dist: openpyxl<4.0,>=3.1; extra == 'documents'
Requires-Dist: pillow<12.0,>=10.0; extra == 'documents'
Requires-Dist: pymupdf<2.0,>=1.23; extra == 'documents'
Requires-Dist: pytesseract<0.4,>=0.3.13; extra == 'documents'
Requires-Dist: python-docx<2.0,>=1.2; extra == 'documents'
Requires-Dist: python-pptx<1.0,>=0.6; extra == 'documents'
Provides-Extra: pdf-export
Requires-Dist: fpdf2<3.0,>=2.8; extra == 'pdf-export'
Requires-Dist: reportlab<5.0,>=4.0; extra == 'pdf-export'
Provides-Extra: visualization
Requires-Dist: matplotlib<3.10,>=3.8; (python_version < '3.13') and extra == 'visualization'
Requires-Dist: plotext<6.0,>=5.2; extra == 'visualization'
Requires-Dist: plotly<6.0,>=5.22; extra == 'visualization'
Requires-Dist: seaborn<0.14,>=0.13; extra == 'visualization'
Description-Content-Type: text/markdown

# Indexly

Indexly is a local-first command line tool for indexing, searching, and analyzing files on your own machine.

[![PyPI](https://img.shields.io/pypi/v/indexly.svg)](https://pypi.org/project/indexly/)
[![Python](https://img.shields.io/pypi/pyversions/indexly.svg)](https://pypi.org/project/indexly/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/kimsgent/project-indexly/blob/main/LICENSE.txt)

![Indexly CLI preview](https://raw.githubusercontent.com/kimsgent/project-indexly/main/docs/static/images/indexly-terminal-768.png)

## What Indexly Helps You Do

- Index local folders quickly
- Search content using plain text or regex
- Organize and filter with tags
- Watch folders and auto-update the index
- Analyze CSV, JSON, XML, SQLite, and more
- Compare files and folders
- Create backups and restore safely

## Install

### pip (Windows, macOS, Linux)

```bash
python -m pip install --upgrade pip
python -m pip install indexly
```

Verify:

```bash
indexly --version
```

### Homebrew (macOS and Linux)

```bash
brew tap kimsgent/indexly
brew install indexly
```

Verify:

```bash
indexly --version
```

## Optional Extras

Indexly uses a lightweight core install. Optional feature groups can be added as needed.

```bash
python -m pip install "indexly[documents]"
python -m pip install "indexly[analysis]"
python -m pip install "indexly[visualization]"
python -m pip install "indexly[pdf_export]"
```

Install all optional groups:

```bash
python -m pip install "indexly[documents,analysis,visualization,pdf_export]"
```

## Quick Start

```bash
indexly index /path/to/folder
indexly search "invoice"
indexly regex "[A-Z]{3}-\\d{4}"
indexly analyze-csv data.csv --show-summary
```

## Developer Environment

```bash
git clone https://github.com/kimsgent/project-indexly.git
cd project-indexly
python -m venv .venv
```

Activate virtual environment:

- macOS/Linux: `source .venv/bin/activate`
- Windows (PowerShell): `.venv\Scripts\Activate.ps1`

Install project and tools:

```bash
python -m pip install --upgrade pip
python -m pip install -e ".[documents,analysis,visualization,pdf_export]"
python -m pip install pytest pytest-cov flake8 black isort mypy build twine
```

## Links

- Documentation: [https://projectindexly.com](https://projectindexly.com)
- Source: [https://github.com/kimsgent/project-indexly](https://github.com/kimsgent/project-indexly)
- Issues: [https://github.com/kimsgent/project-indexly/issues](https://github.com/kimsgent/project-indexly/issues)

## License

MIT. See [LICENSE.txt](https://github.com/kimsgent/project-indexly/blob/main/LICENSE.txt).
