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).

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.3.0.tar.gz (17.4 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.3.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluff_cutter-0.3.0.tar.gz
  • Upload date:
  • Size: 17.4 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.3.0.tar.gz
Algorithm Hash digest
SHA256 186d795da1e9e37a4beb5d1f4b53ae6d7561eb9225b3bd088e4498b644e63d57
MD5 13a74a42f13af66140da36747d7cfac5
BLAKE2b-256 f4f8b02f39e304e3006a2f47953d3cdc460ab4b98b690d2395220a9033010f5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluff_cutter-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: fluff_cutter-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 15.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88712872409b3ff0a0b5e02a7622fc215d96899ae49a610d4b4ec37429c3d518
MD5 a939f5f18dccb59dffd5b612df3b7d12
BLAKE2b-256 4eabe9b848dc526f39b500244f0ecf69de0614a5f55a723e18859d56fc6dc861

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluff_cutter-0.3.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