papis / papis

Powerful and highly extensible command-line based document and bibliography manager.

Home Page:http://papis.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Papis

ghbadge RTD CodeQL Pypi zenodo_badge

Papis is a powerful and highly extensible CLI document and bibliography manager.

first_glance

With Papis, you can search your library for books and papers, add documents and notes, import and export to and from other formats, and much much more. Papis uses a human-readable and easily hackable .yaml file to store each entry's bibliographical data. It strives to be easy to use while providing a wide range of features. And for those who still want more, Papis makes it easy to write scripts that extend its features even further.

Features

  • Add documents and automatically fetch their metadata.
  • Search by author, title, tags, and so on.
  • Synchronize your library with whatever software you're already using.
  • Share your documents with colleagues without having to force some proprietary service onto them.
  • Import your data from other bibliography managers.
  • Export to BibTeX and other formats.
  • Integrate with your editor with plugins for (Neo)vim and Emacs.
  • TUIs make it easy to get a quick overview of your library.
  • Use the web app when the CLI doesn't quite cut it (for example on your tablet).
  • Hacking Papis is easy! Use the API to easily create your own custom python scripts.

Quick tour

Install Papis with pip (or one of the alternatives):

pip install papis

Let's 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

We can now add these to the (default) library. This will automatically query for the metadata associated with the doi.

papis add --from doi 10.1090/noti963 rnoti-p434.pdf

add

You can also use --set to add information:

papis add libc.pdf --set author "Sandra Loosemore" \
                   --set title "GNU C reference manual" \
                   --set year 2018 \
                   --set tags programming \
                   --confirm

Now open an attached file or edit an entry:

papis open
papis edit

edit

Or export them to bibtex:

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

bibtex_export

Papis also includes a web app that you can start with:

papis serve

You can then open the indicated address (http://localhost:8888) in your browser.

web_app

All Papis commands come with help messages:

papis -h      # General help
papis add -h  # Help with a specific Papis command

Installation & setup

Information about installation and setup can be found in the docs, for example in the these sections:

Questions?

The docs cover Papis' features and discuss possible work flows. If you still have questions, head to our GitHub discussions — we're more than happy to help. If you've found a bug, please open an issue and help make Papis even better!

Reviews and blog posts

Contributing

Contributions are very welcome! Take a look at CONTRIBUTING.md for general rules and HACKING.md for additional code-related information. We encourage you to also check out, contribute to, or even help maintain the other projects in the Papis ecosystem mentioned below 😉.

The Papis ecosystem

Papis has grown over the years and there are now a number of projects that extend Papis' features or integrate it with other software.

Project Maintained by
papis (core) Alejandro Gallo, Julian Hauser, Alex Fikl
papis-rofi Etn40ff
papis-dmenu you?
papis-vim you?
papis.nvim Julian Hauser
papis-emacs Alejandro Gallo
papis-zotero lennonhill
papis-libgen you?
papis-firefox wavefrontshaping

Related software

Papis isn't the only fish in the pond. You might also be interested in:

About

Powerful and highly extensible command-line based document and bibliography manager.

http://papis.readthedocs.io/en/latest/

License:GNU General Public License v3.0


Languages

Language:HTML 72.7%Language:Python 26.4%Language:Scheme 0.3%Language:Nix 0.3%Language:TeX 0.1%Language:Shell 0.1%Language:Makefile 0.1%Language:Emacs Lisp 0.0%Language:Dockerfile 0.0%