register_bridge#

scikitplot.corpus.register_bridge(chunker_class, bridge_class)[source]#

Register a custom bridge for a user-defined chunker class.

After registration, bridge_chunker will automatically wrap instances of chunker_class in bridge_class.

Parameters:
chunker_classtype

The user-defined chunker class to register. Matched by exact type(chunker).__name__ string so subclasses must be registered separately if needed.

bridge_classtype[ChunkerBridge]

A ChunkerBridge subclass that wraps chunker_class.

Raises:
TypeError

If bridge_class is not a subclass of ChunkerBridge.

Parameters:
Return type:

None

Examples

>>> class MyChunker:
...     def chunk(self, text, extra_metadata=None):
...         from .._types import Chunk, ChunkResult
...
...         return ChunkResult(
...             chunks=[
...                 Chunk(text=text, start_char=0, end_char=len(text), metadata={})
...             ],
...             metadata={},
...         )
>>> class MyChunkerBridge(ChunkerBridge):
...     from .._schema import ChunkingStrategy
...
...     strategy = ChunkingStrategy.CUSTOM
...
...     def _call_inner(self, text, metadata):
...         return self.inner.chunk(text, extra_metadata=metadata)
>>> register_bridge(MyChunker, MyChunkerBridge)
>>> bridged = bridge_chunker(MyChunker())
>>> hasattr(bridged, "strategy")
True