docs: def initialize(
          self, region="us-west-1", host=None, port=8000, config_dir=None, session=None
      ):
          """ Set up the repl for execution. """
          try:
              import readline
              import rlcompleter
          except ImportError:
              # Windows doesn't have readline, so gracefully ignore.
              pass
          else:
              # Mac OS X readline compatibility from http://stackoverflow.com/a/7116997
              if "libedit" in readline.__doc__:
                  readline.parse_and_bind("bind ^I rl_complete")
              else:
                  readline.parse_and_bind("tab: complete")
              # Tab-complete names with a '-' in them
              delims = set(readline.get_completer_delims())
              if "-" in delims:
                  delims.remove("-")
                  readline.set_completer_delims("".join(delims))
  
          self._conf_dir = config_dir or os.path.join(
              os.environ.get("HOME", "."), ".config"
          )
          self.session = session or botocore.session.get_session()
          self.engine = FragmentEngine()
          self.engine.caution_callback = self.caution_callback
          if host is not None:
              self._local_endpoint = (host, port)
          self.engine.connect(
              region, session=self.session, host=host, port=port, is_secure=(host is None)
          )
  
          self.conf = self.load_config()
          for key, value in iteritems(DEFAULT_CONFIG):
              self.conf.setdefault(key, value)
          self.display = DISPLAYS[self.conf["display"]]
          self.throttle = TableLimits()
          self.throttle.load(self.conf["_throttle"])