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
Claude Code plugin
claude plugin marketplace add vykhovanets/rex
claude plugin install rex@rex
To update to the latest version:
claude plugin uninstall rex@rex
claude plugin marketplace remove rex
claude plugin marketplace add vykhovanets/rex
claude plugin install rex@rex
MCP tools + SKILL.md with usage guidance.
CLI + MCP
uv tool install rex-index
claude mcp add rex -s user -- rex-mcp serve
Rex available in every project, no per-project setup.
Project dependency
uv add rex-index
uv run rex init-mcp
Adds Rex to .mcp.json with pre-approved tools.
Commit both files — your team gets Rex on uv sync.
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 pipeline:
- Auto-reindex — stale packages refreshed before search
- Exact + FTS5 — exact name, then full-text on name/qname
- LIKE fallback — substring match when FTS misses
- Fuzzy — typo-tolerant approximation (rapidfuzz)
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
rex init-mcp # Register MCP in .mcp.json
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rex_index-0.1.11.tar.gz.
File metadata
- Download URL: rex_index-0.1.11.tar.gz
- Upload date:
- Size: 42.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1fb4f4df22c9ec7f0a5cc14fab504a7f7408631748ddaa5256fc2d4e404c072
|
|
| MD5 |
dffd0cb95001bca406498e31666cab1f
|
|
| BLAKE2b-256 |
c54818678bd9b599f4ec70b6eea8ef84a6192fab96dab47b02712271910b4b69
|
Provenance
The following attestation bundles were made for rex_index-0.1.11.tar.gz:
Publisher:
publish.yml on vykhovanets/rex
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rex_index-0.1.11.tar.gz -
Subject digest:
e1fb4f4df22c9ec7f0a5cc14fab504a7f7408631748ddaa5256fc2d4e404c072 - Sigstore transparency entry: 963022294
- Sigstore integration time:
-
Permalink:
vykhovanets/rex@89d429c8619e32e65d79a7570ab8f6504526facc -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/vykhovanets
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@89d429c8619e32e65d79a7570ab8f6504526facc -
Trigger Event:
push
-
Statement type:
File details
Details for the file rex_index-0.1.11-py3-none-any.whl.
File metadata
- Download URL: rex_index-0.1.11-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fc1b347b530aa9f9d7cac9aaf9c666fa6d29fb27cf8a58817adaaf284938e25
|
|
| MD5 |
57de64dba0bc80f438173730cda3ee94
|
|
| BLAKE2b-256 |
c06c7183f0dfd881dc7c42d8fd76a43edaaf024619a074484f3d8273b56946e3
|
Provenance
The following attestation bundles were made for rex_index-0.1.11-py3-none-any.whl:
Publisher:
publish.yml on vykhovanets/rex
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rex_index-0.1.11-py3-none-any.whl -
Subject digest:
3fc1b347b530aa9f9d7cac9aaf9c666fa6d29fb27cf8a58817adaaf284938e25 - Sigstore transparency entry: 963022296
- Sigstore integration time:
-
Permalink:
vykhovanets/rex@89d429c8619e32e65d79a7570ab8f6504526facc -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/vykhovanets
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@89d429c8619e32e65d79a7570ab8f6504526facc -
Trigger Event:
push
-
Statement type: