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.2.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

rsrch-0.1.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rsrch-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 212ea4d4494f7ccbb7567d5a3e3f37c58d2872249e73dbd35d8ad926817d053a
MD5 bb97d67674053d5849363d216b3171e0
BLAKE2b-256 1c5a43fee231da9024f5e64ca9d26770015fff39603e5800a08bd88ba9ead2b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rsrch-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a80035cca0edc806c0c6f9e7ce0e284cf3dadfb7d4cf2eb7da0cd9f4e77d1468
MD5 567883d29c0eb781a73b012c1ff425ef
BLAKE2b-256 a338f218013e0b8aee7b40d39ae32344a989caecc3190cac7dbb5bac69fadc78

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