class_docstr: The MLflow Tracking configuration associated with an MLflow Recipe, including the
  Tracking URI and information about the destination Experiment for writing results.
class_docstr_tok: ["The","MLflow","Tracking","configuration","associated","with","an","MLflow","Recipe",",","including","the","Tracking","URI","and","information","about","the","destination","Experiment","for","writing","results","."]
docstr: :param tracking_uri: The MLflow Tracking URI.
  :param experiment_name: The MLflow Experiment name. At least one of ``experiment_name`` or
                          ``experiment_id`` must be specified. If both are specified, they
                          must be consistent with Tracking server state. Note that this
                          Experiment may not exist prior to recipe execution.
  :param experiment_id: The MLflow Experiment ID. At least one of ``experiment_name`` or
                        ``experiment_id`` must be specified. If both are specified, they
                        must be consistent with Tracking server state. Note that this
                        Experiment may not exist prior to recipe execution.
  :param run_name: The MLflow Run Name. If the run name is not specified, then a random
                          name is set for the run.
  :param artifact_location: The artifact location to use for the Experiment, if the Experiment
                            does not already exist. If the Experiment already exists, this
                            location is ignored.
docstr_tok: [":","param","tracking_uri",":","The","MLflow","Tracking","URI",".",":","param","experiment_name",":","The","MLflow","Experiment","name",".","At","least","one","of","``","experiment_name","``","or","``","experiment_id","``","must","be","specified",".","If","both","are","specified",",","they","must","be","consistent","with","Tracking","server","state",".","Note","that","this","Experiment","may","not","exist","prior","to","recipe","execution",".",":","param","experiment_id",":","The","MLflow","Experiment","ID",".","At","least","one","of","``","experiment_name","``","or","``","experiment_id","``","must","be","specified",".","If","both","are","specified",",","they","must","be","consistent","with","Tracking","server","state",".","Note","that","this","Experiment","may","not","exist","prior","to","recipe","execution",".",":","param","run_name",":","The","MLflow","Run","Name",".","If","the","run","name","is","not","specified",",","then","a","random","name","is","set","for","the","run",".",":","param","artifact_location",":","The","artifact","location","to","use","for","the","Experiment",",","if","the","Experiment","does","not","already","exist",".","If","the","Experiment","already","exists",",","this","location","is","ignored","."]
code: def __init__(
      self,
      tracking_uri: str,
      experiment_name: Optional[str] = None,
      experiment_id: Optional[str] = None,
      run_name: Optional[str] = None,
      artifact_location: Optional[str] = None,
  ):
      """
      :param tracking_uri: The MLflow Tracking URI.
      :param experiment_name: The MLflow Experiment name. At least one of ``experiment_name`` or
                              ``experiment_id`` must be specified. If both are specified, they
                              must be consistent with Tracking server state. Note that this
                              Experiment may not exist prior to recipe execution.
      :param experiment_id: The MLflow Experiment ID. At least one of ``experiment_name`` or
                            ``experiment_id`` must be specified. If both are specified, they
                            must be consistent with Tracking server state. Note that this
                            Experiment may not exist prior to recipe execution.
      :param run_name: The MLflow Run Name. If the run name is not specified, then a random
                              name is set for the run.
      :param artifact_location: The artifact location to use for the Experiment, if the Experiment
                                does not already exist. If the Experiment already exists, this
                                location is ignored.
      """
      if tracking_uri is None:
          raise MlflowException(
              message="`tracking_uri` must be specified",
              error_code=INVALID_PARAMETER_VALUE,
          )
  
      if (experiment_name, experiment_id).count(None) != 1:
          raise MlflowException(
              message="Exactly one of `experiment_name` or `experiment_id` must be specified",
              error_code=INVALID_PARAMETER_VALUE,
          )
      self.tracking_uri = tracking_uri
      self.experiment_name = experiment_name
      self.experiment_id = experiment_id
      self.run_name = run_name
      self.artifact_location = artifact_location
  
imports: import json
  import logging
  import pathlib
  import shutil
  import tempfile
  import uuid
  from typing import Any, Dict, Optional
  import mlflow
  from mlflow.environment_variables import MLFLOW_RUN_CONTEXT
  from mlflow.exceptions import MlflowException, RestException
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE
  from mlflow.recipes.utils import get_recipe_name
  from mlflow.tracking.client import MlflowClient
  from mlflow.tracking.context.registry import resolve_tags
  from mlflow.tracking.default_experiment import DEFAULT_EXPERIMENT_ID
  from mlflow.tracking.fluent import _get_experiment_id
  from mlflow.tracking.fluent import set_experiment
  from mlflow.utils.databricks_utils import is_in_databricks_runtime
  from mlflow.utils.file_utils import path_to_local_file_uri, path_to_local_sqlite_uri
  from mlflow.utils.git_utils import get_git_branch, get_git_commit, get_git_repo_url
  from mlflow.utils.mlflow_tags import LEGACY_MLFLOW_GIT_REPO_URL, MLFLOW_GIT_BRANCH, MLFLOW_GIT_COMMIT, MLFLOW_GIT_REPO_URL, MLFLOW_SOURCE_NAME
label_desc: Use image node_id 1 to create a new TrackingConfig object  with example: obj = TrackingConfig(tracking_uri, experiment_name, experiment_id, run_name, artifact_location)