def get(self, id_, include_sources=False):
    '\n        Get dataset by id\n\n        :param uuid id_: id of the dataset to retrieve\n        :param bool include_sources: get the full provenance graph?\n        :rtype: datacube.model.Dataset\n        '
    if (not include_sources):
        return self._make(self._db.get_dataset(id_), full_info=True)
    datasets = {result['id']: (self._make(result, full_info=True), result) for result in self._db.get_dataset_sources(id_)}
    for (dataset, result) in datasets.values():
        dataset.metadata_doc['lineage']['source_datasets'] = {classifier: datasets[str(source)][0].metadata_doc for (source, classifier) in zip(result['sources'], result['classes']) if source}
        dataset.sources = {classifier: datasets[str(source)][0] for (source, classifier) in zip(result['sources'], result['classes']) if source}
    return datasets[id_][0]
Get dataset by id

:param uuid id_: id of the dataset to retrieve
:param bool include_sources: get the full provenance graph?
:rtype: datacube.model.Dataset
def get(self, id_, include_sources=False):
    '\n        Get dataset by id\n\n        :param uuid id_: id of the dataset to retrieve\n        :param bool include_sources: get the full provenance graph?\n        :rtype: datacube.model.Dataset\n        '
    if (not include_sources):
        return self._make(self._db.get_dataset(id_), full_info=True)
    datasets = {result['id']: (self._make(result, full_info=True), result) for result in self._db.get_dataset_sources(id_)}
    for (dataset, result) in datasets.values():
        dataset.metadata_doc['lineage']['source_datasets'] = {classifier: datasets[str(source)][0].metadata_doc for (source, classifier) in zip(result['sources'], result['classes']) if source}
        dataset.sources = {classifier: datasets[str(source)][0] for (source, classifier) in zip(result['sources'], result['classes']) if source}
    return datasets[id_][0]