Skip to main content

A command-line app helps add High Energy Physics (HEP) papers to a Notion database.

Project description

HEP Paper Manager (HPM)

workflow

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

  1. Open My Integrations.
  2. Click + New integration.
  3. Enter a name for your integration.
  4. Select your workspace.
  5. Click show and copy the integration secret as your token.

Check the official guide for integrations here.

Create an integration

Step 1: Create a Notion database

A database is the place where we'll put all papers. Each item (or page) represents a paper.

  1. Follow the gif to create a database.

    create a database

  2. 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

Add properties

After you finish it, open any page to check all properties, which should look like this:

An empty page

  1. Connect to the integration. Connect to integration

Step 2: Set up hpm

  1. Install hep-paper-manager.

    pip install hep-paper-manager
    
  2. Initialize it to add the token.

    hpm init
    

    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. inpsire

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! database

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

other id

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 for hpm. 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 and paper.yml template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hep_paper_manager-0.3.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

hep_paper_manager-0.3.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

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

Hashes for hep_paper_manager-0.3.0.tar.gz
Algorithm Hash digest
SHA256 cf3fe4ff973b54fffbf7ffd528f46edbdcc8687ab7495e0b17b76a5ac4651a51
MD5 959227a78ccc9b7f11e3f340dfc5583e
BLAKE2b-256 73bcf9d48a39defcfbbe3b0d2be2eea301e3d30b2c971d63848e737e153ee2e9

See more details on using hashes here.

File details

Details for the file hep_paper_manager-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hep_paper_manager-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25bbae8e3e68eb8bad275a2e756e653045c044e8ddd0bc58f80d055c65878a87
MD5 6e46999334b9738e98d57561db35a8fa
BLAKE2b-256 1e64a3760c6af5d9b7142281c365f82f1d348ff1e238bfebc983d299446000e6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page