:::note Generated reference Generated from honeyframeapi 0.1.8 — do not edit by hand. :::
honeyframeapi.plugin_recipe
Plugin recipes — create, configure, and run flow recipes of a plugin-contributed custom recipe type.
A plugin's plugin.yaml may declare custom recipe_types (each binding a
type id to a curated handler + a parameter schema). An org admin enables the
plugin, and those types become creatable on the flow canvas — and here.
Discover the types your org has enabled, then create + run one:
types = client.plugin_recipe_types() # [{type, plugin, params, …}]
proj = client.get_project(1)
rec = proj.create_plugin_recipe(
"_demo.rowcount", "count_orders",
config={"input_table": "marts.fact_orders"},
run=True,
)
print(rec.last_result["output"]) # {schema, table, row_count}
Like ML recipes, these are Flow "AI recipes" under /api/flow/ai-recipes
(create/get/update/run/runs/delete). Creation is gated server-side to the
owning enabled plugin (403 otherwise), and handlers are curated install-dir
plugin code — never tenant upload.
class PluginRecipe
A handle to a Flow recipe of a plugin-contributed custom type.
PluginRecipe.get()
get() -> dict
Fetch the recipe row (incl. run_config).
PluginRecipe.config
property
config: dict
The recipe's run_config — the param values the handler reads.
PluginRecipe.update_config()
update_config(config: dict, *, merge: bool = True) -> PluginRecipe
Update run_config (PUT). merge=True patches onto the
existing config; False replaces it wholesale.
PluginRecipe.run()
run(*, wait: bool = False, poll_interval: float = 5.0, timeout: float = 1800.0) -> dict
Execute the recipe via the plugin's curated handler. Returns the run
result (status, rows_affected, output, error on failure),
also cached on last_result. wait is accepted for symmetry —
the run endpoint is synchronous (returns once the handler finishes).
timeout (seconds) bounds the HTTP call, since the run happens inside it.
PluginRecipe.runs()
runs(*, limit: int = 20) -> list[dict]
Execution history for this recipe.
PluginRecipe.delete()
delete() -> None
Delete the recipe.
Functions
create_plugin_recipe()
create_plugin_recipe(project, recipe_type: str, name: str, *, config: Optional[dict] = None, inputs: Optional[list] = None, output_datasets: Optional[list] = None, run: bool = False, wait: bool = False) -> PluginRecipe
Create a flow recipe of a plugin-contributed recipe_type and return a
PluginRecipe.
The server gates creation on the owning plugin being enabled for your org
(403 otherwise — list creatable types with
plugin_recipe_types).
config becomes the recipe's run_config (the param values the handler
reads). inputs/output_datasets follow the normal recipe I/O contract
(a non-standalone type needs at least one — output_datasets defaults to
[name] server-side). With run=True it executes immediately and the
result lands on PluginRecipe.last_result.
Verified against honeyframeapi 0.1.8.