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.2.tar.gz (39.4 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.2-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rex_index-0.1.2.tar.gz
  • Upload date:
  • Size: 39.4 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.2.tar.gz
Algorithm Hash digest
SHA256 ac60c5e318c17c99e69d69d549ba254321e37c5e5f0bd8c60d1efc45c467715c
MD5 38bd216760e319e95d8f638584045b55
BLAKE2b-256 e8316cead49d657a55c6d8b730243b066f9282ce82e21bf9f561c002a420b3ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for rex_index-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: rex_index-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 24.3 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fad71b20d8979f6607715b330724d2aba3a1b5ced40a8a64e2ee612e1ee3a277
MD5 4688970cac8734643d94b48f429caf84
BLAKE2b-256 a3472d91a28ee4a92f21832b74949f4ef29f9f2e405b59624a759235653f04f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rex_index-0.1.2-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