code: def calltips(request_data):
      
      code = request_data['code']
      line = request_data['line'] + 1
      column = request_data['column']
      path = request_data['path']
      # encoding = request_data['encoding']
      encoding = 'utf-8'
      # use jedi to get call signatures
      script = jedi.Script(code, line, column, path, encoding)
      signatures = script.call_signatures()
      for sig in signatures:
          results = (str(sig.module_name), str(sig.name),
                     [p.description for p in sig.params], sig.index,
                     sig.bracket_start, column)
          # todo: add support for multiple signatures, for that we need a custom
          # widget for showing calltips.
          return results
      return []
docs: Worker that returns a list of calltips.
  
      A calltips is a tuple made of the following parts:
        - module_name: name of the module of the function invoked
        - call_name: name of the function that is being called
        - params: the list of parameter names.
        - index: index of the current parameter
        - bracket_start
  
      :returns tuple(module_name, call_name, params)