code: def _from_yang_library(self, yang_lib: Dict[str, Any]) -> None:
          
          try:
              for item in yang_lib["ietf-yang-library:modules-state"]["module"]:
                  name = item["name"]
                  rev = item["revision"]
                  mid = (name, rev)
                  mdata = ModuleData(mid)
                  self.modules[mid] = mdata
                  if item["conformance-type"] == "implement":
                      if name in self.implement:
                          raise MultipleImplementedRevisions(name)
                      self.implement[name] = rev
                  mod = self._load_module(name, rev)
                  mdata.statement = mod
                  if "feature" in item:
                      mdata.features.update(item["feature"])
                  locpref = mod.find1("prefix", required=True).argument
                  mdata.prefix_map[locpref] = mid
                  if "submodule" in item:
                      for s in item["submodule"]:
                          sname = s["name"]
                          smid = (sname, s["revision"])
                          sdata = ModuleData(mid)
                          self.modules[smid] = sdata
                          mdata.submodules.add(smid)
                          submod = self._load_module(*smid)
                          sdata.statement = submod
                          bt = submod.find1("belongs-to", name, required=True)
                          locpref = bt.find1("prefix", required=True).argument
                          sdata.prefix_map[locpref] = mid
          except KeyError as e:
              raise BadYangLibraryData("missing " + str(e)) from None
          self._process_imports()
          self._check_feature_dependences()
docs: Set the schema structures from YANG library data.
  
          Args:
              yang_lib: Dictionary with YANG library data.
  
          Raises:
              BadYangLibraryData: If YANG library data is invalid.
              FeaturePrerequisiteError: If a pre-requisite feature isn't
                  supported.
              MultipleImplementedRevisions: If multiple revisions of an
                  implemented module are listed in YANG library.
              ModuleNotFound: If a YANG module wasn't found in any of the
                  directories specified in `mod_path`.