IR API¶
lattice_contract contains the backend-neutral dataclasses and semantic
operation contracts used by the legacy JSON artifact bridge. It does not import
MLX, Torch, native kernels, or sparse runtime objects.
For the conceptual model, read Sparse model IR.
Manifest model¶
- lattice_contract.manifest.triple(value, *, name)[source]¶
Normalize an integer or 3-sequence into a spatial integer triple.
- class lattice_contract.manifest.IRSparseSupport(kind, kernel_size=None, stride=None, padding=None, dilation=None, target=None, mode=None, join=None)[source]¶
Bases:
objectSparse relation/support attributes for an IR operation.
- Parameters:
- class lattice_contract.manifest.IRTensorSpec(name, type)[source]¶
Bases:
objectNamed graph input or output specification.
- Parameters:
- class lattice_contract.manifest.IRNode(id, op, inputs, outputs, parameters=<factory>, attributes=<factory>, support=None)[source]¶
Bases:
objectOne semantic operation in a lattice model graph.
- Parameters:
- inputs: dict[str, IRInputRef]¶
- support: IRSparseSupport | None¶
- class lattice_contract.manifest.IRManifest(schema_version, producer, runtime, inputs, outputs, nodes, dtype_policy='preserve', coordinate_order=('batch', 'x', 'y', 'z'), feature_layout=('row', 'channel'), weight_layout='mlx-lattice')[source]¶
Bases:
objectValidated sparse model manifest.
The manifest is the stable artifact contract shared by future training producers and the MLX artifact loader. It records semantic sparse graph nodes and names the tensor weights stored beside it.
- Parameters:
schema_version (str)
inputs (tuple[IRTensorSpec, ...])
outputs (tuple[IRTensorSpec, ...])
dtype_policy (Literal['preserve', 'fp32', 'fp16', 'fp16_inference'])
weight_layout (str)
- inputs: tuple[IRTensorSpec, ...]¶
- outputs: tuple[IRTensorSpec, ...]¶
- lattice_contract.manifest.load_manifest(path)[source]¶
Load and validate a manifest JSON file.
- Return type:
- Parameters:
- lattice_contract.manifest.manifest_from_dict(raw)[source]¶
Build a validated
IRManifestfrom decoded JSON data.- Return type:
- Parameters:
- lattice_contract.manifest.manifest_to_dict(manifest)[source]¶
Convert a manifest object to JSON-serializable data.
- Return type:
- Parameters:
manifest (IRManifest)
- lattice_contract.manifest.is_ir_value_type(value)[source]¶
Return whether
valueis a supported lattice IR value type.
Operation registry¶
The registry exposes explicit semantic operation contracts. It no longer mirrors
the full mlx_lattice.ops Python surface, and new cross-framework graph work
should target the MLIR lattice dialect rather than adding broad JSON operation
coverage.
- class lattice_contract.ops.IRParameterKind(*values)[source]¶
Bases:
StrEnumStorage kind for a persisted operation parameter.
- ARRAY = 'array'¶
- OPTIONAL_ARRAY = 'optional_array'¶
- QUANTIZED_WEIGHT = 'quantized_weight'¶
- ARRAY_OR_QUANTIZED_WEIGHT = 'array_or_quantized_weight'¶
- class lattice_contract.ops.IROpSpec(name, inputs, outputs, output_types, input_types=<factory>, value_attribute_types=<factory>, parameters=frozenset({}), optional_parameters=frozenset({}), attributes=frozenset({}), value_attributes=frozenset({}), requires_support=False)[source]¶
Bases:
objectStatic graph schema for one lattice IR operation.
- Parameters:
name (str)
output_types (dict[str, Literal['any', 'sparse_tensor', 'dense_tensor', 'relation', 'coordinate_set', 'alignment', 'quantization', 'point_voxel_map', 'coordinate_ordering', 'sparse_occupancy', 'occupancy_expansion', 'bytes']])
input_types (dict[str, Literal['any', 'sparse_tensor', 'dense_tensor', 'relation', 'coordinate_set', 'alignment', 'quantization', 'point_voxel_map', 'coordinate_ordering', 'sparse_occupancy', 'occupancy_expansion', 'bytes']])
value_attribute_types (dict[str, Literal['any', 'sparse_tensor', 'dense_tensor', 'relation', 'coordinate_set', 'alignment', 'quantization', 'point_voxel_map', 'coordinate_ordering', 'sparse_occupancy', 'occupancy_expansion', 'bytes']])
requires_support (bool)
- output_types: dict[str, Literal['any', 'sparse_tensor', 'dense_tensor', 'relation', 'coordinate_set', 'alignment', 'quantization', 'point_voxel_map', 'coordinate_ordering', 'sparse_occupancy', 'occupancy_expansion', 'bytes']]¶
- input_types: dict[str, Literal['any', 'sparse_tensor', 'dense_tensor', 'relation', 'coordinate_set', 'alignment', 'quantization', 'point_voxel_map', 'coordinate_ordering', 'sparse_occupancy', 'occupancy_expansion', 'bytes']]¶
- class lattice_contract.ops.IROpContract(spec, parameter_kinds=<factory>, optional_parameter_kinds=<factory>)[source]¶
Bases:
objectCanonical semantic contract for one lattice IR operation.
- Parameters:
spec (IROpSpec)
parameter_kinds (Mapping[str, IRParameterKind])
optional_parameter_kinds (Mapping[str, IRParameterKind])
- parameter_kinds: Mapping[str, IRParameterKind]¶
- optional_parameter_kinds: Mapping[str, IRParameterKind]¶
- lattice_contract.ops.ir_op_contract(name, *, inputs, outputs, output_types=None, input_types=None, value_attribute_types=None, parameters=None, optional_parameters=None, attributes=None, value_attributes=None, parameter_kinds=None, optional_parameter_kinds=None, requires_support=False)[source]¶
Create an unregistered lattice IR operation contract.
- Return type:
- Parameters:
name (str)
parameter_kinds (Mapping[str, str | IRParameterKind] | None)
optional_parameter_kinds (Mapping[str, str | IRParameterKind] | None)
requires_support (bool)
- lattice_contract.ops.register_op_contract(contract)[source]¶
Register an extension operation contract and return it.
- Return type:
- Parameters:
contract (IROpContract)
- lattice_contract.ops.ir_op_spec(name, *, inputs, outputs, output_types=None, input_types=None, value_attribute_types=None, parameters=None, optional_parameters=None, attributes=None, value_attributes=None, requires_support=False)[source]¶
Register an extension operation with a compact annotation.
- lattice_contract.ops.iter_op_contracts()[source]¶
Iterate registered canonical IR operation contracts.
- Return type:
- lattice_contract.ops.op_spec(name)[source]¶
Return the registered spec for
nameor raiseValueError.