class_docstr: Represents a dataset for use with MLflow Tracking, including the name, digest (hash),
  schema, and profile of the dataset as well as source information (e.g. the S3 bucket or
  managed Delta table from which the dataset was derived). Most datasets expose features
  and targets for training and evaluation as well.
class_docstr_tok: ["Represents","a","dataset","for","use","with","MLflow","Tracking",",","including","the","name",",","digest","(","hash",")",",","schema",",","and","profile","of","the","dataset","as","well","as","source","information","(","e.g",".","the","S3","bucket","or","managed","Delta","table","from","which","the","dataset","was","derived",")",".","Most","datasets","expose","features","and","targets","for","training","and","evaluation","as","well","."]
docstr: Base constructor for a dataset. All subclasses must call this constructor.
docstr_tok: ["Base","constructor","for","a","dataset",".","All","subclasses","must","call","this","constructor","."]
code: def __init__(
      self,
      source: DatasetSource,
      name: Optional[str] = None,
      digest: Optional[str] = None,
  ):
      """
      Base constructor for a dataset. All subclasses must call this constructor.
      """
      self._name = name
      self._source = source
      # Note: Subclasses should call super() once they've initialized all of
      # the class attributes necessary for digest computation
      self._digest = digest or self._compute_digest()
  
file_path: mlflow/mlflow/data/dataset.py
imports: import json
  from abc import abstractmethod
  from typing import Any, Dict, Optional
  from mlflow.data.dataset_source import DatasetSource
  from mlflow.entities import Dataset
  from mlflow.utils.annotations import experimental
label_desc: Use image node_id 1 to create a new Dataset object  with example: obj = Dataset(source, name, digest)