Skip to main content

Manage your ever-growing list of research papers

Project description

rsrch

Manage your research papers through your CLI. This project lets you update a Notion database with arXiv links and download PDFs of papers to your local machine.

image

Installation

  1. Create an internal integration in Notion.

  2. Add the integration to the database you want to download from.

  3. Create a .env file with the following variables:

    NOTION_TOKEN=secret_XXXXXXXX
    NOTION_DATABASE_ID=XXXXXXXXXXXXXXXX
    

    Your NOTION_TOKEN can be found in your integrations page and is called the Internal Integration Token. The NOTION_DATABASE_ID can be found in the URL of your database (https://www.notion.so/{workspace_name}/{database_id}?v={view_id}).

  4. Install local dependencies:

    python3 -m venv venv
    pip install -r requirements.txt
    
  5. Important: Your Notion database must have the following columns with the corresponding types:

    • Title: Title
    • URL: URL
    • Date: Date
    • Authors: Text

    You can add more columns, but these are the ones that are required.

Usage

Activate the virtual environment:

source venv/bin/activate

Download

This will download all the papers from your Notion database to the papers/ directory.

cd src
python cli.py download

image

Push

You can push arXiv abstract links, PDF links, or IDs to your Notion database and have it autofill all of the relevant fields.

cd src
python cli.py push https://arxiv.org/abs/1706.03762

image

Alternatively, you can add non-arXiv links manually to Notion.

Notes

  • Uploading papers to Notion is currently only supported for arXiv links. Papers with titles that already exist in the database will not be uploaded.
  • The script will download the PDFs to the papers/ directory. If you want to change this, you can change the path variable in main.py.
  • I plan on adding support for other databases in the future, but for now it only works with Notion databases.

Bash Functions

For those of us that use the command line a lot, you can add the following functions to your .bashrc file to make it easier to use:

Download any new research papers

function get_papers() {
    # Go to rsrch directory
    cd ~/Documents/projects/rsrch

    # Download papers
    source venv/bin/activate
    python src/cli.py download
    cd papers
}

Push any new research papers

function add_papers() {
    # Go to rsrch directory
    cd ~/Documents/projects/rsrch

    # Push papers
    source venv/bin/activate
    python src/cli.py push $*
}

Now you can just run get_papers or add_papers with N arXiv links to download or push papers to your Notion database!

Resources

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

rsrch-0.1.1.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

rsrch-0.1.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file rsrch-0.1.1.tar.gz.

File metadata

  • Download URL: rsrch-0.1.1.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for rsrch-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0c25d093816cf321467e5b9c579aa384024ff38ce5b523748da55f083f1fc0c5
MD5 720e018654977452ddd650d467e67b40
BLAKE2b-256 b5023d897f5eab0505e56eabd37289d3fffa3d9371158cc655dba1ecc38da1ff

See more details on using hashes here.

File details

Details for the file rsrch-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: rsrch-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for rsrch-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 36e3e5c0aa2d6bb91d5d9fb9155115780d856ea6d6b9e9dea4954a83e3fa24da
MD5 df95292b59ed81a35e07d9d9228f4b32
BLAKE2b-256 af3dcc1a6e0d24a8c1d0511bbdf38e9c58045defdf823586f27c9b3bee8f84b9

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