code: def module_completion(line):
      """
      Returns a list containing the completion possibilities for an import line.
  
      The line looks like this :
      'import xml.d'
      'from xml.dom import'
      """
  
      words = line.split(" ")
      nwords = len(words)
  
      # from whatever <tab> -> 'import '
      if nwords == 3 and words[0] == "from":
          return ["import "]
  
      # 'from xy<tab>' or 'import xy<tab>'
      if nwords < 3 and (words[0] in {"%aimport", "import", "from"}):
          if nwords == 1:
              return arcadia_get_root_modules()
          mod = words[1].split(".")
          if len(mod) < 2:
              return arcadia_get_root_modules()
          completion_list = try_import(".".join(mod[:-1]), True)
          return [".".join(mod[:-1] + [el]) for el in completion_list]
  
      # 'from xyz import abc<tab>'
      if nwords >= 3 and words[0] == "from":
          mod = words[1]
          return try_import(mod)
  
imports: import glob
  import inspect
  import itertools
  import os
  import re
  import sys
  from importlib import import_module
  from importlib.machinery import all_suffixes
  from time import time
  from zipimport import zipimporter
  from .completer import expand_user, compress_user
  from .error import TryNext
  from ..utils._process_common import arg_split
  from IPython import get_ipython
  from typing import List
  from __res import importer
label_desc: Use image node_id 10 for calling a global function with example usage: module_completion(line) and returns: list, unknown, try_import, arcadia_get_root_modules, arcadia_get_root_modules