ml_switcheroo.semantics.schema¶
Pydantic Schemas for Semantic Knowledge Base.
This module defines the data structure of the JSON mapping files (k_array_api.json, etc.) and the Framework Configuration blocks.
Updated to support: - PluginTraits: Capability flags for decoupling plugins from framework identifiers. - Rich Argument Definitions in std_args with Typed Defaults (Any). - Conditional Dispatch Rules. - PatternDef: Graph fusion patterns.
Classes¶
Defines capability flags for a framework to guide plugin logic. |
|
Defines structural patterns for a framework to guide generic rewriters. |
|
Configuration for global module aliasing. |
|
Configuration for a framework's structural behavior. |
|
Schema representing an entire semantics JSON file. |
Module Contents¶
- class ml_switcheroo.semantics.schema.PluginTraits(/, **data: Any)[source]¶
Bases:
pydantic.BaseModelDefines capability flags for a framework to guide plugin logic.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- has_numpy_compatible_arrays: bool = None¶
- requires_explicit_rng: bool = None¶
- requires_functional_state: bool = None¶
- requires_functional_control_flow: bool = None¶
- enforce_purity_analysis: bool = None¶
- strict_materialization_method: str | None = None¶
- class ml_switcheroo.semantics.schema.StructuralTraits(/, **data: Any)[source]¶
Bases:
pydantic.BaseModelDefines structural patterns for a framework to guide generic rewriters.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- module_base: str | None = None¶
- forward_method: str | None = None¶
- known_inference_methods: Set[str] = None¶
- functional_execution_method: str | None = None¶
- requires_super_init: bool = None¶
- init_method_name: str | None = None¶
- inject_magic_args: List[Tuple[str, str | None]] = None¶
- strip_magic_args: List[str] = None¶
- auto_strip_magic_args: bool = None¶
- lifecycle_strip_methods: List[str] = None¶
- lifecycle_warn_methods: List[str] = None¶
- impurity_methods: List[str] = None¶
- implicit_method_roots: List[str] = None¶
- jit_static_args: List[str] = None¶
- class ml_switcheroo.semantics.schema.FrameworkAlias(/, **data: Any)[source]¶
Bases:
pydantic.BaseModelConfiguration for global module aliasing.
- module: str¶
- name: str¶
- class ml_switcheroo.semantics.schema.FrameworkTraits(/, **data: Any)[source]¶
Bases:
pydantic.BaseModelConfiguration for a framework’s structural behavior.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- extends: str | None = None¶
- alias: FrameworkAlias | None = None¶
- stateful_call: Dict[str, str] | None = None¶
- tiers: List[ml_switcheroo.enums.SemanticTier] | None = None¶
- traits: StructuralTraits | None = None¶
- plugin_traits: PluginTraits | None = None¶
- class ml_switcheroo.semantics.schema.SemanticsFile(/, **data: Any)[source]¶
Bases:
pydantic.BaseModelSchema representing an entire semantics JSON file.
- model_config¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- frameworks: Dict[str, FrameworkTraits] | None = None¶
- imports: Dict[str, Any] | None = None¶
- patterns: List[ml_switcheroo.core.dsl.PatternDef] | None = None¶