zotero-reMarkable-sync
zotero-reMarkable-sync copied to clipboard
Synchronize all the .pdf files in your Zotero library with your reMarkable device
trafficstars
zotero - reMarkable Synchronization
Synchronize all the .pdf files in your Zotero library with your reMarkable device.

How does it work?
- Fetch files from Zotero
- Fetch files from reMarkable
- Compare with the last sync files stored in
~/.zot_rm_sync/<dir-name> - Pull changes from Zotero (add new files and remove deleted files)
- Push changes to reMarkable (add new files and remove deleted files)
- Pull changes from reMarkable (remove deleted files)
- Push changes to Zotero (remove deleted files)
Note:
- New files are expected to be added to Zotero only. Files added manually to the reMarkable
/<dir-name>directory will be ignored. - reMarkable annotations are not saved in Zotero
Requirements
Tested on Python 3.6
pip install -r requirements.txt
Authorization
reMarkable
Get a Security Code and run authorize_rmapy.py
python authorize_rmapy.py --security-code <security-code>
Zotero
Get your Zotero Library ID and Zotero API Key
Use
Initialization
python sync.py --zot-library-id/-l <zot-library-id> --zot-api-key/-k <zot-api-key> --directory/-d <dir-name> --initialize/-ini
Synchronization
python sync.py --zot-library-id/-l <zot-library-id> --zot-api-key/-k <zot-api-key> --directory/-d <dir-name> [--quiet/-q]
Features
- [x] Download .pdf files from the Zotero Library
- [x] Upload .pdf files to reMarkable
- [x] Maintain directory structure
- [x] Prevent duplicate uploads and downloads
- [x] Delete files from reMarkable if they are deleted in the Zotero library
- [ ] Support more file extensions like .epub
- [ ] Update files in Zotero Library with reMarkable annotations
Thanks to @urschrei and @subutux for the fantastic APIs
- https://github.com/urschrei/pyzotero
- https://github.com/subutux/rmapy