Skip to main content

A local file indexing and search tool with FTS5, regex, and CSV analysis support.

Project description

Indexly

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

PyPI Python License

Indexly CLI preview

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)

python -m pip install --upgrade pip
python -m pip install indexly

Verify:

indexly --version

Homebrew (macOS and Linux)

brew tap kimsgent/indexly
brew install indexly

Verify:

indexly --version

Optional Extras

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

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]"
python -m pip install "indexly[backup]"

Install all optional groups:

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

Quick Start

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

Search Cache Behavior

FTS search results are cached in search_cache.json in Indexly's runtime data directory. The FTS database is stored beside it as fts_index.db, and that database keeps a small indexly_state value named search_index_generation.

When indexing changes file content or prunes stale rows under the indexed root, Indexly increments the search index generation. Normal searches include that generation in their cache key, so a search after re-indexing refreshes from the database automatically instead of reusing results from an older index generation. Use --no-cache for a one-off cache bypass, or indexly doctor --clear-cache to remove cached search results.

Developer Environment

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:

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

Links

License

MIT. See LICENSE.txt.

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

indexly-2.1.5.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

indexly-2.1.5-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file indexly-2.1.5.tar.gz.

File metadata

  • Download URL: indexly-2.1.5.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for indexly-2.1.5.tar.gz
Algorithm Hash digest
SHA256 bc2901a9a21159ac8be64b084e335b0769632c8e35f97c9d2889db3c65c02571
MD5 44d8c2ddc08a5299f197486f3368239b
BLAKE2b-256 6b08c90bc4841ef1fce9c2b8b4b0960ecbc1b38a19239b21f993c7280c844e66

See more details on using hashes here.

File details

Details for the file indexly-2.1.5-py3-none-any.whl.

File metadata

  • Download URL: indexly-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for indexly-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 71535627aec295c3fd6ea3280275dd0225cfef21a32a43711fae5aef6bc22554
MD5 73063a55dd1a50f070d520bea1746004
BLAKE2b-256 764a80582e4a745e2e3c4126554a5bcd726f0ea9ed3ba4638a07fcddb7f6c49f

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