A CLI tool to analyze academic papers and extract their core value
Project description
Paper Fluff Cutter
A CLI tool that cuts through academic paper fluff to extract what actually matters.
Most research has close to zero value. This tool uses multimodal LLMs to analyze papers and answer three questions:
- Why should I care? - What problem does this address and why does it matter?
- What's the actual innovation? - What's the core idea in plain terms?
- Is the evidence convincing? - Do the experiments actually support the claims?
Quick Start
pip install fluff-cutter
fluff-cutter init # set up API keys and defaults
fluff-cutter analyze paper.pdf
Requires Python 3.10+.
Usage
# Local file
fluff-cutter analyze paper.pdf
# URL (arxiv /abs/ links are auto-converted to PDF)
fluff-cutter analyze https://arxiv.org/pdf/2411.19870
# Options
fluff-cutter analyze paper.pdf --output analysis.md # custom output path
fluff-cutter analyze paper.pdf --print # stdout only, no file
fluff-cutter analyze paper.pdf --provider openai # openai, anthropic, openrouter
fluff-cutter analyze paper.pdf --model gpt-5.2 # override default model
fluff-cutter analyze paper.pdf --max-pages 30 # limit pages for long papers
By default, results are printed to the terminal and saved as a .md file next to the input PDF.
Supported Providers
| Provider | Default Model | Env Variable |
|---|---|---|
| OpenAI | gpt-5.2 | OPENAI_API_KEY |
| Anthropic | claude-sonnet-4-5 | ANTHROPIC_API_KEY |
| OpenRouter | anthropic/claude-sonnet-4-5 | OPENROUTER_API_KEY |
All providers support native PDF input -- no external dependencies like poppler needed.
Configuration
Run fluff-cutter init for interactive setup, or set environment variables directly:
export OPENAI_API_KEY=sk-your-key-here
export FLUFF_CUTTER_PROVIDER=anthropic # default provider
export FLUFF_CUTTER_ANTHROPIC_MODEL=claude-sonnet-4-5 # override model
Config is read in this order (highest priority first): CLI flags, env variables, ~/.fluff-cutter/config.yaml, provider defaults.
License
MIT
Project details
Release history Release notifications | RSS feed
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 fluff_cutter-0.4.1.tar.gz.
File metadata
- Download URL: fluff_cutter-0.4.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43cfd4a57ddc612c77ab1643e0e1a077fc3f760a8acc97cdbd6a438a6ae12a41
|
|
| MD5 |
ad7d48ab367900b465a06a514820b5e3
|
|
| BLAKE2b-256 |
be8a4e57ea7b29aaddd94dee7498bd3c99b318c4e88e605e793553fa61586b6f
|
Provenance
The following attestation bundles were made for fluff_cutter-0.4.1.tar.gz:
Publisher:
publish.yml on weijianzhg/paper-fluff-cutter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fluff_cutter-0.4.1.tar.gz -
Subject digest:
43cfd4a57ddc612c77ab1643e0e1a077fc3f760a8acc97cdbd6a438a6ae12a41 - Sigstore transparency entry: 940022682
- Sigstore integration time:
-
Permalink:
weijianzhg/paper-fluff-cutter@ceba014418758e1b797f506cfd7115fc9c61fdb8 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/weijianzhg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ceba014418758e1b797f506cfd7115fc9c61fdb8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fluff_cutter-0.4.1-py3-none-any.whl.
File metadata
- Download URL: fluff_cutter-0.4.1-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c788dd76470b9221ebb8f3b349ced053ee4115e65bc8c44157d1a23441e0b9b9
|
|
| MD5 |
f64e8b3cf8bc9a9598a032912ed332ba
|
|
| BLAKE2b-256 |
a51927918c6870901bf8d45b0978d9065105e089c3b5f440ede065a02a883cea
|
Provenance
The following attestation bundles were made for fluff_cutter-0.4.1-py3-none-any.whl:
Publisher:
publish.yml on weijianzhg/paper-fluff-cutter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fluff_cutter-0.4.1-py3-none-any.whl -
Subject digest:
c788dd76470b9221ebb8f3b349ced053ee4115e65bc8c44157d1a23441e0b9b9 - Sigstore transparency entry: 940022707
- Sigstore integration time:
-
Permalink:
weijianzhg/paper-fluff-cutter@ceba014418758e1b797f506cfd7115fc9c61fdb8 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/weijianzhg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ceba014418758e1b797f506cfd7115fc9c61fdb8 -
Trigger Event:
push
-
Statement type: