# Path: google/cloud/datalabeling_v1beta1/types/dataset.py
# class DataType(proto.Enum):
# class Dataset(proto.Message):
# class InputConfig(proto.Message):
# class TextMetadata(proto.Message):
# class ClassificationMetadata(proto.Message):
# class GcsSource(proto.Message):
# class BigQuerySource(proto.Message):
# class OutputConfig(proto.Message):
# class GcsDestination(proto.Message):
# class GcsFolderDestination(proto.Message):
# class DataItem(proto.Message):
# class AnnotatedDataset(proto.Message):
# class LabelStats(proto.Message):
# class AnnotatedDatasetMetadata(proto.Message):
# class Example(proto.Message):
#     DATA_TYPE_UNSPECIFIED = 0
#     IMAGE = 1
#     VIDEO = 2
#     TEXT = 4
#     GENERAL_DATA = 6
# 
# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
# class Evaluation(proto.Message):
# class EvaluationConfig(proto.Message):
# class BoundingBoxEvaluationOptions(proto.Message):
# class EvaluationMetrics(proto.Message):
# class ClassificationMetrics(proto.Message):
# class ObjectDetectionMetrics(proto.Message):
# class PrCurve(proto.Message):
#     class ConfidenceMetricsEntry(proto.Message):
# class ConfusionMatrix(proto.Message):
#     class ConfusionMatrixEntry(proto.Message):
#     class Row(proto.Message):
# 
# Path: google/cloud/datalabeling_v1beta1/types/human_annotation_config.py
# class StringAggregationType(proto.Enum):
# class HumanAnnotationConfig(proto.Message):
# class ImageClassificationConfig(proto.Message):
# class BoundingPolyConfig(proto.Message):
# class PolylineConfig(proto.Message):
# class SegmentationConfig(proto.Message):
# class VideoClassificationConfig(proto.Message):
#     class AnnotationSpecSetConfig(proto.Message):
# class ObjectDetectionConfig(proto.Message):
# class ObjectTrackingConfig(proto.Message):
# class EventConfig(proto.Message):
# class TextClassificationConfig(proto.Message):
# class SentimentConfig(proto.Message):
# class TextEntityExtractionConfig(proto.Message):
#     STRING_AGGREGATION_TYPE_UNSPECIFIED = 0
#     MAJORITY_VOTE = 1
#     UNANIMOUS_VOTE = 2
#     NO_AGGREGATION = 3


import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import (
    human_annotation_config as gcd_human_annotation_config,
)
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore
# See the License for the specific language governing permissions and
# limitations under the License.
#



__protobuf__ = proto.module(
    package="google.cloud.datalabeling.v1beta1",
    manifest={
        "EvaluationJob",
        "EvaluationJobConfig",
        "EvaluationJobAlertConfig",
        "Attempt",
    },
)


class EvaluationJob(proto.Message):
    r"""Defines an evaluation job that runs periodically to generate
    [Evaluations][google.cloud.datalabeling.v1beta1.Evaluation].
    `Creating an evaluation
    job </ml-engine/docs/continuous-evaluation/create-job>`__ is the
    starting point for using continuous evaluation.

    Attributes:
        name (str):
            Output only. After you create a job, Data Labeling Service
            assigns a name to the job with the following format:

            "projects/{project_id}/evaluationJobs/{evaluation_job_id}".

# Path: google/cloud/datalabeling_v1beta1/types/dataset.py
# class DataType(proto.Enum):
# class Dataset(proto.Message):
# class InputConfig(proto.Message):
# class TextMetadata(proto.Message):
# class ClassificationMetadata(proto.Message):
# class GcsSource(proto.Message):
# class BigQuerySource(proto.Message):
# class OutputConfig(proto.Message):
# class GcsDestination(proto.Message):
# class GcsFolderDestination(proto.Message):
# class DataItem(proto.Message):
# class AnnotatedDataset(proto.Message):
# class LabelStats(proto.Message):
# class AnnotatedDatasetMetadata(proto.Message):
# class Example(proto.Message):
#     DATA_TYPE_UNSPECIFIED = 0
#     IMAGE = 1
#     VIDEO = 2
#     TEXT = 4
#     GENERAL_DATA = 6
# 
# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
# class Evaluation(proto.Message):
# class EvaluationConfig(proto.Message):
# class BoundingBoxEvaluationOptions(proto.Message):
# class EvaluationMetrics(proto.Message):
# class ClassificationMetrics(proto.Message):
# class ObjectDetectionMetrics(proto.Message):
# class PrCurve(proto.Message):
#     class ConfidenceMetricsEntry(proto.Message):
# class ConfusionMatrix(proto.Message):
#     class ConfusionMatrixEntry(proto.Message):
#     class Row(proto.Message):
# 
# Path: google/cloud/datalabeling_v1beta1/types/human_annotation_config.py
# class StringAggregationType(proto.Enum):
# class HumanAnnotationConfig(proto.Message):
# class ImageClassificationConfig(proto.Message):
# class BoundingPolyConfig(proto.Message):
# class PolylineConfig(proto.Message):
# class SegmentationConfig(proto.Message):
# class VideoClassificationConfig(proto.Message):
#     class AnnotationSpecSetConfig(proto.Message):
# class ObjectDetectionConfig(proto.Message):
# class ObjectTrackingConfig(proto.Message):
# class EventConfig(proto.Message):
# class TextClassificationConfig(proto.Message):
# class SentimentConfig(proto.Message):
# class TextEntityExtractionConfig(proto.Message):
#     STRING_AGGREGATION_TYPE_UNSPECIFIED = 0
#     MAJORITY_VOTE = 1
#     UNANIMOUS_VOTE = 2
#     NO_AGGREGATION = 3


# Path: google/cloud/datalabeling_v1beta1/types/evaluation_job.py
import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import (
    human_annotation_config as gcd_human_annotation_config,
)
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore

# See the License for the specific language governing permissions and
# limitations under the License.
#



__protobuf__ = proto.module(
    package="google.cloud.datalabeling.v1beta1",
    manifest={
        "EvaluationJob",
        "EvaluationJobConfig",
        "EvaluationJobAlertConfig",
        "Attempt",
    },
)


class EvaluationJob(proto.Message):
    r"""Defines an evaluation job that runs periodically to generate
    [Evaluations][google.cloud.datalabeling.v1beta1.Evaluation].
    `Creating an evaluation
    job </ml-engine/docs/continuous-evaluation/create-job>`__ is the
    starting point for using continuous evaluation.

    Attributes:
        name (str):
            Output only. After you create a job, Data Labeling Service
            assigns a name to the job with the following format:

            "projects/{project_id}/evaluationJobs/{evaluation_job_id}".

        description (str):