Skip to main content

Kindle Dashboard

A minimalist Python web service that renders a greyscale PNG dashboard for Kindle-sized screens.

(The Kindle Basic 7th Generation has a 16-level greyscale display.)

Usage Guide

The Dashboard

Kindle Dashboard screenshot

Depending on your online screensaver configuration, the information will be out-of-date slightly.

  • The time and battery is shown in the top-right
  • The temperature is shown as a line graph, with the daily lows and highs marked
  • Rainfall & Snow ("precipitation") is shown in bars at the bottom, with the peak marked

Quick guide to standing in rain for one hour:

  • 0.1mm: you'll be dry
  • 0.3mm: you'll be damp
  • 0.5mm: you'll be wet
  • 0.7mm: you'll be soaked
  • 0.9mm: you'll be dripping

Prerequisites

  • python
  • uv

On Your Kindle

Put the dashboard on your kindle using https://github.com/FalconFour/onlinescreensaverPW2.

Running the Server

The simplest way is using uv.

Run without installing: uvx kindle-dashboard.

Or, install for your user, and run from there:

uv tool install kindle-dashboard
kindle-dashboard

The server serves the dashboard image on http://127.0.0.1:42137/, by default.

There is an example systemd service file.

Configuration

  • HOST (default: 127.0.0.1)
  • PORT (default: 42137)
  • IMAGE_WIDTH (default: 600)
  • IMAGE_HEIGHT (default: 800)
  • RENDER_SUPERSAMPLE_SCALE (default: 2)
  • WEATHER_UPDATE_SECS (default: 1800, every half an hour)
  • WEATHER_LATITUDE (optional; must be set together with WEATHER_LONGITUDE)
  • WEATHER_LONGITUDE (optional; must be set together with WEATHER_LATITUDE)
  • LOG_LEVEL (default: INFO; standard Python logging levels)
  • LOG_SYSTEMD (optional; set 1/true to force systemd log format, 0/false to disable auto-detect)

Weather data is requested from Open-Meteo in the forecast location's local timezone.
Precipitation bars represent the hour interval ending at the API timestamp (for example, a value at 16:00 is drawn for 15:00-16:00). When JOURNAL_STREAM is present (typical under systemd), logging automatically switches to systemd-compatible output.

Development Guide

Development

uv sync
  • bin/check runs linting, type checks, and release validation (uv build and uv publish --dry-run).
  • bin/fix applies automatic Ruff fixes.
  • bin/test runs the test suite.
uv run kindle-dashboard

Build and publish

bin/publish

Release files for kindle-dashboard 2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kindle-dashboard 2
File Size Uploaded
kindle_dashboard-2.tar.gz 31.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kindle-dashboard 2
File Interpreter ABI Platform
kindle_dashboard-2-py3-none-any.whl Python 3 none any Details

Total release size: 68.4 kB

Release files / kindle_dashboard-2.tar.gz

Download URL kindle_dashboard-2.tar.gz
Size 31.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7e9a9dc030a7aa311a82fed0840124c092f1c5ea7fe034d4ded731054a444715
BLAKE2b-256 checksum
How to use checksums
1f7a0e15e29b63825303fb81078ffd1da67c74d45fbbd62528de8c206b93517f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / kindle_dashboard-2-py3-none-any.whl

Download URL kindle_dashboard-2-py3-none-any.whl
Size 37.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc4caf14390fa482f3ebd64f2512dcccae37433ac646a5f7f7fe48ccfad7eb49
BLAKE2b-256 checksum
How to use checksums
8d3259f95caed10358c449085c0001de8fe4fb10aaf563dbf6cc13b3d5168958
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

3

2 release files

This release

2 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page