No description
Find a file
Edward Betts 65789b0e5b Add project documentation and license
- README.md: usage, requirements, features, and configuration
- AGENTS.md: guidelines for AI agents working on the codebase
- LICENSE: MIT license

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 13:36:14 +00:00
AGENTS.md Add project documentation and license 2026-02-01 13:36:14 +00:00
LICENSE Add project documentation and license 2026-02-01 13:36:14 +00:00
notes Add some notes 2026-02-01 13:20:58 +00:00
README.md Add project documentation and license 2026-02-01 13:36:14 +00:00
todo Various improvements 2026-02-01 13:20:45 +00:00

debian-todo

A CLI tool for Debian maintainers to track packages with new upstream versions that need updating.

Overview

This tool fetches TODO items from the Debian UDD (Ultimate Debian Database) and displays packages where a new upstream version is available. It filters out pre-release versions and shows relevant metadata like team ownership and co-uploaders.

Requirements

  • Python 3.10+
  • System packages: python3-click, python3-debian, python3-rich

Install dependencies on Debian/Ubuntu:

apt install python3-click python3-debian python3-rich

Usage

# List packages needing updates (downloads todo.json if missing)
./todo list

# Include pre-release versions
./todo list --show-prerelease

# Fetch latest data and show changes
./todo update

Running ./todo without arguments is equivalent to ./todo list.

Files

  • todo.json - Cached TODO list from UDD (auto-downloaded)
  • notes - Per-package notes (one package per line: <source> <note>)
  • .vcs_git_cache.json - Cache of Vcs-Git and uploader info from APT sources

Notes File Format

The notes file contains per-package annotations:

pysma needs uv_build backend
python-ftfy bad version
bleak needs new library, bumble - package uploaded

Each line starts with the source package name, followed by a note.

Configuration

The tool fetches data for a specific maintainer email configured in the TODO_URL constant. Modify this URL to track packages for a different maintainer.

Features

  • Filters new upstream notifications, hiding other TODO types
  • Skips pre-release versions (alpha, beta, rc) by default
  • Compares normalized versions to avoid false positives
  • Shows team from Vcs-Git (e.g., python-team, HA for homeassistant-team)
  • Displays uploaders when no team is set
  • Responsive output: table view on wide terminals, compact view on narrow
  • Caches APT source parsing for faster subsequent runs

License

MIT License. See LICENSE for details.