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
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
pythonuv
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 withWEATHER_LONGITUDE)WEATHER_LONGITUDE(optional; must be set together withWEATHER_LATITUDE)LOG_LEVEL(default:INFO; standard Python logging levels)LOG_SYSTEMD(optional; set1/trueto force systemd log format,0/falseto 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/checkruns linting, type checks, and release validation (uv buildanduv publish --dry-run).bin/fixapplies automatic Ruff fixes.bin/testruns 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)
| File | Size | Uploaded | |
|---|---|---|---|
| kindle_dashboard-2.tar.gz | 31.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|