# Path: pyramids/sample_utils.py
# class SampleUtils:
#     def load(file_path: str) -> SampleSet:
#     def save(samples: SampleSet, file_path: str) -> None:


from typing import NewType, NamedTuple, Callable, Iterable, Tuple, Optional
from pyramids.sample_utils import SampleSet, Input, Target
# -*- coding: utf-8 -*-

"""Batchwise parser training and evaluation."""




__all__ = [
    'Attempt',
    'Result',
    'Failure',
    'IndividualTally',
    'BatchTally',
    'Validator',
    'FeedbackReceiver',
    'AttemptGenerator',
    'ResultCallback',
    'FailureCallback',
    'AttemptFunction',
    'ModelBatchController',
]


Attempt = NewType('Attempt', str)

# Path: pyramids/sample_utils.py
# class SampleUtils:
#     def load(file_path: str) -> SampleSet:
#     def save(samples: SampleSet, file_path: str) -> None:


# Path: pyramids/batching.py
from typing import NewType, NamedTuple, Callable, Iterable, Tuple, Optional
from pyramids.sample_utils import SampleSet, Input, Target

# -*- coding: utf-8 -*-

"""Batchwise parser training and evaluation."""




__all__ = [
    'Attempt',
    'Result',
    'Failure',
    'IndividualTally',
    'BatchTally',
    'Validator',
    'FeedbackReceiver',
    'AttemptGenerator',
    'ResultCallback',
    'FailureCallback',
    'AttemptFunction',
    'ModelBatchController',
]


Attempt = NewType('Attempt', str)

Result = NamedTuple('Result', [('input', Input), ('attempt', Attempt), ('target', Target),