parameters: (text: str, completions: _IC)
docstring: Deduplicate a set of completions.
  
      .. warning::
  
          Unstable
  
          This function is unstable, API may change without warning.
  
      Parameters
      ----------
      text: str
          text that should be completed.
      completions: Iterator[Completion]
          iterator over the completions to deduplicate
  
      Yields
      ------
      `Completions` objects
  
  
      Completions coming from multiple sources, may be different but end up having
      the same effect when applied to ``text``. If this is the case, this will
      consider completions as equal and only emit the first encountered.
  
      Not folded in `completions()` yet for debugging purpose, and to detect when
      the IPython completer does return things that Jedi does not, but should be
      at some point.
docstring_summary: Deduplicate a set of completions.
docstring_tokens: Deduplicate a set of completions .
function: def _deduplicate_completions(text: str, completions: _IC)-> _IC:
      """
      Deduplicate a set of completions.
  
      .. warning::
  
          Unstable
  
          This function is unstable, API may change without warning.
  
      Parameters
      ----------
      text: str
          text that should be completed.
      completions: Iterator[Completion]
          iterator over the completions to deduplicate
  
      Yields
      ------
      `Completions` objects
  
  
      Completions coming from multiple sources, may be different but end up having
      the same effect when applied to ``text``. If this is the case, this will
      consider completions as equal and only emit the first encountered.
  
      Not folded in `completions()` yet for debugging purpose, and to detect when
      the IPython completer does return things that Jedi does not, but should be
      at some point.
      """
      completions = list(completions)
      if not completions:
          return
  
      new_start = min(c.start for c in completions)
      new_end = max(c.end for c in completions)
  
      seen = set()
      for c in completions:
          new_text = text[new_start:c.start] + c.text + text[c.end:new_end]
          if new_text not in seen:
              yield c
              seen.add(new_text)
function_tokens: def _deduplicate_completions ( text : str , completions : _IC ) -> _IC : completions = list ( completions ) if not completions : return new_start = min ( c . start for c in completions ) new_end = max ( c . end for c in completions ) seen = set ( ) for c in completions : new_text = text [ new_start : c . start ] + c . text + text [ c . end : new_end ] if new_text not in seen : yield c seen . add ( new_text )