Skip to main content

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 the three questions every paper should be able to answer:

  1. Why should I care? - What problem does this address and why does it matter?
  2. What's the actual innovation? - What's the core idea in plain terms?
  3. Is the evidence convincing? - Do the experiments actually support the claims?

Installation

pip install fluff-cutter

Requires Python 3.10+.

Development install

git clone https://github.com/weijianzhg/paper-fluff-cutter.git
cd paper-fluff-cutter
pip install -e .

Configuration

Option 1: Interactive setup (recommended)

fluff-cutter init

This will prompt you for your API keys, default provider, and model preferences, then save them to ~/.fluff-cutter/config.yaml.

Option 2: Environment variables

export OPENAI_API_KEY=sk-your-key-here
export ANTHROPIC_API_KEY=sk-ant-your-key-here
export OPENROUTER_API_KEY=sk-or-your-key-here
export FLUFF_CUTTER_PROVIDER=anthropic  # optional, default provider
export FLUFF_CUTTER_OPENAI_MODEL=gpt-5.2  # optional, override default model
export FLUFF_CUTTER_ANTHROPIC_MODEL=claude-sonnet-4-5  # optional, override default model
export FLUFF_CUTTER_OPENROUTER_MODEL=anthropic/claude-sonnet-4-5  # optional, override default model

Usage

Basic usage

fluff-cutter analyze paper.pdf

By default, the analysis is saved to a .md file with the same name as the input (e.g., paper.pdfpaper.md).

Analyze from URL

You can pass a URL directly instead of a local file. The PDF will be downloaded to the current directory and then analyzed:

fluff-cutter analyze https://arxiv.org/pdf/2411.19870

Arxiv abstract URLs (/abs/) are automatically converted to PDF URLs. If the PDF has already been downloaded, it will be reused without re-downloading.

Specify output file

fluff-cutter analyze paper.pdf --output analysis.md

Print to stdout

fluff-cutter analyze paper.pdf --print

Specify provider

fluff-cutter analyze paper.pdf --provider openai
fluff-cutter analyze paper.pdf --provider anthropic
fluff-cutter analyze paper.pdf --provider openrouter

Specify model

fluff-cutter analyze paper.pdf --provider openai --model gpt-5.2
fluff-cutter analyze paper.pdf --provider anthropic --model claude-sonnet-4-5
fluff-cutter analyze paper.pdf --provider openrouter --model google/gemini-2.5-pro

Long papers

For very long papers that exceed the model's token limit, you can limit the number of pages:

fluff-cutter analyze paper.pdf --max-pages 30

If you don't specify --max-pages and the paper exceeds the token limit, it will automatically truncate to the first 50 pages and retry.

Supported Providers

Provider Default Model Environment Variable Notes
OpenAI gpt-5.2 OPENAI_API_KEY Native PDF support
Anthropic claude-sonnet-4-5 ANTHROPIC_API_KEY Native PDF support
OpenRouter anthropic/claude-sonnet-4-5 OPENROUTER_API_KEY Access to 300+ models

All providers support PDF input natively - no external dependencies like poppler needed.

Configuration Precedence

Configuration is loaded with the following precedence (highest to lowest):

  1. Command-line arguments (--provider, --model)
  2. Environment variables (FLUFF_CUTTER_PROVIDER, FLUFF_CUTTER_*_MODEL)
  3. Config file (~/.fluff-cutter/config.yaml)
  4. Provider defaults

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fluff_cutter-0.4.0.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fluff_cutter-0.4.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file fluff_cutter-0.4.0.tar.gz.

File metadata

  • Download URL: fluff_cutter-0.4.0.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fluff_cutter-0.4.0.tar.gz
Algorithm Hash digest
SHA256 998cd0cf2134a81f1d9b2aa4810bba60277176c531135014b7caef6918392ba8
MD5 3f314343d356c6e050ddddbc98e3e312
BLAKE2b-256 9bd7cdb3568321413f459b9434c87dec8a84588c33a5334a558da550a2997a91

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluff_cutter-0.4.0.tar.gz:

Publisher: publish.yml on weijianzhg/paper-fluff-cutter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fluff_cutter-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: fluff_cutter-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fluff_cutter-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00056d5be283325b245f6cb6da37b97a07715b9b446b305509c5421a5f45ce83
MD5 efc269cb90fe1c26423325aed3415080
BLAKE2b-256 36a8e8a140340db9474fad408496bb16fbf7b0f3a34b1e46e83452502c7617be

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluff_cutter-0.4.0-py3-none-any.whl:

Publisher: publish.yml on weijianzhg/paper-fluff-cutter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page