commit a0c502791aa8843ab96a5f4beccd8536db0a3fca
Author: david.sorber <david.sorber@gmail.com>
Date:   Tue Apr 7 20:58:28 2015 -0400

    Adding get dependencies script.

diff --git a/software/apt-tools/get_deps.py b/software/apt-tools/get_deps.py
new file mode 100644
index 0000000..2422708
--- /dev/null
+++ b/software/apt-tools/get_deps.py
@@ -0,0 +1,59 @@
+#!/usr/bin/python3
+import copy
+from distutils.version import LooseVersion
+import sys
+
+import apt
+
+# List of "additional" packages to install
+ADDTIONAL_PACKAGES = [
+    'htop',
+    'iotop',
+    'vim',
+    'openssh-server',
+    'build-essential']
+
+def main():
+            
+    # Create cache
+    cache = apt.Cache()
+    cache.open()
+    
+    in_packages = copy.copy(ADDTIONAL_PACKAGES)
+    
+    packages = set()
+    package_deps = {}
+
+    while True:
+        try:
+            # Grab next package 
+            pkg_name = in_packages.pop()        
+            print('Package: {:s}'.format(pkg_name))
+                        
+            # Add this package (with version) to the list of packages
+            if pkg_name not in packages:
+                packages.add(pkg_name)
+            
+            try:
+                package_deps[pkg_name] = cache[pkg_name].versions[0].dependencies
+            except KeyError:
+                continue
+                
+            for pdep in package_deps[pkg_name]:
+                dep_name = pdep[0].name
+                print('\tDependency: {:s}'.format(dep_name))
+                if dep_name not in packages:
+                    packages.add(dep_name)
+                    in_packages.insert(0, dep_name)
+                    
+        except IndexError:
+            break
+
+    print('\n\n')
+    for package in packages:
+        print(package)
+    print('\n\n')
+    
+    
+if __name__ == '__main__':
+    sys.exit(main())
