/i-hate-papers

Create easily readable versions of academic papers via OpenAI

Primary LanguagePython

I "Hate" Papers

Create easily readable versions of papers via OpenAI

I often need to read a paper to provide background on a related topic. In these cases the technical depth of a paper can be a major obstacle. So I created I Hate Papers to create easily digestible versions of academic research.

Currently works with:

  • An arXiv paper ID
  • A local .tex file
  • A local .md file
  • A local .html file (experimental)

Installation

pip install i-hate-papers

Example use

# First set your OpenAI API key
❱ export OPENAI_API_KEY=...

# Summarise a arXiv paper ID
❱ i_hate_papers 2106.09685

# Summarise a latex file
❱ i_hate_papers path/to/some-paper.tex

# Summarise a html file
❱ i_hate_papers path/to/some-paper.html

Example output

Reference

❱ i_hate_papers --help
usage: i_hate_papers [-h] [--verbosity {0,1,2}] [--no-input] [--no-html] [--no-open] [--no-footer] 
                     [--no-glossary] [--detail-level {0,1,2}] [--model MODEL] INPUT

Summarise an academic paper

You must set the OPENAI_API_KEY environment variable using your OpenAi.com API key

positional arguments:
  INPUT                 arXiv paper ID (example: 1234.56789) or path to a .tex/.html/.md file

options:
  -h, --help            show this help message and exit
  --verbosity {0,1,2}   Set the logging verbosity (0 = quiet, 1 = info logging, 2 = debug logging). Default is 1
  --no-input            Don't prompt for file selection, just use the largest tex file
  --no-html             Skip HTML file generation
  --no-open             Don't open the HTML file when complete (macOS only)
  --no-footer           Don't include a footer containing metadata
  --no-glossary         Don't include a glossary
  --detail-level {0,1,2}
                        How detailed should the summary be? (0 = minimal detail, 1 = normal, 2 = more detail)
  --model MODEL         What model to use to generate the summaries

Release process

For internal use:

export VERSION=0.1.1
poetry version $VERSION
git ci -a -m "Releasing version $VERSION"
git tag "v$VERSION"
git push origin main refs/tags/v$VERSION
poetry publish --build