Adapter registry¶
Named resolution of codec, exporter, and knowledge-base adapters from
in-process registration and Python entry points. The entry-point groups
are lairs.codecs, lairs.exporters, and
lairs.knowledge_bases.
lairs.integrations.registry ¶
Adapter registry for codecs, exporters, and knowledge bases.
The registry resolves named adapters from two sources: in-process registration
and Python entry points (so third parties can ship adapters as their own
distributions). Entry-point groups are lairs.codecs, lairs.exporters,
and lairs.knowledge_bases.
The registry is generic over the adapter type it holds, so lookups return a precisely typed adapter class rather than a widened type. Three typed default registries, one per family, are exposed through the module-level helpers.
UnknownAdapterError ¶
Bases: KeyError
Raised when a requested adapter name is not registered.
The error message lists the adapters available in the relevant registry so that callers can recover.
Registry ¶
A registry of named adapter classes for a single family.
Lookups consult in-process registrations first and fall back to entry-point discovery, which runs at most once per registry.
| PARAMETER | DESCRIPTION |
|---|---|
family
|
A human-readable family name used in error messages.
TYPE:
|
group
|
The entry-point group to discover adapters from. When
TYPE:
|
register ¶
Register an adapter class under a name.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The adapter name.
TYPE:
|
adapter
|
The adapter class.
TYPE:
|
get ¶
Retrieve an adapter class by name.
If the name is not registered in process, entry points are discovered and consulted once.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The adapter name.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
type
|
The registered adapter class. |
| RAISES | DESCRIPTION |
|---|---|
UnknownAdapterError
|
If no adapter is registered under |
available ¶
List the names available in this registry.
Triggers entry-point discovery if it has not run yet.
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
The sorted available adapter names. |
register_codec ¶
register_codec(name: str, adapter: type[Codec]) -> None
Register a codec class in the default registry.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The codec name.
TYPE:
|
adapter
|
The codec class.
TYPE:
|
register_exporter ¶
register_exporter(
name: str, adapter: type[Exporter]
) -> None
Register an exporter class in the default registry.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The exporter name.
TYPE:
|
adapter
|
The exporter class.
TYPE:
|
register_knowledge_base ¶
register_knowledge_base(
name: str, adapter: type[KnowledgeBase]
) -> None
Register a knowledge-base class in the default registry.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The knowledge-base name.
TYPE:
|
adapter
|
The knowledge-base class.
TYPE:
|
get_codec ¶
get_codec(name: str) -> type[Codec]
Retrieve a codec class from the default registry.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The codec name.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
type
|
The registered codec class. |
| RAISES | DESCRIPTION |
|---|---|
UnknownAdapterError
|
If no codec is registered under |
get_exporter ¶
get_exporter(name: str) -> type[Exporter]
Retrieve an exporter class from the default registry.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The exporter name.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
type
|
The registered exporter class. |
| RAISES | DESCRIPTION |
|---|---|
UnknownAdapterError
|
If no exporter is registered under |
get_knowledge_base ¶
get_knowledge_base(name: str) -> type[KnowledgeBase]
Retrieve a knowledge-base class from the default registry.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
The knowledge-base name.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
type
|
The registered knowledge-base class. |
| RAISES | DESCRIPTION |
|---|---|
UnknownAdapterError
|
If no knowledge base is registered under |
available ¶
List the available adapter names in a family of the default registries.
| PARAMETER | DESCRIPTION |
|---|---|
family
|
The adapter family (
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
The sorted available adapter names. |
| RAISES | DESCRIPTION |
|---|---|
KeyError
|
If |