whatisgithub

What is scribe-library?

technolaaji/scribe-library — explained in plain English

Analysis updated 2026-05-18

19PythonAudience · generalComplexity · 3/5LicenseSetup · moderate

In one sentence

Scribe Library is a local, offline web server for browsing, reading, and syncing handwritten notebooks and ebooks from a Kindle Scribe over USB.

Mindmap

mindmap
  root((Scribe Library))
    What it does
      Local Kindle Scribe browser
      Notebooks tab
      Books tab
      Screenshots tab
    Tech stack
      Python
      Flask
      WeasyPrint
    Use cases
      Offline notebook reading
      Ebook library browsing
      Push files to Kindle
    Limitations
      Experimental annotations
      DRM books may fail
      Firmware-dependent decoding

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Browse and read handwritten Kindle Scribe notebooks as PDFs in a web browser without cloud sync.

USE CASE 2

View and read purchased or sideloaded ebooks in formats like KFX, AZW3, EPUB, and PDF from one local library.

USE CASE 3

Push new documents or PDFs to a Kindle Scribe over USB by dragging and dropping files.

What is it built with?

PythonFlaskWeasyPrint

How does it compare?

technolaaji/scribe-library16nic/comfyui-agnes-ai6c696e68/gpt_signup_hybrid
Stars191919
LanguagePythonPythonPython
Setup difficultymoderatemoderatehard
Complexity3/52/54/5
Audiencegeneralvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires system libraries like Cairo, libusb, and Pango installed before pip install, plus a USB-connected, unlocked Kindle Scribe.

GPL v3: you can use and modify the code, but any distributed version must also be open source under GPL v3.

So what is it?

Scribe Library is a local server that lets you browse everything stored on a Kindle Scribe, an e-reader that supports handwritten notebooks alongside regular ebooks. It runs entirely offline on your own computer and connects to the device over USB. Once you sync, you get a web page with three sections: a notebooks tab showing your handwritten pages decoded into readable PDFs, a books tab for purchased and sideloaded books in formats like KFX, AZW3, PDF, and EPUB, and a screenshots tab that shows every screenshot on the device as a grid of thumbnails you can view or delete. Most formats can be read directly in the browser with proper page layout, and there is a zen mode that hides all the interface controls except the page itself, plus a book mode that shows two pages side by side with a page flip animation. You can also drag and drop files onto the app to push new PDFs, EPUBs, or other documents onto the Kindle over USB. The project tries to decode handwritten annotations you make on top of sideloaded PDFs and overlay them back onto the PDF when you view it, but the README is upfront that this feature is experimental and unvalidated, since the storage format for these annotations has changed across Kindle firmware versions. A separate diagnostic script lets you inspect your own device's annotation data to help the format decoding along. Setup requires installing some system libraries such as Cairo, libusb, and Pango, followed by the Python dependencies from a requirements file. Once your Kindle Scribe is plugged in and unlocked, you run the server with a sync flag to pull content from the device, then open a local web address in your browser. Purchased books with strong DRM protection may not decode successfully. The project is licensed under GPL v3 because it links against a vendored KFX decoding library that is also GPL v3.

Copy-paste prompts

Prompt 1
Walk me through installing Scribe Library's system dependencies on macOS and syncing my Kindle Scribe for the first time.
Prompt 2
Explain what the amber 'annotations not decoded' pill means when I open a synced PDF in Scribe Library.
Prompt 3
How do I run the inspect_sdr.py script to help debug annotation decoding for my Kindle firmware?
Prompt 4
What formats does Scribe Library support for reading versus just pushing to the Kindle?

Frequently asked questions

What is scribe-library?

Scribe Library is a local, offline web server for browsing, reading, and syncing handwritten notebooks and ebooks from a Kindle Scribe over USB.

What language is scribe-library written in?

Mainly Python. The stack also includes Python, Flask, WeasyPrint.

What license does scribe-library use?

GPL v3: you can use and modify the code, but any distributed version must also be open source under GPL v3.

How hard is scribe-library to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is scribe-library for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.