Giter Site home page Giter Site logo

rsrch's Introduction

rsrch

Manage your research papers from Python. 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. Store your NOTION_TOKEN and NOTION_DATABASE_ID somewhere safe. 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:

    pip install rsrch
  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

Setup

from rsrch import RsrchClient

client = RsrchClient(
    token=NOTION_TOKEN,
    database_id=NOTION_DATABASE_ID,
)

Download

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

client.download()

image

Upload

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

client.upload(
    arxiv_urls=[
        "https://arxiv.org/abs/1706.03762",
        "https://arxiv.org/pdf/1706.03762.pdf",
        "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.
  • I plan on adding support for other databases in the future, but for now it only works with Notion databases.
  • To build and release this:
    • Make new code accessible in src/__init__.py
    • Update the version in src/__about__.py
    • Run python3 -m build
    • Run python3 -m twine upload dist/*

Resources

rsrch's People

Contributors

ishan0102 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.