diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 715f008e3789d92b49f4498e85d1c9e838cf9730..3e75f80852fc77dd7243e19d5776632fc73c3f41 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -58,8 +58,9 @@ Install test:
     - pip install --upgrade pip setuptools
     - pip install dist/pipdeps*tar.gz
     - pip list
-    - pipdeps -l || true
-    - pipdeps -u
+    - pipdeps --list || true
+    - pipdeps --table || true
+    - pipdeps --upgrade
 
 versioncheck:
   stage: check
diff --git a/README.md b/README.md
index 8a0b1adc7bb90997489608bc7fef7a1c6ec12a29..4f2dfea0ff6164f2ea06f001a34405dc4d2bcbab 100644
--- a/README.md
+++ b/README.md
@@ -14,16 +14,17 @@ situations. Currently, package extras are not finished.
 ## Usage
 
 ```console
-$ pipdeps.py --help
-usage: pipdeps.py [-h] (-l | -u | -s SHOW [SHOW ...])
+$ pipdeps --help
+usage: pipdeps [-h] (-l | -t | -u | -s [SHOW [SHOW ...]])
 
 Pipdeps shows/upgrades outdated packages with respect to existing
 dependencies.
 
 optional arguments:
   -h, --help            show this help message and exit
-  -l, --list            show upgradeable packages and versions
+  -l, --list            show list of upgradeable packages and versions
+  -t, --table           show table of upgradeable packages and versions
   -u, --upgrade         upgrade upgradeable packages
-  -s SHOW [SHOW ...], --show SHOW [SHOW ...]
+  -s [SHOW [SHOW ...]], --show [SHOW [SHOW ...]]
                         show detailed info about upgradeable packages
 ```
diff --git a/pipdeps/pipdeps.py b/pipdeps/pipdeps.py
index e3bcf0ad794c831bc32d10599084b9d8d3e9dd08..606796a68381356f81683558414005b9c4a57f44 100644
--- a/pipdeps/pipdeps.py
+++ b/pipdeps/pipdeps.py
@@ -42,7 +42,10 @@ def arg_parse():
     group = parser.add_mutually_exclusive_group(required=True)
     group.add_argument('-l', '--list',
                        action='store_true',
-                       help="show upgradeable packages and versions")
+                       help="show list of upgradeable packages and versions")
+    group.add_argument('-t', '--table',
+                       action='store_true',
+                       help="show table of upgradeable packages and versions")
     group.add_argument('-u', '--upgrade',
                        action='store_true',
                        help="upgrade upgradeable packages")
@@ -223,9 +226,9 @@ def select_upkgs(data, rkey):
             result.append(pkg)
     return result
 
-def print_list(data):
+def print_table(data):
     """
-    Print upgradeable versions
+    Print table upgradeable versions
     """
     upkgs = select_upkgs(data, 'upgradeable_version')
     if not upkgs:
@@ -234,10 +237,22 @@ def print_list(data):
     tab_data = []
     for pkg in sorted(upkgs):
         tab_data.append([pkg, data[pkg]['installed_version'], data[pkg]['upgradeable_version']])
-    print tabulate.tabulate(
-        tab_data,
-        ['package', 'installed_version', 'upgradeable_version']
-    )
+    print tabulate.tabulate(tab_data,
+                            ['package', 'installed_version', 'upgradeable_version'])
+    return 1
+
+def print_list(data):
+    """
+    Print list upgradeable versions
+    """
+    upkgs = select_upkgs(data, 'upgradeable_version')
+    if not upkgs:
+        print "There is nothing to upgrade."
+        return 0
+    list_data = []
+    for pkg in sorted(upkgs):
+        list_data.append("%s==%s" % (pkg, data[pkg]['upgradeable_version']))
+    print " ".join(list_data,)
     return 1
 
 def write_metadata(tmp_file):
@@ -1106,6 +1121,8 @@ def main():
     check_co_branches(packages_data)
     check_extras(packages_data)
 
+    if arguments.table:
+        sys.exit(print_table(packages_data))
     if arguments.list:
         sys.exit(print_list(packages_data))
     if arguments.show is not None: