Skip to main content

Extract highlights from your ReMarkable tablet.

Project description


license PRs welcome code with hearth by sabidib Documentation Status


Remarking is a command line tool for extracting highlights from documents on your reMarkable tablet.

Remarking makes it as easy as possible to extract highlights from your annotated documents.

Remarking demo

Remarking serves to be the first part of a highlight extraction pipeline.

This means, you can use Remarking to extract your highlights for then futher processing such as:

  • Sending it to a service
  • Combining it with another collection of highlights
  • Further filtering of highlights with more tooling

I found that there was no easy way of extracting highlights from the reMarkable. There were quite a few tools that focussed solely on extracting the highlights from the downloaded pdfs. However, nothing made the process as easy as specifiying the folder to scan for documents.



You will need at least:

  • Python 3.7+
  • Pip


To get started you can install the package from pip with:

pip3 install remarking

The remarking command should then be available for you to use.


Check out the docs for help, or run remarking --help.


Before you start you will need to grab a one-time authorization key from This code is used to access the reMarkable cloud.

rmapy is used to access the reMarkable Cloud. After authorizing the first time, the tool will store an auth token in ~/.rmapi for future use. You won't need to re-authorize by providing the token again until you deauthorize the key.

You can specify the token through the REMARKING_TOKEN env var in addition to via command line with --token.


There are two main modes of usage of Remarking: run and persist.


remarking run will run the default extractors on all passed documents and folders. Highlights extracted are then output using the writer subcommand passed.

remarking run json books

This command will run the default extractors on all documents in the books folder and output the highlights as json.


remarking persist performs the same extraction on documents as run, however it maintains state of previously seen documents and highlights.

By default it creates a remarking_database.sqlite3 database file in the current working directory that keeps track of seen highlights and documents.

You can also use your own database by providing the --sqlalchemy argument with a sqlalchemy connection string.

remarking persist json books

This command will run the default extractors on all documents in the books folder and output the highlights as json.

All documents and their highlights found would also be added to the sqlite3 database remarking_database.sqlite3.

A second run would return no new highlights if the documents in the books folder are not modified.


You can check out some examples in the examples section of the docs.


See the open issues for a list of proposed features (and known issues).

Built With


Reach out to the maintainer at one of the following places:


First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

We have set up a separate document containing our contribution guidelines.

Thank you for being involved!

Authors & contributors

The original setup of this repository is by Samy Abidib.

For a full list of all authors and contributors, check the contributor's page.


Remarking follows good practices of security, but 100% security can't be granted in software. Remarking is provided "as is" without any warranty. Use at your own risk.

For more info, please refer to security.


This project is licensed under the GPL v3 license.

See LICENSE for more information.


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

remarking-0.1.4.tar.gz (39.4 kB view hashes)

Uploaded Source

Built Distribution

remarking-0.1.4-py3-none-any.whl (45.2 kB view hashes)

Uploaded Python 3

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