adapters
adapters ¤
Shape-driven adapters that convert detector frames (the DataFrames
detectors return) into the canonical :class:~ts_shape.eventlog.model.EventLog.
There is one adapter implementation per shape (point, interval, summary,
static). The per-method specifics live in
:mod:ts_shape.eventlog.taxonomy (the REGISTRY). A custom adapter for
a specific (class, method) pair can be registered with
@register_adapter(...) to override the shape-driven default — useful
for the few detectors whose frame layout does not fit any standard shape.
MissingCanonicalColumn ¤
Bases: ColumnNotFoundError, KeyError
A detector frame lacks a time column of its shape.
A :class:~ts_shape.errors.ColumnNotFoundError like every missing column,
and a KeyError for code written against earlier releases.
register_adapter ¤
register_adapter(
class_name: str, method_name: str
) -> Callable[[AdapterFn], AdapterFn]
Register a custom adapter for a specific (class, method).
The function will be called with (detector_frame, *, rule, detector,
objects, qualifiers).
get_override ¤
get_override(
class_name: str, method_name: str
) -> AdapterFn | None
Return the custom adapter registered for (class, method).
Deprecated class and method names resolve to their current names.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
class_name
|
str
|
Detector class name, e.g. |
required |
method_name
|
str
|
Method name on that class. |
required |
Returns:
| Type | Description |
|---|---|
AdapterFn | None
|
The registered adapter function, or None when the shape-driven |
AdapterFn | None
|
default applies. |
has_override ¤
has_override(class_name: str, method_name: str) -> bool
Return True iff a custom adapter is registered for (class, method).
clear_overrides ¤
clear_overrides(
class_name: str | None = None,
method_name: str | None = None,
) -> None
Remove registered override(s).
- No arguments: clear every registration (typical test teardown).
- Both arguments: clear that specific
(class, method)only. - Class name only: clear every override on that class.
Deprecated class and method names (e.g. CycleTimeTracking) resolve
to their current names, like :func:register_adapter. Has no effect if
the targeted entries are already absent.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
class_name
|
str | None
|
Detector class name; None clears every registration. |
None
|
method_name
|
str | None
|
Method name; None clears every method of |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
adapt ¤
adapt(
frame: DataFrame,
*,
rule: LabelRule,
detector: str,
objects: Mapping[str, object] | None = None,
qualifiers: Mapping[str, str] | None = None,
timestamp: object | None = None
) -> EventLog
Convert one detector's output into a canonical :class:EventLog.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
frame
|
DataFrame
|
The detector frame. |
required |
rule
|
LabelRule
|
The label rule of the detector method. |
required |
detector
|
str
|
|
required |
objects
|
Mapping[str, object] | None
|
Object bindings (see :func: |
None
|
qualifiers
|
Mapping[str, str] | None
|
Relation qualifier per object type. |
None
|
timestamp
|
object | None
|
Timestamp of |
None
|
Returns:
| Type | Description |
|---|---|
EventLog
|
The event log; an empty one for an empty frame. |