Pypapers: a bare-bones, command line, PDF manager


Ever felt like software such as Mendeley or Papers are great, but somehow slow you down? Ever felt like none of the many reference manager software options out there will ever cut it for you, because you need something REALLY SIMPLE? I did. Many times. So I've finally crossed the line and tried building a simple command-line PDF manager called PyPapers.

Yes, that's right—command line. So not for everyone. Also, this is bare bones and pre-alpha, so don't expect wonders. It basically provides a simple interface for searching a folder full of PDFs. That's all for now!

Key Features (or Lack Thereof)

  • Mac only, I'm afraid. I'm standing on the shoulders of a giant, that is, mdfind.

  • No-fuss search in file names only or full text.

  • Shows all results and relies on Preview for reading.

  • Highlighting on Preview works pretty well and it's the ultimate compatibility solution (any other software kind of locks you in eventually, in my humble opinion).

  • Open source. If you can code Python, you can customize it to your needs. If you can't, open an issue on GitHub and I may end up doing it.

  • Recognizes sub-folders, so that can be leveraged to become a simple, filesystem-level categorization structure for your PDFs (e.g., I have different folders for articles, books, news, etc.).

  • Your PDFs live in the Mac filesystem ultimately, so you can always search them using Finder in case you get bored of the command line.

First Impressions

Pretty good. I was concerned I was going to miss things like collections or tags. But I found a workaround: first, identify the papers I am interested in. Then, create a folder in the same directory and symlink them in there (i.e., create an alias).

It's not quite like uncarved wood... but it definitely feels simple enough!

Why Command Line?

The command line might seem old-fashioned, but it offers several advantages for power users: - Extremely fast search and navigation - Low memory footprint compared to GUI applications - Easy to integrate with other command-line tools and scripts - No proprietary database formats to worry about - Complete control over your file organization

Future Development

While PyPapers is intentionally minimalist, there are a few features I might add if there's interest: - BibTeX integration for academic citations - Tagging system using file metadata - Export to various formats - Cross-platform support (though this would require replacing mdfind)

Feel free to contribute or suggest features on GitHub!

Cite this blog post:


Michele Pasin. Pypapers: a bare-bones, command line, PDF manager. Blog post on www.michelepasin.org. Published on June 30, 2019.

Comments via Github:


See also: