HPM is a command-line tool that helps adds literature from Inspire HEP to a Notion database according to its arXiv ID.
It has features as following:
- Retrieve papers by arXiv ID.
- Customizable paper template.
- Interactive CLI for easy setup and usage.
pip install hep-paper-manager
In this step-by-step guide, we will together add "[1511.05190] Jet image -- deep learning edition"(link) to a Notion database.
- Open My Integrations.
- Click
+ New integration
. - Enter a name for your integration.
- Select your workspace.
- Click
show
andcopy
the integration secret as your token.
Check the official guide for integrations here.
A database is the place where we'll put all papers. Each item (or page) represents a paper.
Property | Type |
---|---|
Title | Title |
Authors | Multi-select |
Date | Date |
Published in | Select |
ArXiv ID | Text |
DOI | Text |
Number of citations | Number |
Number of references | Number |
Number of pages | Number |
Abstract | Text |
Bibtex | Text |
URL | URL |
After you finish it, open any page to check all properties, which should look like this:
! Remember to remove the first empty three pages after the properties are checked since we want to keep this database nice and clean.
-
Search Inspire for the paper "jet image -- deep learning edition" and copy the arXiv ID:
-
Use
hpm add
to add it to the database.hpm add 1511.05190
-
Go back and check the database page. The paper is right there!
Try to add more papers as you like!
After a while, the paper may have newer information like citation number. You
can update the paper in the database by hpm update
.
hpm update 1511.05190
Or update all the paper at once without any id.
hpm update
Note, the columns in the database but not in the template will not be updated.
So you can add more columns to the database without worrying about hpm
overwriting your data.
Inspire
: It fetches papers from the Inspire HEP. It serves the default engine forhpm
.InspirePaper
has the following properties:title
: strauthors
: list[str]date
: strjournal
: str | Nonearxiv_id
: strdoi
: str | Nonen_citations
: intn_references
: intn_pages
: int | Noneabstract
: strbibtex
: strurl
: str
Template saves the mapping from paper properties to Notion database properties.
You can adjust the properties within the template. The template file is at
$HOME/.hpm/paper.yml
.
Below is the default template for Inspire
engine which holds all properties
of InspirePaper
:
paper.yml
database_id: <database_id> properties: title: Title authors: Authors date: Date journal: Published in arxiv_id: ArXiv ID doi: DOI n_citations: Number of citations n_references: Number of references n_pages: Number of pages abstract: Abstract bibtex: Bibtex url: URL
- Refactor the codebase by only allowing adding papers by arXiv ID.
- Fix the error when
hpm add
some conference papers that may have no publication info.
- Fix the bug that
hpm add
only checks the first 100 pages in the database. - Fix the checkmark style.
- Refactor the codebase by introducing
notion_database
. - Add
hpm update
to update one paper in the database. - Add
hpm info
to show the information of this app.
- Update print style.
- Add friendly error message when the
database_id
is not specified.
- Update
hpm add
to check if the paper already exists in the database. - You can now create a database with more properties then the template.
- Update paper from Inspire engine to include url, bibtex, and source.
- Add
hpm init
for interactive setup. - Add
hpm add
for adding a paper to a Notion database. - Introduce the default
Inspire
engine andpaper.yml
template.