Skip to main content

litreview

Automates the creation of reports for literature reviews.

Install

pip3 install lit-review

(Don't confound this tool with this one.)

Usage

Simply call

litreview <url> <categories>+

There are also a few optional arguments you can learn about by calling

litreview --help

The most relevant are listed here:

  • --pdfdirname allows you to change the (local) directory where the pdf files will be created
  • --postdirname allows you to change the (local) directory where the report will be create
  • --archive allows you to change the website scrapper to use
  • --overwriteconf allows you to reset the configuration files to their defaults
  • --configfile allows you to change the name of the config file to use
  • --layoutfile allows you to change the name of the layout file to use

Configurations

This utility will write config files to /home/$USER/.config/litreview. By default, the files the script uses are config.yaml and defaultlayout.md. But you can add new config and layout files to /home/$USER/.config/litreview easily, and litreview will be able to use them.

Some use cases:

  • I mostly want to review ML papers. I am going to change config.yaml and defaultlayout.md to reflect that. But I want a slightly different layout for my RL papers, even if they use the same config.yaml. I can create rlpaper.md and call litreview with the --layoutfile rlpaper.md argument whenever I review RL papers. Both of these use mostly the same config arguments, so I'm fine with config.yaml.
  • I review both biology and astrology papers. The config needed for these is completely different. Astrology papers use Arxiv, but biology papers come from Nature (or whatever, I'm not a bio person k). I can set config.yaml to use Arxiv (like it does by default), and create bio.yaml to use Nature (and set the other parameters I need to review bio papers). When I review bio papers, I can call litreview with --configfile bio.yaml and biopaper.md, if I have also created a new layout file.
  • I want to make my reports link to the PDF and its annotated version. I can open up the layout file I am using, and write the links there in python's fstring formatting! Litreview provieds the entire extracted data from the URL of the paper inside a data object along with every single argument parsed from the command line inside a args object. To add this functionnality, I can simply add
    Link to the PDF: ./{args.pdfdirname}/{data.filename()}
    
    to the layout file.
  • Okay, but I actually want to do something a bit funkier. Like, I don't know, reference the username I am using on this current computer, or something. Well, litreview just uses fstrings for its report format. It's trivial to just add python code to the layout file.
    My username from my computer, for some reason? {subprocess.run("whoami", shell=True, unviversal_newlines=True, capture_output=True).stdout}
    
    You get the idea.

Workflow

You want to review the paper with this link https://arxiv.org/abs/2006.11259.

litreview https://arxiv.org/abs/2006.11259 rl ml proofs

This downloads the PDF for the paper found at that link and writes it to the local pdfs folder under the 2006.11259 directory. It also duplicates it with a _annotated modifier to the file name. This way you have a working copy to doodle in while also preserving the "clean" copy in a neat, organised way.

This also extracts a bunch of information from the link. It then writes a new report under the _posts local directory. The report's name is the date, plus 2006.11259. The report includes key, useful information, like the title of the paper, its authors, the date it was published, the current date, the rl ml proofs categories you associated with it, and its abstract. It also sets up an area for you to write in.

Philosophy/Why litreview instead of other tools?

The main goal of litreview is to be completely open source, and completely understandable.

Litreview is incredibly easy to work on, and new extractors can be added trivially, simply by editing litreview/src/extractor.py.

I created this tool because I was frustrated with the other tools out there, because it was hard for me to extend their functionality to do what I wanted to do. And when they did support what I wanted, the tools were bulky and included a billion other things. No. This is a simple, easy to use tool to help remove the overhead associated with reviewing papers, and nothing else.

This tool is self-contained. It does not depend on firefox being installed, or Selenium, etc.

Contribute

Currently, litreview only has an extractor for Arxiv. It would be cool to add extractors for many, many paper archives.

If you want to participate to this project, PRs are strongly encouraged.

Metadata

Release files for lit-review 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lit-review 0.0.9
File Size Uploaded Provenance Actions
lit-review-0.0.9.tar.gz 24.2 kB Without provenance Details for lit-review-0.0.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lit-review 0.0.9
File Interpreter ABI Platform Actions
lit_review-0.0.9-py3-none-any.whl Python 3 none any Details for lit_review-0.0.9-py3-none-any.whl

Total release size: 53.1 kB

Release files / lit-review-0.0.9.tar.gz

Download URL lit-review-0.0.9.tar.gz
Size 24.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0fe3fab1b901398227b25b71b4ff5eccfa43b62e0a84488b41ec347676d0e067
BLAKE2b-256 checksum
How to use checksums
9a1c32205fbdbb3b457fdb3ddc23d97a2b398121976eda59bb7bd3a94601e2a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

Release files / lit_review-0.0.9-py3-none-any.whl

Download URL lit_review-0.0.9-py3-none-any.whl
Size 28.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
067782002cb3f023925b1aa97a1e17f0e95be01f8999a974cf26daa1b9caac5c
BLAKE2b-256 checksum
How to use checksums
d915a33992a071f59050ef59f35e0a7768e9bfa265c2316e87dd6977f72c3c4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

Security for lit-review 0.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page