class_docstr: Class that manages experiments in a DVC repo.
  
  Args:
      repo (dvc.repo.Repo): repo instance that these experiments belong to.
class_docstr_tok: ["Class","that","manages","experiments","in","a","DVC","repo",".","Args",":","repo","(","dvc.repo.Repo",")",":","repo","instance","that","these","experiments","belong","to","."]
code: def __init__(self, repo):
      from dvc.scm import NoSCMError
  
      if repo.config["core"].get("no_scm", False):
          raise NoSCMError
  
      self.repo = repo
  
imports: import os
  import re
  from typing import TYPE_CHECKING, Dict, Iterable, List, Optional
  from funcy import chain, first
  from dvc.log import logger
  from dvc.ui import ui
  from dvc.utils import relpath
  from dvc.utils.objects import cached_property
  from .cache import ExpCache
  from .exceptions import BaselineMismatchError, ExperimentExistsError, InvalidExpRefError, MultipleBranchError
  from .refs import APPLY_STASH, CELERY_FAILED_STASH, CELERY_STASH, EXEC_APPLY, EXEC_NAMESPACE, EXPS_NAMESPACE, WORKSPACE_STASH, ExpRefInfo
  from .stash import ApplyStash
  from .utils import check_ref_format, exp_refs_by_rev, unlocked_repo
label_desc: Use image node_id 1 to create a new Experiments object  with example: obj = Experiments(repo)