class_docstr: Async version of the base class where the decorators and base function for
  the other classes of this python wrapper will inherit from.
class_docstr_tok: ["Async","version","of","the","base","class","where","the","decorators","and","base","function","for","the","other","classes","of","this","python","wrapper","will","inherit","from","."]
docstr: Decorator in charge of giving the output its right format, either
  json or pandas (replacing the % for usable floats, range 0-1.0)
  
  Keyword Arguments:
      func: The function to be decorated
      override: Override the internal format of the call, default None
  Returns:
      A decorator for the format sector api call
docstr_tok: ["Decorator","in","charge","of","giving","the","output","its","right","format",",","either","json","or","pandas","(","replacing","the","%","for","usable","floats",",","range","0-1.0",")","Keyword","Arguments",":","func",":","The","function","to","be","decorated","override",":","Override","the","internal","format","of","the","call",",","default","None","Returns",":","A","decorator","for","the","format","sector","api","call"]
code: def _output_format_sector(cls, func, override=None):
      """Decorator in charge of giving the output its right format, either
      json or pandas (replacing the % for usable floats, range 0-1.0)
  
      Keyword Arguments:
          func: The function to be decorated
          override: Override the internal format of the call, default None
      Returns:
          A decorator for the format sector api call
      """
  
      @wraps(func)
      async def _format_wrapper(self, *args, **kwargs):
          json_response, data_key, meta_data_key = await func(
              self, *args, **kwargs
          )
          if isinstance(data_key, list):
              # Replace the strings into percentage
              data = {
                  key: {
                      k: self.percentage_to_float(v)
                      for k, v in json_response[key].items()
                  }
                  for key in data_key
              }
          else:
              data = json_response[data_key]
          # TODO: Fix orientation in a better way
          meta_data = json_response[meta_data_key]
          # Allow to override the output parameter in the call
          if override is None:
              output_format = self.output_format.lower()
          elif "json" or "pandas" in override.lower():
              output_format = override.lower()
          # Choose output format
          if output_format == "json":
              return data, meta_data
          elif output_format == "pandas":
              data_pandas = pandas.DataFrame.from_dict(
                  data, orient="columns"
              )
              # Rename columns to have a nicer name
              col_names = [
                  re.sub(r"\d+.", "", name).strip(" ")
                  for name in list(data_pandas)
              ]
              data_pandas.columns = col_names
              return data_pandas, meta_data
          else:
              raise ValueError(
                  "Format: {} is not supported".format(
                      self.output_format
                  )
              )
  
      return _format_wrapper
  
file_path: alpha_vantage/alpha_vantage/async_support/alphavantage.py
imports: import aiohttp
  from functools import wraps
  import inspect
  import re
  import csv
  from ..alphavantage import AlphaVantage
label_desc: Use image node_id 3 for calling the AlphaVantage obj's underlying member method code with example usage: obj._output_format_sector(cls, func, override) and returns: _format_wrapper, data,  meta_data, data_pandas,  meta_data