Distill
Point Distill at a research goal. It finds papers, talks, and pages from operator-trusted sites, captures supplied repos, podcasts, feeds, posts, and local files, analyzes each into structured insights with source receipts, verifies claims before write, and synthesizes a plain-Markdown corpus on your disk. Browse it in Obsidian, query it over MCP, ask cited questions that can re-enter the corpus, and refresh on a cadence instead of going stale.
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 only allows routes Distill can prove are not API-billed. Preview
builds a current arXiv shortlist without ingesting. When the shortlist looks
right:
distill --cost-mode paid-ok papers "temporal knowledge graph" --topic tkg --limit 20
Paper analysis stays one-at-a-time by default. After reviewing the projected
total, pass --workers 2 or --workers 3 to analyze independent papers in a
small bounded group. Discovery, artifact writes, verification, synthesis, and
report sections remain serialized.
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.
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/.
Agent distribution uses one canonical Agent Skill plus an
Agent Plugins 1.0.0 portable package
and separate client compatibility surfaces. The specification is currently a
Working Draft. 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/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 |
What is next |
Status
Active beta with a broad working surface (sources, discovery, verify, synthesis,
ask, audit, MCP, dashboard, profiles, deferred workers). Every change still
clears the same release gate (95% branch coverage, ruff, pyright, import-linter,
bandit, pip-audit, supported Python matrix, build provenance). Covered v1
contract snapshots are freeze-ready under the published compatibility policy;
uncovered pre-1.0 surfaces can still improve additively. Pin versions if you
integrate on MCP schemas or frontmatter. 1.0 is a future stability commitment,
not a calendar date:
ROADMAP.md.
License
Apache 2.0. See LICENSE.
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 distillr-0.19.54.tar.gz.
File metadata
- Download URL: distillr-0.19.54.tar.gz
- Upload date:
- Size: 889.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
647f158605336f9adefee9b7ceec323152c3cb7142e0fcf687b8841be8659ebe
|
|
| MD5 |
be570c31038b714311e2e74fbb5815c7
|
|
| BLAKE2b-256 |
56d783a693aa9016a3ae0c591cfd71550c67f7ba5a0619b848865b8fc900f0c8
|
Provenance
The following attestation bundles were made for distillr-0.19.54.tar.gz:
Publisher:
publish.yml on blisspixel/distillr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
distillr-0.19.54.tar.gz -
Subject digest:
647f158605336f9adefee9b7ceec323152c3cb7142e0fcf687b8841be8659ebe - Sigstore transparency entry: 2457532200
- Sigstore integration time:
-
Permalink:
blisspixel/distillr@84dd0060d09a7055b46de9518e39ab7c144ab875 -
Branch / Tag:
refs/tags/v0.19.54 - Owner: https://github.com/blisspixel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@84dd0060d09a7055b46de9518e39ab7c144ab875 -
Trigger Event:
push
-
Statement type:
File details
Details for the file distillr-0.19.54-py3-none-any.whl.
File metadata
- Download URL: distillr-0.19.54-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68343999533e731133c6bf4b207b4c6eac442f26781bef31e64628117c28a5ef
|
|
| MD5 |
0f33752844ec797c332d181552d75865
|
|
| BLAKE2b-256 |
b4e274183b3428548a7b8aaa3f8e023d1d53a0021efb3a8883efb050c0faee8b
|
Provenance
The following attestation bundles were made for distillr-0.19.54-py3-none-any.whl:
Publisher:
publish.yml on blisspixel/distillr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
distillr-0.19.54-py3-none-any.whl -
Subject digest:
68343999533e731133c6bf4b207b4c6eac442f26781bef31e64628117c28a5ef - Sigstore transparency entry: 2457532249
- Sigstore integration time:
-
Permalink:
blisspixel/distillr@84dd0060d09a7055b46de9518e39ab7c144ab875 -
Branch / Tag:
refs/tags/v0.19.54 - Owner: https://github.com/blisspixel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@84dd0060d09a7055b46de9518e39ab7c144ab875 -
Trigger Event:
push
-
Statement type: