
Papis
CLI命令行文献与书目管理器:按 DOI 添加论文并自动抓取元数据,按作者、标题、标签检索,导入导出 BibTeX;每条记录是可读的 YAML 文件,agent 容易直接读写,也带网页界面。需要 Python。
.. raw:: html
|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 <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
Installation & setup
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>__
Questions?
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/>__.
Reviews and blog posts
Blog post <https://alejandrogallo.github.io/blog/posts/getting-paper-references-with-papis/>__ about getting a paper's references withpapis explore.Blog post <https://web.archive.org/web/20250428103318/https://nicolasshu.com/zotero_and_papis.html>__ about using Papis with Zotero and Syncthing.- GNU/Linux Switzerland
wrote about Papis <https://gnulinux.ch/papis-dokumentenverwaltung-fuer-die-kommandozeile>__ (in German). - The folks at OSTechNix wrote a review of
Papis <https://www.ostechnix.com/papis-command-line-based-document-bibliography-manager>__. - A
review of Papis <https://ubunlog.com/papis-administrador-documentos/>__ by Ubunlog (in Spanish).
Contributing
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 😉.
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.
.. list-table:: :widths: 33 67 :header-rows: 1
-
- Project
- Maintained by
-
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>__- you?
-
papis-tui <https://github.com/supersambo/papis-tui>__Stephan Schlögl <https://github.com/supersambo>__
-
papis-vim <https://github.com/papis/papis-vim>__- you?
-
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/>,Jean-Alexandre Barszcz <https://jabarsz.cz/en/home>
-
papis-zotero <https://github.com/papis/papis-zotero>__Alex Fikl <https://github.com/alexfikl>__
-
papis-libgen <https://github.com/papis/papis-zotero>__- you?
-
papis-firefox <https://github.com/papis/papis-firefox>__wavefrontshaping <https://github.com/wavefrontshaping>__
-
papis-ask <https://github.com/jghauser/papis-ask>__ (AI for Papis)Julian Hauser <https://github.com/jghauser>__
Related software
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)
Thanks
We thank Irteza Rehman <https://www.irtezarehman.com/>__ for generously creating
our beautiful logo.
Funding
This project is funded through NGI0 Commons Fund <https://nlnet.nl/commonsfund>,
a fund established by NLnet <https://nlnet.nl> with financial support from the
European Commission's Next Generation Internet <https://ngi.eu>__ program. Learn
more at the NLnet project page <https://nlnet.nl/project/Papis>__.
|nlnet_logo| |nlnet_ngi0|
.. |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
.. |nlnet_logo| image:: https://nlnet.nl/logo/banner.png :width: 20% .. |nlnet_ngi0| image:: https://nlnet.nl/image/logos/NGI0_tag.svg :width: 20%
相关资源

bibtex-tidy
CLI整理 BibTeX 参考文献:统一字段格式与缩进、排序条目、合并或删除重复项、移除指定字段,可原地改写 .bib 或输出到标准输出,也能作 pre-commit 钩子使用。需要 Node.js。
FlamingTempura/bibtex-tidy1.1k
ScholarAIO
CLI面向科研人员的学术工作台:把论文 PDF 建成可检索的文献库,让 Claude Code、Codex 帮你检索精读、写综述与论文、回复审稿意见并核对引用,可导入 Zotero、EndNote。需要 Python 3.10+,大模型 API Key 可选。
ZimoLiao/scholaraio577
Academic Research Skills
Plugin学术论文全流程插件:深度调研与文献综述、论文写作、多视角模拟审稿、修改与定稿,每个阶段停下等你确认,内置引用核验与学术诚信检查。采用 CC BY-NC 许可。
Imbad0202/academic-research-skills52.4k
ARS-Codex
PluginAcademic Research Skills 的 Codex 原生版:一个技能串起选题与文献综述、论文起草、模拟同行审稿、修改指导与实验规划,内置引用核验与学术诚信检查,适合研究生和高校教师。需要 Codex CLI 或 Codex 桌面版;采用 CC BY-NC 4.0 许可,仅限非商业用途。
Imbad0202/academic-research-skills-codex13.1k
Supervisor-Skills
Skill港科大(广州)骆昱宇老师团队把十年顶会发表与审稿经验做成 12 个科研技能:Idea 评估、引言与正文写作、语言润色、综述调研、投稿前审稿、作图建议、Draw.io 重建和 rebuttal 指导,配套中文科研写作手册。适合研究生与导师,非商业许可。
HKUSTDial/Supervisor-Skills9.9k
PaperQA2
CLI对论文 PDF、文本与 Office 文档做高精度检索增强问答,自动补全引用元数据并检查撤稿,答案附可追溯出处;提供 pqa 命令行与 Python 库。默认需要大模型 API Key,也可配置本地模型。
Future-House/paper-qa9.4k