Automate creation of reports and working directories for literature reviews
Project description
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
anddefaultlayout.md
to reflect that. But I want a slightly different layout for my RL papers, even if they use the sameconfig.yaml
. I can createrlpaper.md
and call litreview with the--layoutfile rlpaper.md
argument whenever I review RL papers. Both of these use mostly the sameconfig
arguments, so I'm fine withconfig.yaml
. - I review both biology and astrology papers. The
config
needed for these is completely different. Astrology papers useArxiv
, but biology papers come from Nature (or whatever, I'm not a bio person k). I can setconfig.yaml
to useArxiv
(like it does by default), and createbio.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
andbiopaper.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 aargs
object. To add this functionnality, I can simply add
to the layout file.Link to the PDF: ./{args.pdfdirname}/{data.filename()}
- 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.
You get the idea.My username from my computer, for some reason? {subprocess.run("whoami", shell=True, unviversal_newlines=True, capture_output=True).stdout}
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lit-review-0.0.9.tar.gz
.
File metadata
- Download URL: lit-review-0.0.9.tar.gz
- Upload date:
- Size: 24.2 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fe3fab1b901398227b25b71b4ff5eccfa43b62e0a84488b41ec347676d0e067 |
|
MD5 | 71b8f8a1127777e7c08be7d19021ed57 |
|
BLAKE2b-256 | 9a1c32205fbdbb3b457fdb3ddc23d97a2b398121976eda59bb7bd3a94601e2a8 |
File details
Details for the file lit_review-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: lit_review-0.0.9-py3-none-any.whl
- Upload date:
- Size: 28.8 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 067782002cb3f023925b1aa97a1e17f0e95be01f8999a974cf26daa1b9caac5c |
|
MD5 | 1697af57c1b2c36ec005cd351e53501a |
|
BLAKE2b-256 | d915a33992a071f59050ef59f35e0a7768e9bfa265c2316e87dd6977f72c3c4f |