Send PDFs and checklists to Kindle Scribe via Gmail API. Generates print-ready PDFs with cover pages, multi-column layouts, and checkbox formatting optimized for Kindle Scribe pen annotation.
- Checklist mode — convert structured text files into checkbox PDFs
- Cover page — auto-generated image cover that shows as Kindle library thumbnail
- Multi-column layout — 1, 2, or 3 column support for compact checklists
- HTML/PDF passthrough — send any HTML or existing PDF to Kindle
- Smart naming — filename becomes the Kindle library title, auto-includes date
- PDF metadata — title, author, description embedded in PDF
- Go to Google Cloud Console
- Create a project and enable the Gmail API
- Create OAuth 2.0 credentials (Desktop application)
- Download the JSON file and save as
google_credentials.jsonin the project root
- Go to Amazon — Manage Your Content and Devices
- Find your Kindle's Send-to-Kindle email address (e.g.
your_kindle@kindle.com) - Add your Gmail address to the Approved Personal Document E-mail List
cp config.example.json config.jsonEdit config.json with your emails:
{
"kindle": {
"to_email": "your_kindle_address@kindle.com",
"from_email": "your_gmail@gmail.com"
}
}pip install -r requirements.txtWeasyPrint requires system dependencies. On macOS:
brew install pango# Simple checklist
./kindle_send.py --checklist shopping.txt
# With cover page, 3 columns, custom title
./kindle_send.py --checklist nature_zones.txt \
--columns 3 \
--title "Nature Zones" \
--description "Flora and Fauna" \
--author "Geography"
# Generate PDF only (no send)
./kindle_send.py --checklist items.txt --no-send./kindle_send.py --html document.html
./kindle_send.py --pdf report.pdf
./kindle_send.py --pdf report.pdf --subject "Weekly Report"| Flag | Description |
|---|---|
--checklist FILE |
Text file with checklist items |
--html FILE |
HTML file to convert to PDF |
--pdf FILE |
Send existing PDF |
--title TEXT |
Document title (default: filename) |
--author TEXT |
Author field (default: current date/time) |
--description TEXT |
Subtitle on cover page |
--columns {1,2,3} |
Column layout for checklists (default: 1) |
--subject TEXT |
Email subject (default: filename) |
--no-cover |
Skip cover page generation |
--no-send |
Generate PDF only, don't email to Kindle |
--output PATH |
Custom output path for generated PDF |
## Section Header
item1, item2, item3
- single item
* another item
## Another Section
more, items, here
##lines become section headers- Comma-separated items on a line become individual checkboxes
- Lines starting with
-or*are single items - Empty lines are ignored
See examples/nature_zones.txt for a complete example with 10 biome zones.
- Parses checklist text into structured sections
- Generates a cover page image (Pillow) — becomes Kindle library thumbnail
- Renders HTML with checkboxes to PDF (WeasyPrint)
- Sends PDF to Kindle via Gmail API
- Kindle filename = library display title (includes date)
- Author field shows in Kindle document details
- The
[ ]checkboxes are designed for pen annotation on Kindle Scribe - Cover page renders as the library thumbnail for easy identification
- Use
--columns 3for long lists to save pages - Author field in Kindle details is limited to ~35 characters
MIT