Skip to main content

Distill

CI PyPI Python License: Apache 2.0 Python 3.12+

Distill turns a research goal into a persistent, verifiable body of evidence. It finds papers, talks, and pages from operator-trusted sites, captures supplied repos, podcasts, feeds, posts, and local files, analyzes them with source receipts, verifies claims before write, and synthesizes a local plain-Markdown corpus. Use it to understand a field, inspect the evidence, ask cited questions, and keep the research current across repeated runs.

PyPI package distillr; CLI is distill (plus distill-mcp).

Install and first run

uv tool install distillr
distill --cost-mode no-metered init
distill --cost-mode no-metered papers "temporal knowledge graph" --topic tkg --limit 5 --preview

no-metered refuses API-billed or unproved routes. Preview builds a current arXiv shortlist without ingesting. Ollama requires a cloud-disabled daemon and an installed local model; localhost alone is insufficient. Follow the local setup and upgrade steps before inference. On a proven local Ollama or LM Studio route the direct API spend is $0.00 and the budget is wall clock: a two-paper ingest can take an hour on a laptop, and that is the control, not a hang. Run distill bench once so preview can print how long the full ingest will take on this machine. If local inference is up, use it to ingest more and stay more current: ad hoc commands at the keyboard, distill profile refresh --max-hours 6 --yes after hours so many topics keep feeding the markdown wiki. When API spend is OK, the same pipeline goes wide and fast. When the shortlist looks right:

distill --cost-mode paid-ok papers "temporal knowledge graph" --topic tkg --limit 20
distill --cost-mode paid-ok papers "temporal knowledge graph" --topic tkg --limit 20 --workers 3

Paid-ok is how you do a lot quickly: preview the shortlist, then ingest a large set in minutes instead of hours. Paper analysis stays one-at-a-time by default. After reviewing the projected total, --workers 2 or --workers 3 analyzes independent papers in a small bounded group. Discovery, artifact writes, verification, synthesis, and report sections remain serialized.

Hard dollar budgets cover registered token-priced calls. Gemini Deep Research has no provider request-side dollar ceiling, so Distill refuses that agent before remote setup whenever a hard workflow or MCP budget is active.

distill papers CLI demo with synthetic paper titles, progress lines, cost summary, and Markdown corpus artifacts

Illustrative demo (synthetic titles and paths). Real runs use current arXiv results and your configured model route. Distill estimates the selected route before spend; actual cost and duration depend on source size and model output.

Alternate installers, keys, local models, and updates: docs/install.md. Full command reference: docs/usage.md.

OpenRouter is available as an optional metered route when direct-provider quota or local inference is not suitable. It requires an explicit concrete author/model slug, requests Zero Data Retention routing by default, records OpenRouter's reported billed cost, and remains blocked by no-metered. General research commands never select it automatically. The opt-in editorial workflow can use explicitly configured OpenRouter routes when local inference is unavailable. See the provider setup.

Write from a private perspective

distill editorial reads current publisher sources, develops and critiques blog ideas, plans an argument, drafts, rewrites, reviews the evidence and voice, and exports clean Markdown and DOCX. Keep the writer's role, company, audience and style in a Git-ignored perspective file:

distill editorial init
distill editorial preview
distill editorial run

Set an installed local model in private/perspective.toml. To permit the named OpenRouter routes, explicitly enable budget.allow_metered; the example has a $5 weekly and $2 per-run ceiling. Persistent reservations prevent concurrent runs or restarts from silently resetting spend. The paid first draft always receives a non-Anthropic rewrite, followed by evidence and editorial checks. Retonr's existing candidate checker is optional. Outputs remain private drafts for review. See editorial setup and the dated model comparison.

To use the process directly in an agent host, choose the optional standalone editorial skill. It uses the host's research, writing and document tools, with a private person or company perspective. Distillr and Retonr are optional. Skill and plugin packages cover Copilot, Claude, Cowork, Codex and the portable Agent Plugins format. A skill alone cannot enforce a dollar cap; paid calls need an enforcing adapter.

What you get

One local library/ of plain Markdown: no database, no cloud lock-in. Same pipeline shape for every source (capture → analyze → verify → synthesize), with a write-time verify gate.

Source Entry point
YouTube distill latest, distill video, distill discover
Websites distill site, distill site-batch
arXiv distill papers
X, repos, podcasts, newsletters, local files distill ingest <url-or-path>

Plus distill ask (cited answers from the corpus), distill audit (free trust report), and distill report (a corpus-first sequential report by default, with explicit accordion and Deep Research profiles). MCP and recurring profiles expose the same durable corpus to agents. Artifact layout and samples: docs/outputs.md. Real example corpus: examples/.

The product direction is an exceptional research desk, not a larger pile of files: better source curation, clearer disagreement and lineage, meaningful change across refreshes, and guidance on what to read or investigate next. The development doctrine and feature-admission test are in docs/design/research-desk-doctrine.md.

Corpus agent distribution uses one canonical Agent Skill plus an Agent Plugins 1.0.0 portable package and separate client compatibility surfaces. Version 1.0.0 is published. distill export <topic> --format okf produces an OKF v0.2 projection with portable provenance, bounded receipt copies, lifecycle fields, and digest-bound machine-verification events. The native library/ remains the source of truth. Exact standards boundaries and update policy: docs/interoperability.md.

How Distill differs from Deep Research tools, notebooks, and Markdown wikis: docs/positioning.md.

Docs

Doc For
docs/README.md Full documentation index
docs/usage.md Commands, flags, first recipes
docs/install.md Install, providers, local models
docs/cost.md Cost model and guardrails
docs/mcp.md MCP tools and agent paths
docs/outputs.md What every artifact contains
docs/architecture.md Data flow and routing
docs/invariants.md Design charter
docs/design/research-desk-doctrine.md Product doctrine and feature rubric
docs/interoperability.md Agent Plugins and OKF baselines
docs/SECURITY.md Trust boundaries and disclosure
docs/CONTRIBUTING.md Dev setup and quality gates
docs/CHANGELOG.md What shipped
ROADMAP.md Versioned next steps and 1.0 exit gates

Status

Active beta with a broad working surface: sources, discovery, verification, synthesis, ask, audit, MCP, dashboard, profiles, and deferred workers. Every change clears the same release gate: 95% branch coverage, Ruff, Pyright, import-linter, Bandit, pip-audit, the supported Python matrix, and build provenance. Covered v1 contract snapshots are freeze-ready under the published compatibility policy. Pin versions if you integrate on MCP schemas or frontmatter because uncovered pre-1.0 surfaces can still improve additively.

Version 1.0 is a future stability commitment, not a calendar date. Five paired Linux and macOS runs now characterize public-runner variance and support an advisory regression policy. The remaining gates include cross-platform install, cold-start, export, live-journey, accessibility, and freeze-time security evidence. See the roadmap and comparable performance history.

License

Apache 2.0. See LICENSE.

Metadata

Release files for distillr 0.20.3

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

Source distribution (sdist)

Source distribution for distillr 0.20.3
File Size Uploaded
distillr-0.20.3.tar.gz 968.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for distillr 0.20.3
File Interpreter ABI Platform
distillr-0.20.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / distillr-0.20.3.tar.gz

Download URL distillr-0.20.3.tar.gz
Size 968.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4500cac325de18b939e6ada4c7e57296c2f9f43085cc6f2df948bf9c4fac2b36
BLAKE2b-256 checksum
How to use checksums
d271749fdbfe8f5b92423f30d2493e1948f60d73a9b2623e3ea197426745e442
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Sep 17, 2026.

Transparency log

Release files / distillr-0.20.3-py3-none-any.whl

Download URL distillr-0.20.3-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
817def7f88202af02b8eb5c26ea3a2999b5fff532c7c4a35f74bad128547cbb1
BLAKE2b-256 checksum
How to use checksums
052743220d83f3cd766d77e68ac9e859ff76a88c947379ee00351230a173601f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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 Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.20.6

2 release files

0.20.4

2 release files

This release

0.20.3 This release

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.19.9

2 release files

0.19.8

2 release files

0.19.7

2 release files

0.19.6

2 release files

0.19.5

2 release files

0.19.4

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.3

2 release files

0.18.2

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.9

2 release files

0.16.8

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.12.9

2 release files

0.12.8

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.31

2 release files

0.9.30

2 release files

0.9.29

2 release files

0.9.28

2 release files

0.9.27

2 release files

0.9.26

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.0

2 release files

0.8.12

2 release files

0.8.11

2 release files

0.8.10

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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