code: def connect(self,
                  engine: str = None,
                  interface: str = None,
                  host: str = None,
                  port: int = None,
                  database: str = None,
                  driver: str = None,
                  dsn: str = None,
                  odbc_connection_string: str = None,
                  user: str = None,
                  password: str = None,
                  autocommit: bool = True,
                  charset: str = "utf8",
                  use_unicode: bool = True) -> bool:
          
  
          # Catch all exceptions, so the error-catcher never shows a password.
          # Note also that higher-level things may catch exceptions, so use the
          # logger as well.
          try:
              return self._connect(
                  engine=engine, interface=interface,
                  host=host, port=port, database=database,
                  driver=driver, dsn=dsn,
                  odbc_connection_string=odbc_connection_string,
                  user=user, password=password,
                  autocommit=autocommit, charset=charset,
                  use_unicode=use_unicode)
          except Exception as e:
              self.reraise_connection_exception(e)
docs: engine: access, mysql, sqlserver
              interface: mysql, odbc, jdbc