class_docstr: Initialize a new Inference Client.
  
  [`InferenceClient`] aims to provide a unified experience to perform inference. The client can be used
  seamlessly with either the (free) Inference API or self-hosted Inference Endpoints.
  
  Args:
      model (`str`, `optional`):
          The model to run inference with. Can be a model id hosted on the Hugging Face Hub, e.g. `bigcode/starcoder`
          or a URL to a deployed Inference Endpoint. Defaults to None, in which case a recommended model is
          automatically selected for the task.
      token (`str`, *optional*):
          Hugging Face token. Will default to the locally saved token. Pass `token=False` if you don't want to send
          your token to the server.
      timeout (`float`, `optional`):
          The maximum number of seconds to wait for a response from the server. Loading a new model in Inference
          API can take up to several minutes. Defaults to None, meaning it will loop until the server is available.
      headers (`Dict[str, str]`, `optional`):
          Additional headers to send to the server. By default only the authorization and user-agent headers are sent.
          Values in this dictionary will override the default values.
      cookies (`Dict[str, str]`, `optional`):
          Additional cookies to send to the server.
docstr: Retrieve the answer to a question from information given in a table.
  
  Args:
      table (`str`):
          A table of data represented as a dict of lists where entries are headers and the lists are all the
          values, all lists must have the same size.
      query (`str`):
          The query in plain text that you want to ask the table.
      model (`str`):
          The model to use for the table-question-answering task. Can be a model ID hosted on the Hugging Face
          Hub or a URL to a deployed Inference Endpoint.
  
  Returns:
      `Dict`: a dictionary of table question answering output containing the answer, coordinates, cells and the aggregator used.
  
  Raises:
      [`InferenceTimeoutError`]:
          If the model is unavailable or the request times out.
      `HTTPError`:
          If the request fails with an HTTP error status code other than HTTP 503.
  
  Example:
  ```py
  >>> from huggingface_hub import InferenceClient
  >>> client = InferenceClient()
  >>> query = "How many stars does the transformers repository have?"
  >>> table = {"Repository": ["Transformers", "Datasets", "Tokenizers"], "Stars": ["36542", "4512", "3934"]}
  >>> client.table_question_answering(table, query, model="google/tapas-base-finetuned-wtq")
  {'answer': 'AVERAGE > 36542', 'coordinates': [[0, 1]], 'cells': ['36542'], 'aggregator': 'AVERAGE'}
  ```
docstr_tok: ["Retrieve","the","answer","to","a","question","from","information","given","in","a","table",".","Args",":","table","(","`","str","`",")",":","A","table","of","data","represented","as","a","dict","of","lists","where","entries","are","headers","and","the","lists","are","all","the","values",",","all","lists","must","have","the","same","size",".","query","(","`","str","`",")",":","The","query","in","plain","text","that","you","want","to","ask","the","table",".","model","(","`","str","`",")",":","The","model","to","use","for","the","table-question-answering","task",".","Can","be","a","model","ID","hosted","on","the","Hugging","Face","Hub","or","a","URL","to","a","deployed","Inference","Endpoint",".","Returns",":","`","Dict","`",":","a","dictionary","of","table","question","answering","output","containing","the","answer",",","coordinates",",","cells","and","the","aggregator","used",".","Raises",":","[","`","InferenceTimeoutError","`","]",":","If","the","model","is","unavailable","or","the","request","times","out",".","`","HTTPError","`",":","If","the","request","fails","with","an","HTTP","error","status","code","other","than","HTTP","503",".","Example",":","``","`","py",">",">",">","from","huggingface_hub","import","InferenceClient",">",">",">","client","=","InferenceClient","(",")",">",">",">","query","=","``","How","many","stars","does","the","transformers","repository","have","?","''",">",">",">","table","=","{","``","Repository","''",":","[","``","Transformers","''",",","``","Datasets","''",",","``","Tokenizers","''","]",",","``","Stars","''",":","[","``","36542","''",",","``","4512","''",",","``","3934","''","]","}",">",">",">","client.table_question_answering","(","table",",","query",",","model=","''","google\/tapas-base-finetuned-wtq","''",")","{","'answer","'",":","'AVERAGE",">","36542","'",",","'coordinates","'",":","[","[","0",",","1","]","]",",","'cells","'",":","[","'36542","'","]",",","'aggregator","'",":","'AVERAGE","'","}","``","`"]
code: def table_question_answering(
      self,
      table: Dict[str, Any],
      query: str,
      *,
      model: Optional[str] = None,
  ) -> TableQuestionAnsweringOutput:
      """
      Retrieve the answer to a question from information given in a table.
  
      Args:
          table (`str`):
              A table of data represented as a dict of lists where entries are headers and the lists are all the
              values, all lists must have the same size.
          query (`str`):
              The query in plain text that you want to ask the table.
          model (`str`):
              The model to use for the table-question-answering task. Can be a model ID hosted on the Hugging Face
              Hub or a URL to a deployed Inference Endpoint.
  
      Returns:
          `Dict`: a dictionary of table question answering output containing the answer, coordinates, cells and the aggregator used.
  
      Raises:
          [`InferenceTimeoutError`]:
              If the model is unavailable or the request times out.
          `HTTPError`:
              If the request fails with an HTTP error status code other than HTTP 503.
  
      Example:
      ```py
      >>> from huggingface_hub import InferenceClient
      >>> client = InferenceClient()
      >>> query = "How many stars does the transformers repository have?"
      >>> table = {"Repository": ["Transformers", "Datasets", "Tokenizers"], "Stars": ["36542", "4512", "3934"]}
      >>> client.table_question_answering(table, query, model="google/tapas-base-finetuned-wtq")
      {'answer': 'AVERAGE > 36542', 'coordinates': [[0, 1]], 'cells': ['36542'], 'aggregator': 'AVERAGE'}
      ```
      """
      response = self.post(
          json={
              "query": query,
              "table": table,
          },
          model=model,
          task="table-question-answering",
      )
      return _bytes_to_dict(response)
  
imports: import logging
  import time
  import warnings
  from dataclasses import asdict
  from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Literal, Optional, Union, overload
  from requests import HTTPError
  from requests.structures import CaseInsensitiveDict
  from huggingface_hub.constants import ALL_INFERENCE_API_FRAMEWORKS, INFERENCE_ENDPOINT, MAIN_INFERENCE_API_FRAMEWORKS
  from huggingface_hub.inference._common import TASKS_EXPECTING_IMAGES, ContentT, InferenceTimeoutError, ModelStatus, _b64_encode, _b64_to_image, _bytes_to_dict, _bytes_to_image, _bytes_to_list, _fetch_recommended_models, _import_numpy, _is_tgi_server, _open_as_binary, _set_as_non_tgi, _stream_text_generation_response
  from huggingface_hub.inference._text_generation import TextGenerationParameters, TextGenerationRequest, TextGenerationResponse, TextGenerationStreamResponse, raise_text_generation_error
  from huggingface_hub.inference._types import ClassificationOutput, ConversationalOutput, FillMaskOutput, ImageSegmentationOutput, ObjectDetectionOutput, QuestionAnsweringOutput, TableQuestionAnsweringOutput, TokenClassificationOutput
  from huggingface_hub.utils import BadRequestError, build_hf_headers, get_session, hf_raise_for_status
label_desc: Use image node_id 22 for calling the InferenceClient obj's underlying member method code with example usage: obj.table_question_answering(table, query) and returns: _bytes_to_dict