code: def install_package(self, path, recursive=False):
          # type: (str, bool) -> tuple
          
          return self.__framework.install_package(path, recursive)
docs: Installs all the modules found in the given package (directory).
          It is a utility method working like
          :meth:`~pelix.framework.BundleContext.install_visiting`, with a visitor
          accepting every module found.
  
          :param path: Path of the package (folder)
          :param recursive: If True, installs the modules found in sub-directories
          :return: A 2-tuple, with the list of installed bundles
                   (:class:`~pelix.framework.Bundle`) and the list of the names
                   of the modules which import failed.
          :raise ValueError: The given path is invalid