plasma-apod-wallpaper
uv add plasma-apod-wallpaper --index https://pypi.u-m.me/simple/
uv tool install plasma-apod-wallpaper --index https://pypi.u-m.me/simple/
Plasma APOD Wallpaper
A Plasma 6 wallpaper that displays NASA's Astronomy Picture of the Day (APOD). It supports still images and looping videos. The command-line tool downloads the daily media, and the wallpaper reads the downloaded files from a local cache.
Requirements
- KDE Plasma 6
- Python 3.13 or newer
uvffmpegandffprobefrom an FFmpeg packagesystemctlwith an active user systemd sessionkpackagetool6from KDE Plasma 6
The computer must have network access to science.nasa.gov to fetch APOD media.
Install
Install the CLI with uv, then use the CLI to install the wallpaper and its scheduled fetch service:
uv tool install plasma-apod-wallpaper
plasma-apod-wallpaper install
If the CLI is already installed, upgrade it before running setup:
uv tool upgrade plasma-apod-wallpaper
plasma-apod-wallpaper install
The install command installs the Plasma wallpaper package, creates a user
systemd service and timer, and writes the QML environment setting. The timer
starts at 04:05 UTC and retries hourly afterward. The fetcher uses NASA's APOD
WordPress API with its public DEMO_KEY; a current manifest avoids repeat API
requests after a successful fetch.
Log out and back in, or restart Plasma, to apply the QML environment setting.
Then run systemsettings, open Wallpaper, and select APOD Wallpaper.
Use
The timer fetches APOD automatically. To fetch it immediately, run:
plasma-apod-wallpaper fetch
Running the command without a subcommand also fetches APOD:
plasma-apod-wallpaper
The Plasma wallpaper reads the manifest and media files from
~/.cache/plasma-apod-wallpaper. Multiple images are displayed in a rotating
slideshow; videos loop as the wallpaper. The cache remains on disk after
uninstall.
Image URLs come from the API's basic_html, including both images on rollover
days; a matching hdurl upgrades the matching image. Video entries use the
direct video source in basic_html, not the hdurl snapshot.
Fetch warnings and errors are appended to
~/.cache/plasma-apod-wallpaper/fetch.log.gz. The log is gzip-compressed. A
successful fetch adds one summary line.
Older installs may have data in ~/.cache/apodvideo. The new cache does not
import that data; run plasma-apod-wallpaper cleanup-legacy to remove it.
Uninstall
Remove the Plasma provider and disable its timer with:
plasma-apod-wallpaper uninstall
By default, uninstall keeps the cache and setup files. Add --delete-cache to
delete the current and old cache directories. Add --delete-settings to remove
the user service, timer, and QML environment setting. You can use both options:
plasma-apod-wallpaper uninstall --delete-cache --delete-settings
To remove the old ~/.cache/apodvideo cache and leftover setup settings without
removing the current wallpaper provider or cache, run:
plasma-apod-wallpaper cleanup-legacy
This cleanup disables scheduled fetching. If you want to keep using the
wallpaper, run plasma-apod-wallpaper install again to restore its service and
environment setting. uninstall and cleanup-legacy leave the CLI installed.
To also remove the CLI, run:
uv tool uninstall plasma-apod-wallpaper
Log out and back in, or restart Plasma, to remove the environment setting from the running session.
Help and troubleshooting
Show the available commands and examples:
plasma-apod-wallpaper --help
plasma-apod-wallpaper fetch --help
Check the timer and recent fetch logs with systemd:
systemctl --user status plasma-apod-wallpaper.timer
systemctl --user list-timers plasma-apod-wallpaper.timer
journalctl --user -u plasma-apod-wallpaper.service
Read the compressed fetch log with:
gzip -dc ~/.cache/plasma-apod-wallpaper/fetch.log.gz
If install reports missing tools, install FFmpeg and KDE Plasma 6 package
tools, then run plasma-apod-wallpaper install again. If the wallpaper does not
appear in System Settings, restart Plasma, run systemsettings, and check the
Wallpaper selector again.