diff --git a/ess/__init__.py b/ess/__init__.py
index bbca5411d04e4855ed88082e44b4fa7b3dc8022f..2452371f75832ed8957865417adb87dd65e3ae1e 100644
--- a/ess/__init__.py
+++ b/ess/__init__.py
@@ -1 +1,2 @@
 import TraceWin
+import installed
diff --git a/ess/installed.py b/ess/installed.py
new file mode 100644
index 0000000000000000000000000000000000000000..7774997fe1c5fc7486c75c8b1000968108e49cd6
--- /dev/null
+++ b/ess/installed.py
@@ -0,0 +1,30 @@
+def get_installed_packages():
+    '''
+    Returns a dictionary of installed packages
+
+    Example usage:
+    (print all packages):
+    for package in get_installed_packages():
+        print package
+    '''
+    import pip
+    installed_packages = pip.get_installed_distributions()
+    installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
+         for i in installed_packages])
+    return installed_packages
+
+def is_package_installed(name):
+    '''
+    Returns a bool, true if package name
+    was found in one of the string representations
+    of any package.
+
+    case insensitive (meaning Package==package)
+    '''
+    name=name.lower()
+    ret=False
+    for package in get_installed_packages():
+        if name in str(package).lower():
+            print "Found",package
+            ret=True
+    return ret