def profile(self, recs: Iterator[dict], index: bool=False, deep: bool=False) -> TaggedProfilerSummary:
    "Provides the most useful summary counts you'll likely want from the incoming record sequence.\n        Optional :index and :deep flags allow us to return special indexing and cachinc structs which we'll describe later."
    labels = list(self.tagmap.keys())
    temp_cache: Dict[(int, Any)] = {}
    temp_index: Dict[(str, Any)] = {k: defaultdict(int) for k in labels}
    for status in self.evaluate(recs, deep):
        temp_cache[status.offset] = (status.r if deep else 1)
        temp_index[status.tag][status.offset] += 1
    _total = len(temp_cache)
    _histo: Dict[(str, int)] = {k: len(v) for (k, v) in temp_index.items()}
    _index: Optional[Dict[(str, list)]] = None
    _cache: Optional[Dict[(int, Any)]] = None
    if temp_index:
        _index = {k: list(v.keys()) for (k, v) in temp_index.items()}
    if deep:
        _cache = temp_cache
    return TaggedProfilerSummary(_total, _histo, _index, _cache)
Provides the most useful summary counts you'll likely want from the incoming record sequence.
Optional :index and :deep flags allow us to return special indexing and cachinc structs which we'll describe later.
def profile(self, recs: Iterator[dict], index: bool=False, deep: bool=False) -> TaggedProfilerSummary:
    "Provides the most useful summary counts you'll likely want from the incoming record sequence.\n        Optional :index and :deep flags allow us to return special indexing and cachinc structs which we'll describe later."
    labels = list(self.tagmap.keys())
    temp_cache: Dict[(int, Any)] = {}
    temp_index: Dict[(str, Any)] = {k: defaultdict(int) for k in labels}
    for status in self.evaluate(recs, deep):
        temp_cache[status.offset] = (status.r if deep else 1)
        temp_index[status.tag][status.offset] += 1
    _total = len(temp_cache)
    _histo: Dict[(str, int)] = {k: len(v) for (k, v) in temp_index.items()}
    _index: Optional[Dict[(str, list)]] = None
    _cache: Optional[Dict[(int, Any)]] = None
    if temp_index:
        _index = {k: list(v.keys()) for (k, v) in temp_index.items()}
    if deep:
        _cache = temp_cache
    return TaggedProfilerSummary(_total, _histo, _index, _cache)