Source code for tensorbay.healthcheck.healthcheck
#!/usr/bin/env python3
#
# Copyright 2021 Graviti. Licensed under MIT License.
#
"""Healthcheck related methods.
:meth:`healthcheck` finds all errors in the :class:`~tensorbay.dataset.dataset.Dataset`
or :class:`~tensorbay.dataset.dataset.FusionDataset`,
including basic errors and catalog errors.
"""
from typing import Union
from tensorbay.dataset import Dataset, FusionDataset
from tensorbay.healthcheck.basic_check import check_basic
from tensorbay.healthcheck.catalog_check import check_catalog
from tensorbay.healthcheck.report import HealthReport
[docs]def healthcheck(dataset: Union[Dataset, FusionDataset]) -> HealthReport:
"""Healthcheck for Dataset or FusionDataset.
Arguments:
dataset: The :class:`~tensorbay.dataset.dataset.Dataset`
or :class:`~tensorbay.dataset.dataset.FusionDataset` for healthchecking.
Returns:
The full result of the healthcheck which contains all errors found.
"""
report = HealthReport()
with report.basic_reports as basic_reports:
for basic_error in check_basic(dataset):
basic_reports.append(basic_error)
with report.subcatalog_reports as subcatalog_reports:
for label_type, attribute_info_error in check_catalog(dataset.catalog):
subcatalog_reports[label_type].append(attribute_info_error)
return report