qmd (Python/MLX rewrite)
Python/MLX rewrite of qmd — hybrid search over your markdown collections. Apple Silicon + MLX only (no GGUF, no cross-platform support).
Beta: feedback wanted. pyqmd is in public beta. Please report problems or surprises in Issues.
Install
uv tool install pyqmd-mlx
(or pipx install pyqmd-mlx). The package is pyqmd-mlx; the command it installs is
pyqmd — PyPI's pyqmd is an unrelated project. Upgrade with uv tool upgrade pyqmd-mlx.
Or build it yourself from a clone:
git clone https://github.com/after2400/pyqmd && cd pyqmd
just install # uv tool install --editable .
(editable, so pulling new commits in the clone updates the installed pyqmd command without
reinstalling)
just uninstall
Usage
pyqmd collection add ~/notes --name notes
pyqmd embed
pyqmd query "how do I configure auth"
pyqmd mcp # MCP server over stdio
pyqmd mcp --http # MCP server over Streamable HTTP
pyqmd --help
Index lives at ~/.cache/pyqmd/index.sqlite, distinct from the live Node qmd's
~/.cache/qmd/index.sqlite — both can coexist during the transition.
Performance note: prefer pyqmd mcp for repeated queries
Every one-shot CLI call (search/vsearch/query) that touches embeddings pays a real,
per-process MLX model-load cost, and it doesn't get cheaper on repeat launches the way
Node's mmap-backed GGUF loading does (see parity/README.md's "Performance benchmark"
section for why). Measured on an Apple Silicon Mac with a warm disk: search 0.4–0.5 s,
vsearch about 2.5 s, query --no-rerank 3.5–4.5 s, full query 9–11 s (a cold disk adds
more on the first run). If you're issuing more than one embedding-backed query, run
pyqmd mcp (or pyqmd mcp --http) instead of shelling out per query — it loads models once
and serves unlimited calls from the same process, which is the actual equivalent of Node's
cheap repeated invocations here, not a faster load path. Pure-BM25 search doesn't touch MLX
at all and stays cheap either way.
Development
just develop # install dev deps + pre-commit hooks
just test-fast # non-slow suite
just test-slow # real-model tests (downloads MLX weights)
just lint
Metadata
Release files for pyqmd-mlx 0.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyqmd_mlx-0.8.1.tar.gz | 724.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyqmd_mlx-0.8.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 869.7 kB
Release files / pyqmd_mlx-0.8.1.tar.gz
| Download URL | pyqmd_mlx-0.8.1.tar.gz |
|---|---|
| Size | 724.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
403725a0084ce1e5f665a61f8d150bfcee20b99e30a0876ae4673010868eeee6
|
|
BLAKE2b-256 checksum How to use checksums |
1c91898a42da5bc0cab7274e60d7e160a4d930f01f9ff4e554a52b2fdcd390f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / pyqmd_mlx-0.8.1-py3-none-any.whl
| Download URL | pyqmd_mlx-0.8.1-py3-none-any.whl |
|---|---|
| Size | 145.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7281150f7cf74865ac64f1640bed41b2792c1ca8d02b794f4e09b3c8639165b0
|
|
BLAKE2b-256 checksum How to use checksums |
cd07871c8d726e2af5dbd24486e2c4f556c4bf6a859980b8303b2ee1551fccea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency log