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.
Installation
-
Create an internal integration in Notion.
-
Add the integration to the database you want to download from.
-
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. TheNOTION_DATABASE_ID
can be found in the URL of your database (https://www.notion.so/{workspace_name}/{database_id}?v={view_id}
). -
Install local dependencies:
python3 -m venv venv pip install -r requirements.txt
-
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.
- Title:
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
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
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 thepath
variable inmain.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c25d093816cf321467e5b9c579aa384024ff38ce5b523748da55f083f1fc0c5 |
|
MD5 | 720e018654977452ddd650d467e67b40 |
|
BLAKE2b-256 | b5023d897f5eab0505e56eabd37289d3fffa3d9371158cc655dba1ecc38da1ff |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36e3e5c0aa2d6bb91d5d9fb9155115780d856ea6d6b9e9dea4954a83e3fa24da |
|
MD5 | df95292b59ed81a35e07d9d9228f4b32 |
|
BLAKE2b-256 | af3dcc1a6e0d24a8c1d0511bbdf38e9c58045defdf823586f27c9b3bee8f84b9 |