class_docstr: Base class for handlers associated to the applications APIs (e.g. twitter, slack, discord  etc.)
class_docstr_tok: ["Base","class","for","handlers","associated","to","the","applications","APIs","(","e.g",".","twitter",",","slack",",","discord","etc",".",")"]
docstr: Returns a list of entity columns
  Args:
      table_name (str): the table name
  Returns:
      RESPONSE_TYPE.TABLE
docstr_tok: ["Returns","a","list","of","entity","columns","Args",":","table_name","(","str",")",":","the","table","name","Returns",":","RESPONSE_TYPE.TABLE"]
code: def get_columns(self, table_name: str) -> Response:
      """
      Returns a list of entity columns
      Args:
          table_name (str): the table name
      Returns:
          RESPONSE_TYPE.TABLE
      """
  
      result = self._get_table(Identifier(table_name)).get_columns()
  
      df = pd.DataFrame(result, columns=["Field"])
      df["Type"] = "str"
  
      return Response(RESPONSE_TYPE.TABLE, df)
  
imports: from typing import Any
  import ast
  import pandas
  from mindsdb_sql.parser.ast import ASTNode, Select, Insert, Update, Delete
  from mindsdb_sql.parser.ast.select.identifier import Identifier
  from mindsdb.integrations.libs.base import BaseHandler
  from mindsdb.integrations.libs.api_handler_exceptions import TableAlreadyExists, TableNotFound
  from mindsdb.integrations.libs.response import HandlerResponse, RESPONSE_TYPE
label_desc: Use image node_id 5 for calling the APIHandler obj's underlying member method code with example usage: obj.get_columns(table_name) and returns: Response