Skip to main content

Fast Python symbol search for .venv packages

Project description

rex 🇺🇦

reference explorer

Sub-second Python symbol search for .venv packages and project source code. Bonus: MCP server for Claude Code.

Install as Claude Code plugin

claude plugin marketplace add vykhovanets/rex
claude plugin install rex@rex

This gives you MCP tools + SKILL.md (auto-approved tools, usage guidance).

Alternative: MCP-only

uv tool install rex-index
claude mcp add rex -s user -- rex-mcp serve

How it works

Rex stores a single global index at ~/.local/state/rex/rex.db. Indexing is incremental — only packages whose files changed since the last run are re-indexed. First run takes ~30s; subsequent runs are instant. Project source code is indexed automatically when a pyproject.toml or setup.py is detected.

Search has three phases:

  1. FTS5 — exact and prefix matches via SQLite full-text
  2. Fuzzy — typo-tolerant fallback (rapidfuzz)
  3. Auto-reindex — if nothing found and index is stale

When results are fuzzy-only or empty, rex shows a contextual hint (e.g. "approximate matches" or "try: uv add ").

CLI

rex find <query>       # Search symbols (unquoted OK)
rex find -t class Base # Filter by type
rex show <name>        # Full docs by qualified name
rex members <name>     # List class/module members
rex stats              # Index statistics
rex index              # Build/update index
rex index -f           # Force full rebuild
rex index -p ./lib     # Also index extra directories
rex clean              # Remove stale packages

MCP Tools

Claude Code can use rex too — same speed, no round-trips to the web.

Tool Description
rex_find Search symbols (+ type filter)
rex_show Full docs for a symbol
rex_members List class/module members

License

Apache-2.0

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

rex_index-0.1.1.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

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

rex_index-0.1.1-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file rex_index-0.1.1.tar.gz.

File metadata

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

File hashes

Hashes for rex_index-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ca58bafb88a09ec599e6c99f3a2f44fe35aa2b1031d051a58c42580fdbfea9fa
MD5 a1c74a3fc26586045f66daef53b85e52
BLAKE2b-256 13f269d158458bd842461fc1898a36986f6c72675427f4f8def86a4c2e02c8b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rex_index-0.1.1.tar.gz:

Publisher: publish.yml on vykhovanets/rex

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

File details

Details for the file rex_index-0.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for rex_index-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 746b0f1b4c8aa7932ab2f10e3998711c823fd698762f6c77889b7dcc68839e03
MD5 38171efbdc5f0bcfd43bafe67e37dc70
BLAKE2b-256 7f7b4f3ef173dfc40568e841846bfaec78176bca4cdd58064e1bce1cc54caee4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rex_index-0.1.1-py3-none-any.whl:

Publisher: publish.yml on vykhovanets/rex

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