Installation¶
Install papers¶
Note there is another project registered on PyPI as papers, hence
papers-cli for command-line-interface. The installed command is still
papers.
Name clash with GNOME Papers¶
The GNOME Papers document viewer
(the default viewer on recent GNOME desktops) also installs a papers
command; with both installed, whichever comes first in $PATH wins. Two
mitigations are built in:
- The package also installs the command under the unambiguous name
papers-cli— call that, or set a shell alias (e.g.alias papers=papers-cli), on systems where the names collide. - Because this command may mask GNOME Papers, a call whose arguments are all
existing files (paths or
file://URIs, as passed by file managers through the viewer's desktop entry) is handed over unchanged to the nextpapersexecutable in$PATHthat is not this tool, i.e. GNOME Papers itself. Double-clicking a PDF andpapers somefile.pdftherefore keep opening the viewer. If no otherpapersis found, the files are opened with the system's default viewer (xdg-open) instead; should that lead back to this command, it stops with an error rather than looping. Subcommand names always take precedence (papers ./listopens a file namedlist;papers listlists your library), and any flag disables the hand-over — call the viewer's binary directly for viewer-specific flags.
Dependencies¶
- python 3.11+
- PyMuPDF (preferred) or
poppler-utils
(only
pdftotextandpdfinfo; deprecated): convert PDF to text for parsing - bibtexparser: parse bibtex files
- scholarly: interface for google scholar
- rapidfuzz: calculate score to sort crossref requests
- unidecode: replace unicode with ascii equivalent
The Python dependencies are installed automatically with pip.