Papis - a Free CLI document and bibliography manager.
Papis is a powerful and flexible command-line tool designed for managing documents, particularly academic papers. It provides a straightforward way to organize, search, and interact with your document library, making it an excellent choice for researchers and students.
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.
Platforms
- Linux
- macOS
- Windows
Getting Started with Papis
Installation
Before you start using Papis, you need to install it. Papis requires Python, so make sure you have Python installed on your system.
- Install Papis using pip:
pip install papis
- Verify the installation:
papis --version
Basic Usage
1. Creating a Document Library
First, you need to create a directory where your documents will be stored. This directory is referred to as the document library.
mkdir -p ~/Documents/PapisLibrary
cd ~/Documents/PapisLibrary
2. Adding Documents
To add a document to your library, you can use the papis add
command. Papis supports adding documents with associated metadata.
papis add ~/Downloads/example.pdf
Papis will prompt you to enter metadata for the document, such as title, author, year, etc. This metadata is stored in a YAML file alongside the document.
3. Searching for Documents
You can search for documents in your library using the papis list
command. You can filter the search results using various criteria.
papis list
To search by a specific criterion, such as the author:
papis list author:Smith
4. Viewing Document Metadata
To view the metadata of a specific document, use the papis show
command:
papis show example.pdf
5. Editing Metadata
If you need to update the metadata of a document, you can use the papis edit
command:
papis edit example.pdf
This will open the metadata file in your default text editor, allowing you to make changes.
Advanced Features
1. Managing Document Collections
Papis allows you to organize documents into collections. To create a collection, simply create a new directory within your document library and add documents to it.
mkdir -p ~/Documents/PapisLibrary/CollectionName
cd ~/Documents/PapisLibrary/CollectionName
papis add ~/Downloads/example2.pdf
2. Importing Documents from External Sources
Papis can fetch documents directly from external sources such as DOI, PubMed, or arXiv. Use the papis add
command with the appropriate option:
papis add --from-doi 10.1234/example-doi
3. Integrating with BibTeX
If you use BibTeX for managing references, Papis can integrate with your BibTeX library. To export your Papis library to a BibTeX file:
papis export --to bibtex ~/Documents/PapisLibrary
Example Workflow
Let's go through a complete example workflow:
- Create a Library:
mkdir -p ~/Documents/PapisLibrary
cd ~/Documents/PapisLibrary
- Add a Document:
papis add ~/Downloads/research-paper.pdf
- Enter Metadata:
Papis will prompt you to enter metadata for the document.
- Search for a Document:
papis list author:Smith
- View Metadata:
papis show research-paper.pdf
- Edit Metadata:
papis edit research-paper.pdf
- Create a Collection:
mkdir -p ~/Documents/PapisLibrary/AIResearch
cd ~/Documents/PapisLibrary/AIResearch
papis add ~/Downloads/ai-paper.pdf
- Fetch Document from DOI:
papis add --from-doi 10.1234/example-doi
- Export to BibTeX:
papis export --to bibtex ~/Documents/PapisLibrary
Papis is a versatile tool that can significantly enhance your document management workflow, especially for academic and research purposes.
By following this tutorial, you should be able to set up Papis, add and manage documents, and integrate it with other tools like BibTeX. For more advanced features and customization options, refer to the official Papis documentation.
License
GPL-3.0