docs: def get_provider(cls, scm_name: str, conf) -> SourceControl:
          """Load and return named SCM provider instance.
  
          :param conf: A yabt.config.Config object used to initialize the SCM
                          provider instance.
  
          :raises KeyError: If no SCM provider with name `scm_name` registered.
          """
          for entry_point in pkg_resources.iter_entry_points('yabt.scm',
                                                             scm_name):
              entry_point.load()
              logger.debug('Loaded SCM provider {0.name} from {0.module_name} '
                           '(dist {0.dist})', entry_point)
          logger.debug('Loaded {} SCM providers', len(cls.providers))
          if scm_name not in cls.providers:
              raise KeyError('Unknown SCM identifier {}'.format(scm_name))
          return cls.providers[scm_name](conf)