RetrievalOutcome#
- class scikitplot.mcp.RetrievalOutcome(hits=(), *, legs=None, status=None)[source]#
Ranked hits plus the story of how they were obtained.
- Parameters:
- hitsiterable, optional
The fused, ranked hits. Copied into this list.
- legslist of LegRecord, optional
One entry per evidence path considered.
- statusstr or None, optional
Normally left
Noneso it is derived fromlegsandhits. Pass a value only for terminal outcomes the legs cannot express, such asCANCELLED.
- Parameters:
Notes
User-focused. This is a real
listof hits.len(outcome),for hit in outcome,outcome[0]andif outcome:all behave exactly as they did before. Readstatuswhen you need to know why the list is the length it is.Developer-focused. Deriving
statusrather than accepting it is what makes the “EMPTYrequires every leg to have run” rule enforceable. The derivation order mirrorsscikitplot.corpus.RetrievalResponse._derive_status:With no legs recorded the outcome degrades to the historical behaviour (
EMPTYwhen there are no hits,SUCCESSotherwise), so a retriever that has not yet been updated keeps its previous meaning.Examples
>>> RetrievalOutcome([]).status 'empty' >>> failed = LegRecord("dense", FAILED, error="index unavailable") >>> RetrievalOutcome([], legs=[failed]).status 'failed' >>> ok = LegRecord("lexical", EMPTY) >>> RetrievalOutcome([], legs=[ok, failed]).status 'degraded'
- append(object, /)#
Append object to the end of the list.
- clear(/)#
Remove all items from list.
- copy(/)#
Return a shallow copy of the list.
- count(value, /)#
Return number of occurrences of value.
- extend(iterable, /)#
Extend list by appending elements from the iterable.
- index(value, start=0, stop=sys.maxsize, /)#
Return first index of value.
Raises ValueError if the value is not present.
- insert(index, object, /)#
Insert object before index.
- pop(index=-1, /)#
Remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
- remove(value, /)#
Remove first occurrence of value.
Raises ValueError if the value is not present.
- reverse(/)#
Reverse IN PLACE.
- sort(*, key=None, reverse=False)#
Sort the list in ascending order and return None.
The sort is in-place (i.e. the list itself is modified) and stable (i.e. the order of two equal elements is maintained).
If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values.
The reverse flag can be set to sort in descending order.