Skip to main content

weft-rag

Weft packages selectable RAG pipelines with reproducible comparisons, executable claims and inspectable routing decisions. This is the default install: the packs that index a directory and answer a question about it, and the weft command. What each pipeline was measured to buy over plain dense retrieval, at what cost, is on the project page.

The distribution is weft-rag; the command is weft — the name weft belongs to an unrelated project on PyPI, so what you install and what you run are spelled differently:

uvx --from weft-rag weft --help

What is in it, and what is not

Twenty-three packs ship here and each keeps its own identity: weft plugins list prints one row per pack, and weft.toml configures one at a time — [packs.store], not [packs.weft-rag].

One distribution publishes beside this one, and it is separate for a single reason:

weft-kernel the registry, discovery, the pipeline model and the payload types. Depends on pydantic and opentelemetry-api and nothing else, and installs and imports alone — which is what proves the kernel names no capability

Six packs that used to be their own distributions now ship inside this wheel instead, each behind an extra that keeps its outside library declinable — G19, 2026-09-09:

extra pack needs
[openai] an Embedder and an LLMProvider against the OpenAI API openai, pillow, and a credential
[pdf] two PDF extraction backends pypdf, pdfplumber
[qdrant] a Qdrant store backend, beside the pgvector one shipped here qdrant-client
[otel] sets the OpenTelemetry TracerProvider the registration seam already emits spans into opentelemetry-sdk
[docling] a learned-layout PDF extraction backend docling-slim
— agent, the first-party agentic front end. Imports nothing outside this wheel, so it needs no extra none

weft-rag[all] installs every one of those libraries at once. graph — the Postgres-backed graph-traversal pack added at ledger task 11.5 — was never a separate distribution either and needs no extra.

None of these seven packs is needed to index a directory and query it. A pack neither we nor you wrote installs beside this wheel on exactly the same terms and is discovered the same way, with no edit to anything here — that is the extension model, not a courtesy.

See docs/09-release.md §1 for why this is one wheel rather than many — fourteen packs at G10 (2026-08-22), six more folded in by G19 (2026-09-09).

What installing this trusts

A pack runs with your full privileges, and installing one is trusting it. Weft discovers packs through Python entry points and calls their register() in this process, so a pack can do anything the interpreter can do. That is stated rather than mitigated, because the mitigations are not available: signature verification, sandboxing, per-pack privilege separation, and any defence against a pack that is hostile once running are all out of reach without a process boundary, which Weft does not have.

What Weft does give you is visibility and refusal, not containment:

  • weft plugins doctor names every distribution that is installed, at what version, and what each one discloses about the network, filesystem and subprocess access it uses. A disclosure is what the pack says about itself; nothing checks it.
  • [packs] allow in weft.toml is an exhaustive pin. Anything not listed is never imported — refusal before any of its code runs, which is the one control that does work without a process boundary.

A control that looked like enforcement but was not would be worse than an acknowledged gap, because people build policy on it. docs/02-extension-model.md §2 is the argument in full.

Metadata

Release files for weft-rag 3.3.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 weft-rag 3.3.0
File Size Uploaded Provenance
weft_rag-3.3.0.tar.gz 1.4 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for weft-rag 3.3.0
File Interpreter ABI Platform
weft_rag-3.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.1 MB

Release files / weft_rag-3.3.0.tar.gz

Download URL weft_rag-3.3.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
a93770b0521f9f9d987ee67dee80f106c43976999194691722d71d90fa15533a
BLAKE2b-256 checksum
How to use checksums
4ac359e305ee371728c4bc6c7363d3691be7cb2168f297fdc0842aa475ef9f7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / weft_rag-3.3.0-py3-none-any.whl

Download URL weft_rag-3.3.0-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c7df65ed5cb24bd6e3acd9bf6385c90a9b483967963d042dba0291d772e87a26
BLAKE2b-256 checksum
How to use checksums
c1236e18da6b2c55989ed16aaeeec1e17cdfa9112ccd9aa45a257a64cff52db8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for weft-rag 3.3.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.

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