diff --git a/scripts/ost_startup.py.in b/scripts/ost_startup.py.in
index 1b11a98c74228ad8527d45e1befe15dc20c3d858..e1bc4a31ae4f6a69a794a9bec3127e888668bc63 100644
--- a/scripts/ost_startup.py.in
+++ b/scripts/ost_startup.py.in
@@ -1,84 +1,120 @@
-import sys, os, platform, glob
+import sys, os, glob
 import optparse
 
+
 def show_help(option, opt, value, parser):
-  parser.print_help()
-  sys.exit(-1)
+    parser.print_help()
+    sys.exit(-1)
+
 
 def show_version(option, opt, value, parser):
-  print("OpenStructure " + ost.__version__)
-  sys.exit(0)
+    print("OpenStructure " + ost.__version__)
+    sys.exit(0)
+
 
 def interactive_flag(option, opt, value, parser):
-  pass
+    pass
+
 
 def stop():
-  sys.exit(0)
+    sys.exit(0)
+
+
+def get_options_parser(usage):
+    parser = OstOptionParser(usage=usage, conflict_handler="resolve", prog="ost")
+    parser.add_option(
+        "-i",
+        "--interactive",
+        action="callback",
+        callback=interactive_flag,
+        help="start interpreter interactively (must be first parameter, ignored otherwise)",
+    )
+    parser.add_option(
+        "-h",
+        "--help",
+        action="callback",
+        callback=show_help,
+        help="show this help message and exit",
+    )
+    parser.add_option(
+        "-V",
+        "--version",
+        action="callback",
+        callback=show_version,
+        help="show OST version and exit",
+    )
+    parser.add_option(
+        "-v",
+        "--verbosity_level",
+        action="store",
+        type="int",
+        dest="vlevel",
+        default=2,
+        help="sets the verbosity level [default: %default]",
+    )
+    parser.disable_interspersed_args()
+    return parser
 
-usage = """
 
+usage = """
     ost [ost options] [script to execute] [script parameters]
-
-or
     ost [action name] [action options]
-
+    
+The following actions are available:
 """
 
 action_path = os.path.abspath(os.environ.get("OST_EXEC_DIR", ""))
+for action in sorted(glob.glob(os.path.join(action_path, "ost-*"))):
+    usage += "  %s\n" % action[len(action_path) + 5 :]
+
+usage += '\nEach action should respond to "--help".'
 
-usage += 'Following actions are available:\n'
-for action in sorted(glob.glob(os.path.join(action_path, 'ost-*'))):
-    usage += "  %s\n" % action[len(action_path)+5:]
-usage += '\nEach action should respond to "--help".\n'
 
 class OstOptionParser(optparse.OptionParser):
-  def __init__(self, **kwargs):
-    optparse.OptionParser.__init__(self, **kwargs)
-  def exit(self, status_code, error_message):
-    print(error_message, end=' ')
-    sys.exit(-1)
+    def __init__(self, **kwargs):
+        optparse.OptionParser.__init__(self, **kwargs)
+
+    def exit(self, status_code, error_message):
+        print(error_message, end=" ")
+        sys.exit(-1)
 
-_site_packs='python%d.%d/site-packages' % sys.version_info[0:2]
-_base_dir=os.getenv('DNG_ROOT')
-sys.path.insert(0, os.path.join(_base_dir, '@LIBDIR@', _site_packs))
+
+_site_packs = "python%d.%d/site-packages" % sys.version_info[0:2]
+_base_dir = os.getenv("DNG_ROOT")
+sys.path.insert(0, os.path.join(_base_dir, "@LIBDIR@", _site_packs))
 
 from ost import *
 import ost
 
-parser=OstOptionParser(usage=usage,conflict_handler="resolve", prog='ost''')
-parser.add_option("-i", "--interactive", action="callback", callback=interactive_flag, help="start interpreter interactively (must be first parameter, ignored otherwise)")
-parser.add_option("-h", "--help", action="callback", callback=show_help, help="show this help message and exit")
-parser.add_option("-V", "--version", action="callback", callback=show_version, help="show OST version and exit")
-parser.add_option("-v", "--verbosity_level", action="store", type="int", dest="vlevel", default=2, help="sets the verbosity level [default: %default]")
-parser.disable_interspersed_args()
+parser = get_options_parser(usage)
 (options, args) = parser.parse_args()
 
-HistoryFile=os.path.expanduser('~/.ost_history')
+HistoryFile = os.path.expanduser("~/.ost_history")
 
-# we are not in GUI mode. 
-gui_mode=False
+# we are not in GUI mode.
+gui_mode = False
 
-sys.ps1='ost> '
-sys.ps2='..... '
-sys.argv=sys.argv[1:]
-home = os.getenv('HOME') or os.getenv('USERPROFILE')
-_ostrc=os.path.join(home, '.ostrc')
+sys.ps1 = "ost> "
+sys.ps2 = "..... "
+sys.argv = sys.argv[1:]
+home = os.getenv("HOME") or os.getenv("USERPROFILE")
+_ostrc = os.path.join(home, ".ostrc")
 if os.path.exists(_ostrc):
-  try:
-    exec(compile(open(_ostrc).read(), _ostrc, 'exec'))
-  except Exception as e:
-    print(e)
+    try:
+        exec(compile(open(_ostrc).read(), _ostrc, "exec"))
+    except Exception as e:
+        print(e)
+
 PushVerbosityLevel(options.vlevel)
 
 # this should probably only be added when running an interactive shell
 sys.path.append(".")
 
-if len(parser.rargs)>0 :
-  script=parser.rargs[0]	
-  sys_argv_backup=sys.argv
-  sys.argv=parser.rargs
-  try:
-    exec(compile(open(script,'rb').read(), script, 'exec'))
-  finally:
-    sys.argv=sys_argv_backup
-
+if len(parser.rargs) > 0:
+    script = parser.rargs[0]
+    sys_argv_backup = sys.argv
+    sys.argv = parser.rargs
+    try:
+        exec(compile(open(script, "rb").read(), script, "exec"))
+    finally:
+        sys.argv = sys_argv_backup