Package: rmrl
rmrl: reMarkable Rendering Libraryrmrl is a Python library for rendering reMarkable documents to PDF files.
It takes the original PDF document and the files describing your annotations,
combining them to produce a document close to what reMarkable itself would
output.DemoThe same notebook was rendered to a PDF via the reMarkable app and rmrl.
The resultant PDF files were converted to PNGs with ImageMagick at 300
dpi.reMarkable outputrmrl outputThe biggest differences are the lack of texture in the pencils and paintbrush,
which we hope to address in the future.  Two differences are intentional:The highlight color is more saturated, since we feel the default color is
too subtle.The grid lines from the template are less saturated, to better reflect the
appearance on the device.  This is configurable.Installationrmrl requires Python 3.7 or later.  If that's installed, the easiest installation
is to do apipinstallrmrlAlternatively, you may clone this repository.Poetryis used for development, so once that is installed you can runpoetryinstallto get a virtual environment all set up.UsageThe main interface to rmrl is through a single function:fromrmrlimportrenderoutput=render(source)sourcemay be:The filename of a zip file containing the document.The filename of any (root-level) file from an unpacked document.Any object that providesopen()andexists()methods.  Seermrl/sources.pyfor more details on this API.The output is a filestream with the contents of the PDF file.Therenderfunction takes the following keyword arguments:progress_cb: A callback function to be called periodically during the
rendering process.  It will be called with a single argument, a number
from 0 to 100 indicating the progress.  This function can abort the
process by raising an exception.Command-line Usagermrl may be called as a command-line tool.  Once it has been installed, runpython-mrmrlfilenameto convertfilenameto an annotated PDF.  The default output is to stdout.
Usepython-mrmrl-hto see all of the options.Templatesrmrl can use the reMarkable templates as a background when rendering notebooks.
We cannot ship copies of these templates.  You may be allowed to copy them from
your own reMarkable device on to your computer for personal use.  If this is
legal in your jurisdiction, you may connect your device to your computer by the
USB cable and runpython-mrmrl.load_templatesThis will copy these templates to~/.local/share/rmrl/templates(assuming
default XDG settings).Historyrmrl derives from thereMarkable Connection Utility,
by Davis Remmel.  RCU is a full-featured GUI for managing all aspects of a
reMarkable device.  Do check it out if you are looking for a stand-alone
solution for getting documents on and off of your device.RCU was chosen as a base for rmrl due to its high-quality rendering.  The
following are the major changes:rmrl is designed as a library, for incorporation into other programs.  RCU
is designed as a stand-alone program.rmrl uses the pure-PythonReportLab Toolkitfor rendering PDF files.  RCU uses the Qt framework, which is a significantly
heavier installation.rmrl only supports vector output, while RCU offers both raster and vector
rendering.RCU supports PDF layers (Optional Content Groups).  At this point, rmrl does
not.RCU can add PDF annotations corresponding to highlights.  At this point, rmrl
does not.TrademarksreMarkable(R) is a registered trademark of reMarkable AS. rmrl is not
affiliated with, or endorsed by, reMarkable AS. The use of “reMarkable”
in this work refers to the company’s e-paper tablet product(s).CopyrightCopyright (C) 2020  Davis RemmelCopyright 2021 Robert SchrollThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program.  If not, seehttps://www.gnu.org/licenses/.