A command-line app helps add High Energy Physics (HEP) papers to a Notion database.
Project description
HEP Paper Manager (HPM)
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.
Installation
pip install hep-paper-manager
Let's add a paper to a Notion database!
In this step-by-step guide, we will together add "[1511.05190] Jet image -- deep learning edition"(link) to a Notion database.
Step 0: Create an integration in Notion
- 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.
Step 1: Create a Notion database
A database is the place where we'll put all papers. Each item (or page) represents a paper.
-
Follow the gif to create a database.
-
Add the following properties by clicking
+
on the right:
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:
- Connect to the integration.
Step 2: Set up hpm
-
Install
hep-paper-manager
.pip install hep-paper-manager
-
Initialize it to add the token.
hpm init
Step 3: Add the paper to the database
Usually, we search for papers on Inspire. The Inspire ID is the number in the URL.
In the command line, we use hpm add
to add the paper to the database.
hpm add 1405106
Let's go back and check the database page. The paper is right there!
Of course, you can also add papers by Arxiv ID or DOI.
hpm add 1511.05190 --id-type arxiv
hpm add "10.1007/JHEP07(2016)069" --id-type doi
You can now add more papers to your Notion database.
Step 4: Update the paper
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 1405106
Just like hpm add
, you can also update papers by Arxiv ID or DOI.
hpm update 1511.05190 --id-type arxiv
hpm update "10.1007/JHEP07(2016)069" --id-type doi
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 losing information.
Engines
Inspire
: It fetches papers from the Inspire HEP. It serves the default engine forhpm
.InspirePaper
has the following properties:- date: str
- citations: int
- title: str
- type: str
- journal: str
- authors: list[str]
- link: str
- abstract: str
- bibtex: str
- inspire_id: str
- arxiv_id: str
- doi: str
Templates
Template saves the mapping from paper properties to Notion database properties. You can adjust the properties within the template.
Below is the default template for Inspire
engine which holds all properties
of InspirePaper
:
-
paper.yml
engine: Inspire database_id: <database_id> properties: date: Date citations: Citations title: Title type: Type journal: Journal authors: Authors link: Link abstract: Abstract bibtex: Bibtex inspire_id: Inspire ID arxiv_id: Arxiv ID doi: DOI
These properties match the properties of the InpspirePaper class. You can modify the template to fit your needs.
! Remember the last three lines are necessary. You can't remove them.
Updates
v0.2.2
- Fix the error when
hpm add
some conference papers that may have no publication info.
v0.2.1
- Fix the bug that
hpm add
only checks the first 100 pages in the database. - Fix the checkmark style.
v0.2.0
- 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.
v0.1.4
- Update print style.
- Add friendly error message when the
database_id
is not specified.
v0.1.3
- 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.
v0.1.2
- Update paper from Inspire engine to include url, bibtex, and source.
v0.1.1
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hep_paper_manager-0.3.0.tar.gz
.
File metadata
- Download URL: hep_paper_manager-0.3.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf3fe4ff973b54fffbf7ffd528f46edbdcc8687ab7495e0b17b76a5ac4651a51 |
|
MD5 | 959227a78ccc9b7f11e3f340dfc5583e |
|
BLAKE2b-256 | 73bcf9d48a39defcfbbe3b0d2be2eea301e3d30b2c971d63848e737e153ee2e9 |
File details
Details for the file hep_paper_manager-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: hep_paper_manager-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25bbae8e3e68eb8bad275a2e756e653045c044e8ddd0bc58f80d055c65878a87 |
|
MD5 | 6e46999334b9738e98d57561db35a8fa |
|
BLAKE2b-256 | 1e64a3760c6af5d9b7142281c365f82f1d348ff1e238bfebc983d299446000e6 |