Step Catalog
The Monte Carlo step catalog is the single core-side registry for built-in operation metadata. It drives spec compilation, graph validation, and the GUI step palette without depending on the [ui] extra.
FieldSpec
One configurable field exposed by a step.
Fields:
| Name | Type | Description |
|---|---|---|
| key | str |
Runtime kwarg name. |
| label | str |
Human-readable label. |
| type | str |
UI/editor field type. |
| default | Any |
Default value. |
| required | bool |
Whether the field is required. |
| options | tuple[str, ...] |
Allowed options for select-like fields. |
| minimum | float \| None |
Optional numeric lower bound. |
| when | tuple[str, ...] |
Conditional display metadata. |
Methods:
StepDefinition
Everything the library knows about one built-in Monte Carlo step kind.
Fields:
| Name | Type | Description |
|---|---|---|
| step_type | str |
Serializable step kind. |
| title | str |
Display title. |
| default_name | str |
Default runtime step name. |
| description | str |
Short user-facing description. |
| op_role | Literal["datagen", "filter", "transform", "terminal"] |
Graph role. |
| factory | Callable[..., MCStep] |
Step factory used by build(...). |
| fields | tuple[FieldSpec, ...] |
Declared configurable fields. |
| compile_params | Callable \| None |
Optional parameter normalization hook. |
Properties:
| Name | Type | Description |
|---|---|---|
| is_terminal | bool |
True for test and regression terminal steps. |
| is_transform | bool |
True for transform steps. |
| category | str |
GUI grouping: "core", "tests", "regressions", or "transforms". |
Methods:
StepDefinition.catalog_entry() -> dict[str, Any]
StepDefinition.build(name: str, params: dict[str, Any], dgp: SolvedModel | None) -> MCStep
Registry Objects
| Name | Type | Description |
|---|---|---|
STEP_CATALOG |
dict[str, StepDefinition] |
Built-in step definitions keyed by step_type. |
DATAGEN_STEP_TYPES |
frozenset[str] |
Datagen kinds: simulation and raw data. |
TRANSFORM_STEP_TYPES |
frozenset[str] |
Built-in transform kinds. |
TERMINAL_STEP_TYPES |
frozenset[str] |
Test and regression terminal kinds. |
INPUT_SOURCES |
list[str] |
Source channels diagnostic/regression steps may read. |
FILTER_SOURCES |
set[str] |
Source channels produced by the filter step. |
Return a JSON-like payload of catalog entries for UI consumers.
Custom steps
STEP_CATALOG only describes built-in operation kinds. Bundle-safe custom operations use the reserved custom step kind and are restored through bundle resources rather than through catalog dispatch.