Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Update Check

A small Windows app that reminds you once a week to work through a checklist of update steps: Windows Update, driver and graphics driver updates, Store apps, winget, Defender, freeing up disk space and backups by default. It ships as a single .exe that starts with Windows and keeps itself up to date from GitHub releases.

How it works

  • Tick steps off as you go. Open jumps to the matching settings page or runs the step's command.
  • The checklist resets every week at the reminder day and time chosen in Settings, where you can also add, remove and reorder steps and switch between light and dark mode.
  • What's actually waiting. The Windows Update and Desktop apps steps say how much is queued up, for example "4 upgrades waiting", looked up in the background while you read the rest. Neither tool has a machine-readable count — winget prints a table in your own language and Windows Update answers only through COM — so both are read defensively and say nothing rather than guess.
  • Last done and streaks. Each step remembers the day it was last ticked and says so when it has been a while, and the header counts the weeks you have finished in a row.
  • Graphics drivers. This step lists the PC's NVIDIA, AMD and Intel graphics with their installed drivers. For NVIDIA it looks up the latest driver online, through the undocumented lookup behind NVIDIA's driver search, and says whether an update is available; AMD and Intel offer no such lookup. Each card gets a button for NVIDIA App, AMD Software: Adrenalin Edition or Intel Graphics Software, or for the driver download page if that app isn't installed. The status updates when you come back to the window after installing a driver. Removing the step in Settings also stops the online lookup.
  • Repair Windows. For when Windows misbehaves, Settings can run DISM and System File Checker (sfc /scannow) as administrator in a console window that stays open.
  • Starts with Windows. When the .exe starts, it registers a sign-in entry for your user and a daily Task Scheduler task at the reminder hour (no admin rights needed), and re-registers them if the .exe has moved. Both run UpdateCheck.exe --check, which opens the window only while this week's checklist is unfinished, at most once a day. The Automatic reminder switch in the footer turns this off.
  • Updates itself. At most once a day the .exe asks GitHub for the latest release of Zorakidd/Update-check (GITHUB_REPO in updater.py). If its tag is a newer version and an .exe is attached, the app downloads it, checks its size and SHA-256 digest, swaps it in for the running .exe and restarts with the same arguments. Failures are logged and never stop the app. Settings → Check now asks straight away instead of waiting for the daily check. Asking only once a day keeps both the request and the updater's own imports out of nearly every start.

Steps and progress are stored in %APPDATA%\UpdateCheck\state.json, next to update-check.log. Set UPDATE_CHECK_DATA to use a different state file.

Develop

uv run update-check
uv run pytest
uvx ruff check .

Running from source never updates itself or registers with Windows startup on its own; the footer switch still works.

Build and release

  1. Bump version in pyproject.toml.

  2. Build the single-file .exe:

    uv run --with pyinstaller pyinstaller --onefile --windowed --name UpdateCheck --paths src --copy-metadata update-check src/update_check/__main__.py
    

    --copy-metadata update-check is required: the updater reads the running version from it and stays off without it.

  3. Publish a GitHub release tagged v<version> (for example v0.2.0) with dist/UpdateCheck.exe attached. The repository has to be public, since the updater doesn't authenticate.

About

Weekly Windows update checklist that shows what's actually waiting from winget and Windows Update, checks your NVIDIA driver version online, and keeps itself up to date from GitHub releases.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages