So are you planning on writing your own package manager or just a notification-style thing that checks software versions and lets you know of a change? If you want a package manager don't write your own, that's silly. Install one of the many minimal ones that are already written and just roll your own packages to it. If it's the latter you're looking for here's how I'd do it, this theory would work with any scripted language:
check-updates.py would truncate updates.txt to zero length on every run, then it would loop through and run all the scripts in checkers/, dumping any output on stderr to error.log and any output on stdout to updates.txt. Each script inside checkers/ would do it's own individual thing, parse a RSS feed, download directory or as a last resort, the HTML of the download page of each application to get the current version and compare it to the local version. You could grab the output of $CMD --version to do this. If there is a difference in versions, print that to stdout which in turn would end up in updates.txt.
Then it's a simple matter of running check-updates.py on each boot/login and then printing updates.txt to your terminal via ~/.bashrc (or whatever shell you use) to alert you to the need to upgrade, you'd also need to periodically check error.log to make sure everything is running smoothly as a minor change in the HTML of a pacge could throw your regex out. Note I'm half asleep so sorry if something there doesn't make sense or that paragraph is just too long :/