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

Uploaded Source

Built Distribution

rsrch-0.1.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rsrch-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 bf7d412faf7a2f57ffb3d1debf70336f8dab12326b691e73543ea0614db4ab09
MD5 0796e7fda108df8c0309a6ebeab90f48
BLAKE2b-256 7fae2042352b61ea8c6e1e18005920ad0681ba2637c0b7568c6bc51e6393ee33

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rsrch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ed3727a35115b470bdab69238dd96c150b3675449a9462adbffc2ae5329a1ee
MD5 633f6f48b2941f5a8053dce2081898f2
BLAKE2b-256 f9f5cd8b76730fcb87997091826646943d7b318d09daa2a6fa4791f3f3a9ee73

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