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 three questions:

  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?

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

Wiki workflow

For persistent research tracking, you can keep a markdown wiki alongside the raw PDFs:

# Create a wiki project
fluff-cutter wiki init ./research-wiki

# Analyze a paper and ingest it into the wiki
fluff-cutter wiki add https://arxiv.org/pdf/2411.19870 --root ./research-wiki

# Inspect the wiki
fluff-cutter wiki ls --root ./research-wiki
fluff-cutter wiki status --root ./research-wiki
fluff-cutter wiki query "agents planning" --root ./research-wiki

# Maintenance
fluff-cutter wiki rebuild --root ./research-wiki
fluff-cutter wiki doctor --root ./research-wiki
fluff-cutter wiki remove paper-slug --root ./research-wiki --delete-pdf

The wiki layout looks like this:

research-wiki/
├── fluff-cutter.yaml
├── raw/
│   └── pdfs/
└── wiki/
    ├── papers/
    ├── topics/
    ├── concepts/
    ├── queries/
    ├── index.md
    ├── overview.md
    └── log.md

By default, results are printed to the terminal and saved as a .md file next to the input PDF. Model output streams live during analysis (provider-side streaming), so you see tokens immediately instead of waiting for full completion.

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


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.5.0.tar.gz (29.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.5.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fluff_cutter-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9ddb8fe113331f2327457998dc1a2aec6f8598a7929b81965a2e3244f34f4138
MD5 02921b46f07e717f4400a80653d44e90
BLAKE2b-256 d11dbeb40f4e37e3dcea2df657bc11ebe1bba3d48ab733551b9be80260ad437d

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for fluff_cutter-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 950024989e0546f5d44a2524e49469a660ae176198fa4c977069c3cff5e4b37e
MD5 002bd5a99ba2100dfa5c521a8330fbca
BLAKE2b-256 b1012214c00d3ee903201d10c35c980fdb95855b6bc5ca073d0ec0e9c1d646a9

See more details on using hashes here.

Provenance

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