"Keryx was written by Southern Illinois University computer
science student Chris Oliver, who wanted a way to download software
and updates for Ubuntu systems that had little or no connectivity.
Simply put Keryx on your pen drive, use it to create a new project
file which retains a copy of your software sources and other system
details, then take the pen drive to a computer with a better
connection. Via its Synaptic like interface, users can then select
all updates for download, plus select any other software they may
want to install, complete with dependency resolution.
"Because it is written in Python, and utilizes wxWidgets for
it's interface, Keryx can run on Linux, OSX and Windows.
Pre-compiled binaries for Windows are included in the download
(meaning you don’t need to install Python and wxWidgets
first), and similar binaries for OSX and Linux are in the
development road-map, along with Debian/Ubuntu packages."