
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
|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.
Install Papis with pip (or one of the alternatives <https://papis.readthedocs.io/en/latest/install.html>
__):
.. code:: bash
pip install papis
Let's download a couple of documents:
.. code:: bash
wget https://www.gnu.org/s/libc/manual/pdf/libc.pdf
wget https://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
.
.. code:: bash
papis add --from doi 10.1090/noti963 rnoti-p434.pdf
|add|
You can also use --set
to add information:
.. code:: bash
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:
.. code:: bash
papis open
papis edit
|edit|
The Papis picker (set using the picktool
configuration option) has
helpful shortcuts to call other functionality as well (press F1
for
a complete list). It can be used to open (Ctrl-o
), browse (Ctrl-b
)
or edit (Ctrl-e
) selected documents (marked with Ctrl-t
).
Import your bibliography into Papis from BibTeX:
.. code:: bash
papis bibtex read mylib.bib import --all
Or export it to BibTeX:
.. code:: bash
papis export --all --format bibtex > mylib.bib
|bibtex_export|
Papis also includes a web app that you can start with:
.. code:: bash
papis serve
You can then open the indicated address (http://localhost:8888
) in your
browser.
|web_app|
All papis
commands come with help messages:
.. code:: bash
papis -h # General help
papis add -h # Help with a specific command
Information about installation and setup can be found in the
docs <https://papis.readthedocs.io/en/latest/>
__, for example in the these sections:
Installation <https://papis.readthedocs.io/en/latest/install.html>
__Configuration <https://papis.readthedocs.io/en/latest/configuration.html>
__Import <https://papis.readthedocs.io/en/latest/importing.html>
__Editor integration <https://papis.readthedocs.io/en/latest/editors.html>
__The docs <https://papis.readthedocs.io/en/latest/>
__ cover Papis' features and
discuss possible work flows. If you still have questions, head to our
GitHub discussions <https://github.com/papis/papis/discussions>
__ — we're
more than happy to help. If you've found a bug, please
open an issue <https://github.com/papis/papis/issues>
__ and help make Papis
even better!
If you're not finding a command or configuration value that shows up in the
documentation in your local installation, you may just be looking at the wrong
docs. You can find the documentation for the latest released version
here <https://papis.readthedocs.io/en/stable/>
__ and the documentation for
the in-development version here <https://papis.readthedocs.io/en/latest/>
__.
Blog post <https://alejandrogallo.github.io/blog/posts/getting-paper-references-with-papis/>
__
about getting a paper's references with papis explore
.Blog post <https://nicolasshu.com/zotero_and_papis.html>
__ about using Papis
with Zotero and Syncthing.wrote about Papis <https://gnulinux.ch/papis-dokumentenverwaltung-fuer-die-kommandozeile>
__
(in German).Papis <https://www.ostechnix.com/papis-command-line-based-document-bibliography-manager/>
__.review of Papis <https://ubunlog.com/papis-administrador-documentos/>
__
by Ubunlog (in Spanish).Contributions are very welcome! Take a look at
CONTRIBUTING.md <https://github.com/papis/papis/blob/main/CONTRIBUTING.md>
__ for
general rules and HACKING.md <https://github.com/papis/papis/blob/main/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 :wink:.
Papis has grown over the years and there are now a number of projects that extend Papis' features or integrate it with other software.
.. list-table:: :widths: 33 67 :header-rows: 1
papis (core) <https://github.com/papis/papis-rofi/>
__Alejandro Gallo <https://alejandrogallo.github.io/>
, Julian Hauser <https://github.com/jghauser>
, Alex Fikl <https://github.com/alexfikl>
__papis-rofi <https://github.com/papis/papis-rofi/>
__Etn40ff <https://github.com/Etn40ff>
__papis-dmenu <https://github.com/papis/papis-dmenu>
__papis-vim <https://github.com/papis/papis-vim>
__papis.nvim <https://github.com/jghauser/papis.nvim>
__Julian Hauser <https://github.com/jghauser>
__papis-emacs <https://github.com/papis/papis.el>
__Alejandro Gallo <https://alejandrogallo.github.io/>
__papis-zotero <https://github.com/papis/papis-zotero>
__Alex Fikl <https://github.com/alexfikl>
__papis-libgen <https://github.com/papis/papis-zotero>
__papis-firefox <https://github.com/papis/papis-firefox>
__wavefrontshaping <https://github.com/wavefrontshaping>
__papis-qa <https://github.com/isaksamsten/papisqa>
__ (AI for Papis)Isak Samsten <https://github.com/isaksamsten>
__Papis isn't the only fish in the pond. You might also be interested in:
bibman <https://codeberg.org/KMIJPH/bibman>
__ (open source)bibiman <https://codeberg.org/lukeflo/bibiman>
__ (open source)cobib <https://github.com/mrossinek/cobib>
__ (open source)jabref <https://www.jabref.org/>
__ (open source)Mendeley <https://www.mendeley.com/>
__ (proprietary)pubs <https://github.com/pubs/pubs/>
__ (open source)Xapers <https://finestructure.net/xapers/>
__ (open source)Zotero <https://www.zotero.org/>
__ (open source)We thank Irteza Rehman <https://www.irtezarehman.com/>
__ for generously creating
our beautiful logo.
.. |ghbadge| image:: https://github.com/papis/papis/workflows/CI/badge.svg :target: https://github.com/papis/papis/actions?query=branch%3Amain+workflow%3ACI .. |RTD| image:: https://readthedocs.org/projects/papis/badge/?version=latest :target: http://papis.readthedocs.io/en/latest/?badge=latest .. |CodeQL| image:: https://github.com/papis/papis/workflows/CodeQL/badge.svg :target: https://github.com/papis/papis/actions?query=branch%3Amain+workflow%3ACodeQL .. |Pypi| image:: https://badge.fury.io/py/papis.svg :target: https://pypi.org/project/papis/ .. |zenodo_badge| image:: https://zenodo.org/badge/82691622.svg :target: https://zenodo.org/badge/latestdoi/82691622
.. |first_glance| image:: https://papis.github.io/images/first_glance.gif .. |edit| image:: https://papis.github.io/images/edit.gif .. |bibtex_export| image:: https://papis.github.io/images/bibtex_export.gif .. |add| image:: https://papis.github.io/images/add.gif .. |web_app| image:: https://papis.github.io/images/web_app.jpg
FAQs
Powerful and highly extensible command-line based document and bibliography manager
We found that papis demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.