class_docstr: A class for handling connections and interactions with the Frappe API.
  
  Attributes:
      client (FrappeClient): The `FrappeClient` object for interacting with the Frappe API.
      is_connected (bool): Whether or not the API client is connected to Frappe.
      domain (str): Frappe domain to send API requests to.
      access_token (str): OAuth token to use for authentication.
class_docstr_tok: ["A","class","for","handling","connections","and","interactions","with","the","Frappe","API",".","Attributes",":","client","(","FrappeClient",")",":","The","`","FrappeClient","`","object","for","interacting","with","the","Frappe","API",".","is_connected","(","bool",")",":","Whether","or","not","the","API","client","is","connected","to","Frappe",".","domain","(","str",")",":","Frappe","domain","to","send","API","requests","to",".","access_token","(","str",")",":","OAuth","token","to","use","for","authentication","."]
docstr: Registers all API tables and prepares the handler for an API connection.
  
  Args:
      name: (str): The handler name to use
docstr_tok: ["Registers","all","API","tables","and","prepares","the","handler","for","an","API","connection",".","Args",":","name",":","(","str",")",":","The","handler","name","to","use"]
code: def __init__(self, name: str = None, **kwargs):
      """Registers all API tables and prepares the handler for an API connection.
  
      Args:
          name: (str): The handler name to use
      """
      super().__init__(name)
      self.client = None
      self.is_connected = False
  
      args = kwargs.get("connection_data", {})
      if not "access_token" in args:
          raise ValueError(
              '"access_token" parameter required for authentication'
          )
      if not "domain" in args:
          raise ValueError(
              '"domain" parameter required to connect to your Frappe instance'
          )
      self.access_token = args["access_token"]
      self.domain = args["domain"]
  
      document_data = FrappeDocumentsTable(self)
      self._register_table("documents", document_data)
      self.connection_data = args
  
imports: import json
  import pandas
  import datetime
  from typing import Dict
  from mindsdb.integrations.handlers.frappe_handler.frappe_tables import FrappeDocumentsTable
  from mindsdb.integrations.handlers.frappe_handler.frappe_client import FrappeClient
  from mindsdb.integrations.libs.api_handler import APIHandler
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse
  from mindsdb.utilities import log
  from mindsdb_sql import parse_sql
label_desc: Use image node_id 1 to create a new FrappeHandler object from inherited base classes: APIHandler with example: obj = FrappeHandler(name)