haive.core.schema.compatibility.protocolsΒΆ
from typing import Any. Protocol definitions for extending the schema compatibility system.
ClassesΒΆ
Protocol for async converters. |
|
Protocol for compatibility checker plugins. |
|
Protocol for conversion strategies. |
|
Example field resolver using similarity matching. |
|
Example type inspector for custom types. |
|
Protocol for resolving field mappings. |
|
Protocol for field transformation functions. |
|
Manages plugins for the compatibility system. |
|
Protocol for objects that can be converted to/from schemas. |
|
Protocol for schema evolution/migration. |
|
Protocol for schema registries. |
|
Protocol for schema validators. |
|
Protocol for custom type inspection. |
FunctionsΒΆ
|
Decorator to register a compatibility plugin. |
|
Decorator to register a converter plugin. |
|
Decorator to register a validator plugin. |
Module ContentsΒΆ
- class haive.core.schema.compatibility.protocols.AsyncConverter[source]ΒΆ
Bases:
Protocol
Protocol for async converters.
- async aconvert(value, context)[source]ΒΆ
Async conversion.
- Parameters:
value (Any)
context (haive.core.schema.compatibility.types.ConversionContext)
- Return type:
Any
- class haive.core.schema.compatibility.protocols.CompatibilityPlugin[source]ΒΆ
Bases:
Protocol
Protocol for compatibility checker plugins.
- check_compatibility(source_type, target_type)[source]ΒΆ
Check compatibility between types.
- Parameters:
- Return type:
haive.core.schema.compatibility.types.CompatibilityLevel | None
- class haive.core.schema.compatibility.protocols.ConversionStrategy[source]ΒΆ
Bases:
Protocol
Protocol for conversion strategies.
- convert(value, source_type, target_type, context)[source]ΒΆ
Perform conversion.
- Parameters:
value (Any)
source_type (type)
target_type (type)
context (haive.core.schema.compatibility.types.ConversionContext)
- Return type:
Any
- class haive.core.schema.compatibility.protocols.ExampleFieldResolver[source]ΒΆ
Example field resolver using similarity matching.
- resolve_field(source_fields, target_field)[source]ΒΆ
Resolve by name similarity.
- Parameters:
source_fields (dict[str, haive.core.schema.compatibility.types.FieldInfo])
target_field (haive.core.schema.compatibility.types.FieldInfo)
- Return type:
str | None
- suggest_mapping(source_schema, target_schema)[source]ΒΆ
Suggest mappings for all fields.
- Parameters:
source_schema (haive.core.schema.compatibility.types.SchemaInfo)
target_schema (haive.core.schema.compatibility.types.SchemaInfo)
- Return type:
- class haive.core.schema.compatibility.protocols.ExampleTypeInspector[source]ΒΆ
Example type inspector for custom types.
- class haive.core.schema.compatibility.protocols.FieldResolver[source]ΒΆ
Bases:
Protocol
Protocol for resolving field mappings.
- resolve_field(source_fields, target_field)[source]ΒΆ
Resolve source field for a target field.
- Parameters:
source_fields (dict[str, haive.core.schema.compatibility.types.FieldInfo])
target_field (haive.core.schema.compatibility.types.FieldInfo)
- Return type:
str | None
- suggest_mapping(source_schema, target_schema)[source]ΒΆ
Suggest field mappings.
- Parameters:
source_schema (haive.core.schema.compatibility.types.SchemaInfo)
target_schema (haive.core.schema.compatibility.types.SchemaInfo)
- Return type:
- class haive.core.schema.compatibility.protocols.FieldTransformer[source]ΒΆ
Bases:
Protocol
Protocol for field transformation functions.
- class haive.core.schema.compatibility.protocols.PluginManager[source]ΒΆ
Manages plugins for the compatibility system.
Init .
- Returns:
Add return description]
- Return type:
[TODO
- register_compatibility_plugin(plugin)[source]ΒΆ
Register a compatibility plugin.
- Parameters:
plugin (CompatibilityPlugin)
- Return type:
None
- register_converter(converter)[source]ΒΆ
Register a conversion strategy.
- Parameters:
converter (ConversionStrategy)
- Return type:
None
- register_inspector(inspector)[source]ΒΆ
Register a type inspector.
- Parameters:
inspector (TypeInspector)
- Return type:
None
- register_resolver(resolver)[source]ΒΆ
Register a field resolver.
- Parameters:
resolver (FieldResolver)
- Return type:
None
- register_validator(validator)[source]ΒΆ
Register a schema validator.
- Parameters:
validator (SchemaValidator)
- Return type:
None
- class haive.core.schema.compatibility.protocols.SchemaConvertible[source]ΒΆ
Bases:
Protocol
Protocol for objects that can be converted to/from schemas.
- class haive.core.schema.compatibility.protocols.SchemaEvolution[source]ΒΆ
Bases:
Protocol
Protocol for schema evolution/migration.
- class haive.core.schema.compatibility.protocols.SchemaRegistry[source]ΒΆ
Bases:
Protocol
Protocol for schema registries.
- class haive.core.schema.compatibility.protocols.SchemaValidator[source]ΒΆ
Bases:
Protocol
Protocol for schema validators.
- validate_compatibility(source, target)[source]ΒΆ
Validate compatibility between schemas.
- Parameters:
- Return type:
- class haive.core.schema.compatibility.protocols.TypeInspector[source]ΒΆ
Bases:
Protocol
Protocol for custom type inspection.
- haive.core.schema.compatibility.protocols.compatibility_plugin(priority=0)[source]ΒΆ
Decorator to register a compatibility plugin.
- Parameters:
priority (int)