graph_primitives
Edge metadata and graph error definitions.
- pysatl_core.distributions.registry.graph_primitives.DEFAULT_COMPUTATION_KEY: LabelName = 'PySATL_default_computation'
Default label for computation edges when no specific label is provided.
- class pysatl_core.distributions.registry.graph_primitives.EdgeMeta(method, constraint=<factory>, is_analytical=False)[source]
Bases:
ABCMetadata for a computation edge in the characteristic graph.
- Parameters:
method (
EdgeMethod) – The computation method that defines the edge.constraint (
GraphPrimitiveConstraint) – Constraint determining when this edge is applicable to a distribution. Defaults to a pass-through constraint that always allows.is_analytical (
bool) – Whether this edge represents an analytical computation.
-
method:
TypeAliasType
-
constraint:
GraphPrimitiveConstraint
- __init__(method, constraint=<factory>, is_analytical=False)
- Parameters:
method (EdgeMethod)
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
- Return type:
None
- class pysatl_core.distributions.registry.graph_primitives.ComputationEdgeMeta(method, constraint=<factory>, is_analytical=False, options_descriptor=<factory>)[source]
Bases:
EdgeMetaEdge metadata for conversion computations from the registry graph.
The
options_descriptorfield stores the compact, graph-level form of the originatingFitterDescriptor/EvaluatorDescriptoroptions. The strategy uses it to resolve user-supplied**optionsfor this specific edge while walking a conversion path, without touching the heavy descriptor object or rebuilding edges.Edges declared programmatically (e.g. in tests) without an originating descriptor get a default empty
EdgeOptionsDescriptor, which behaves as a no-op during option resolution.- Parameters:
method (ComputationMethodUnion)
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
options_descriptor (EdgeOptionsDescriptor)
-
options_descriptor:
EdgeOptionsDescriptor
- __init__(method, constraint=<factory>, is_analytical=False, options_descriptor=<factory>)
- Parameters:
method (ComputationMethodUnion)
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
options_descriptor (EdgeOptionsDescriptor)
- Return type:
None
- class pysatl_core.distributions.registry.graph_primitives.AnalyticalLoopEdgeMeta(method, constraint=<factory>, is_analytical=True)[source]
Bases:
EdgeMetaEdge metadata for self-loop analytical computations from a distribution.
- Parameters:
method (AnalyticalComputation[Any, Any])
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
- __init__(method, constraint=<factory>, is_analytical=True)
- Parameters:
method (AnalyticalComputation[Any, Any])
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
- Return type:
None
- class pysatl_core.distributions.registry.graph_primitives.TransformationLoopEdgeMeta(method, constraint=<factory>, is_analytical=False)[source]
Bases:
EdgeMetaEdge metadata for transformation-provided self-loops.
Such loops are attached from
analytical_computationsas regular stopping points for the strategy, but they are not considered fully analytical by the graph semantics.- Parameters:
method (AnalyticalComputation[Any, Any])
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
- __init__(method, constraint=<factory>, is_analytical=False)
- Parameters:
method (AnalyticalComputation[Any, Any])
constraint (GraphPrimitiveConstraint)
is_analytical (bool)
- Return type:
None
- exception pysatl_core.distributions.registry.graph_primitives.GraphInvariantError[source]
Bases:
RuntimeErrorRaised when characteristic graph invariants are violated.
This error occurs when creating a RegistryView and the filtered graph does not satisfy the required invariants (e.g., definitive subgraph is not strongly connected).