Skip to main content

ix-search

ast-grep × grep × meaning. Three searches, glued at one spot, with a confidence score.

# pip install ix-search — coming to PyPI; this works today:
pip install git+https://github.com/Intuition-Labs-LLC/ix-search
ix "the part that retries on failure"

ix — three readings glue into one R-scored result

That's the whole thing. You already know ast-grep (structure) and grep (text). ix runs both — plus a meaning search — glues the three at the same place, and gives every hit an R: how sure it is, because they agreed.

ix · structure ⊗ text ⊗ meaning, glued by R

  R 1.00  net.py:42    def retry_with_backoff(...)    [ast-grep·grep·meaning]   ← all three agree
  R 0.51  http.py:88   except ConnectionError: ...    [grep·meaning]            ← two agree
  R 0.26  util.py:12   # exponential backoff helper   [meaning]                 ← a stretch, flagged

R = 1 when ast-grep, grep, and meaning land on the same line. Lower when only some do. It's confidence from agreement — not a black-box cosine.

Zero effort

  • No API key, no GPU, nothing leaves your machine. Meaning runs on model2vec static embeddings (~30 MB, CPU).
  • For an agent: ix "..." --json → {path, line, R, agreed} per hit, so it acts on confidence (take R ≈ 1, escalate R < 1) instead of guessing.
from ix_search import search
for h in search("retry on failure", "."):
    print(h.R, h.path, h.line, h.agreed)

Why it's more than grep

  • Three readings glue. Lexical, structural, and semantic search are three views of one location; ix overlays them and scores the agreement. The hit where all three land is the one you want — and the semantic-only stretch is flagged, not hidden.
  • Matryoshka = speed. The embeddings are nested (a prefix is a smaller embedding), so ix does a fast coarse pass on a truncated vector, then unfolds to full dim only on the survivors. (--dim tunes it.)

The idea behind it

ix is the runnable instance of The Matryoshka Sheaf — local readings glue into one global result exactly when they agree, with R = exp(−d_tail/scale) as the gluing obstruction.

Needs ast-grep and ripgrep on PATH (the meaning search works without them).


AGPL-3.0-or-later · Intuition Labs

Metadata

Release files for ix-search 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ix-search 0.1.0
File Size Uploaded Provenance Actions
ix_search-0.1.0.tar.gz 22.9 kB Without provenance Details for ix_search-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ix-search 0.1.0
File Interpreter ABI Platform Actions
ix_search-0.1.0-py3-none-any.whl Python 3 none any Details for ix_search-0.1.0-py3-none-any.whl

Total release size: 45.6 kB

Release files / ix_search-0.1.0.tar.gz

Download URL ix_search-0.1.0.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
846442908711ecd07e8d989f20d41e2ce2d611196c2be91687212b68af51f3d3
BLAKE2b-256 checksum
How to use checksums
06d353b263e5d288353a843171ee4913a3411cf52bf18cfa6a23de4a08c30ca6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / ix_search-0.1.0-py3-none-any.whl

Download URL ix_search-0.1.0-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20bfa57d22ebedc7baffa96422da847a30ee47e8badfff1fb3d2d737530599ea
BLAKE2b-256 checksum
How to use checksums
8608fe64b9808f09560db74d15731bd021f42e36e336bfbf3ba4d8ac71747253
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Security for ix-search 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page