Skip to main content

A vector-powered CLI for semantic search over filenames.

Project description

Vexor

Vexor is a vector-powered CLI that searches file names semantically. It uses Google GenAI's gemini-embedding-001 model to embed file names and queries, then ranks matches with cosine similarity.

Install

pip install -e .

The CLI entry point is vexor (or python -m vexor).

Configure

Set the Gemini API key once and reuse it everywhere:

vexor config --set-api-key "YOUR_KEY"

Optional defaults:

vexor config --set-model gemini-embedding-001
vexor config --set-batch-size 0   # 0 = single request

Configuration is stored in ~/.vexor/config.json.

Workflow

  1. Index the project root (includes every subdirectory):
    vexor index --path ~/projects/demo --include-hidden
    
  2. Search from anywhere, pointing to the same path:
    vexor search "api client config" --path ~/projects/demo --top 5
    
    Output example:
    Vexor semantic file search results
    ──────────────────────────────────
    1   0.923   ./src/config_loader.py
    2   0.871   ./src/utils/config_parse.py
    3   0.809   ./tests/test_config_loader.py
    

Tips:

  • Keep one index per project root; subdirectories need separate indexes only if you explicitly run vexor index on them.
  • Hidden files are included only if both index and search use --include-hidden.

Commands

Command Description
vexor index --path PATH [--include-hidden] Recursively scans PATH, embeds file names, and writes a cache under ~/.vexor.
vexor search QUERY --path PATH [--top K] [--include-hidden] Loads the cached embeddings for PATH and ranks matches for QUERY.
vexor config --set-api-key/--clear-api-key Manage the stored Gemini API key.
vexor config --set-model/--set-batch-size/--show Manage default model and batch size.

Development

Run tests with:

pip install -e .[dev]
pytest

Tests rely on fake embedding backends, so no network access is required.

Cache files and configuration live in ~/.vexor. Adjust _label_for_path or VexorSearcher._prepare_text if you need to encode additional context (e.g., relative paths).

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

vexor-0.1.2.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

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

vexor-0.1.2-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file vexor-0.1.2.tar.gz.

File metadata

  • Download URL: vexor-0.1.2.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vexor-0.1.2.tar.gz
Algorithm Hash digest
SHA256 266a00f6176f84c948ceac3e01f733a5538ca50e19e119771b3bdf796d974afb
MD5 8455da571a59d3b970515bd54808ecfe
BLAKE2b-256 5c2d262cdf7aabcb95241e6dc08dc8d2bae3712d5d8d6f792b690a1ca2342fed

See more details on using hashes here.

Provenance

The following attestation bundles were made for vexor-0.1.2.tar.gz:

Publisher: publish.yml on scarletkc/vexor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vexor-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: vexor-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vexor-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d4f5f88b82e3466c67bb03b77e8957429a0f8cf0c6032d1afca15824fd774bda
MD5 8485c0767d62daa7d0516290fb23d4fc
BLAKE2b-256 f09b21f446bc051b0ccd55e46e97f23c0cb6487f39869fbd35bd02abd977367a

See more details on using hashes here.

Provenance

The following attestation bundles were made for vexor-0.1.2-py3-none-any.whl:

Publisher: publish.yml on scarletkc/vexor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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