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¶

PluginTraits

Defines capability flags for a framework to guide plugin logic.

StructuralTraits

Defines structural patterns for a framework to guide generic rewriters.

FrameworkAlias

Configuration for global module aliasing.

FrameworkTraits

Configuration for a framework's structural behavior.

SemanticsFile

Schema representing an entire semantics JSON file.

Module Contents¶

class ml_switcheroo.semantics.schema.PluginTraits(/, **data: Any)[source]¶

Bases: pydantic.BaseModel

Defines 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.BaseModel

Defines 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.BaseModel

Configuration for global module aliasing.

module: str¶
name: str¶
class ml_switcheroo.semantics.schema.FrameworkTraits(/, **data: Any)[source]¶

Bases: pydantic.BaseModel

Configuration 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.BaseModel

Schema 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¶