Skip to content

Latest commit

 

History

History
110 lines (85 loc) · 3.65 KB

README.md

File metadata and controls

110 lines (85 loc) · 3.65 KB

Papis

Build Status

Documentation Status PyPI version

Description

Papis is a powerful and highly extensible command-line based document and bibliography manager.

Take a look at the documentation!

Super quick start

Install papis with pip3

sudo pip3 install papis

Let us download a couple of documents

wget http://www.gnu.org/s/libc/manual/pdf/libc.pdf
wget http://www.ams.org/notices/201304/rnoti-p434.pdf 

Now add them to the (defaultly created) library

papis add libc.pdf --author "Sandra Loosemore" --title "GNU C reference manual" --confirm
# Get paper information automatically via de DOI
papis add --from-doi 10.1090/noti963 rnoti-p434.pdf 

Now open one for example

papis open

asciicast Or edit them and export them to bibtex

papis edit
papis export --all --bibtex > mylib.bib

asciicast

find help messages in all commands:

papis -h
papis add -h

asciicast AND MUCH, MUCH MORE!

Main features

  • Synchronizing of documents: put your documents in some folder and synchronize it using the tools you love: git, dropbox, rsync, OwnCloud, Google Drive ... whatever.
  • Share libraries with colleagues without forcing them to open an account, nowhere, never.
  • Download directly paper information from DOI number via Crossref.
  • (optional) scihub support, use the example papis script examples/scripts/papis-scihub to download papers from scihub and add them to your library with all the relevant information, in a matter of seconds.
  • Import from Zotero using the examples/scripts/papis-zotero.
  • Create custom scripts to help you achieve great tasks easily (doc).
  • Export documents into many formats (bibtex, yaml..)
  • Command-line granularity, all the power of a library at the tip of your fingers.

Help Wanted

Papis is looking for active developers to help improve the code.

TODO

  • Implement a mini query language in order to filter by field the searches, for example:
    papis open "author=stein year=192 ueber die "
    
    so that it matches all papers with a regex match for stein, then also where the year matches 192 (i.e., 1920, 1921...) and then also it matches ueber die using the default match-format configuration variable. This can be done by updating the function papis.utils.match_document.
  • Match search strings to documents using multiple cores through the standard multiprocess module.
  • Make sure that setup.py installs the python-rofi module from https://github.com/alejandrogallo/python-rofi and not from the original website.
  • Bibitem support for exporting references in the export command. (Done through the --template option of list)
  • Youtube video explaining the main uses of papis.
  • Implement proxy to donwload papers.
  • Testing on Windows.
  • Logo.
  • Gtk or Qt based GUI.