puzzlepiece.extras.ipython_shims module
Import this module to get access to useful puzzlepiece-related Magics:
from puzzlepiece.extras import ipython_shims
%%pzp_script
Magic for running the cell as puzzlepiece script:
%%pzp_script
set:piece_name:param_name:25
prompt:Param changed
Assumes the Puzzle is in the global namespace
as puzzle. A different name can be provided as an argument to the magic:
%%pzp_script puzzle_variable.
See puzzlepiece.parse.run() for the full scripting syntax.
%%safe_run
Magic for running the cell with a safety function in case of a crash:
# Cell 1
def close_shutter():
puzzle["shutter"]["open"].set_value(0)
# Cell 2
%%safe_run close_shutter
raise Exception
Running cell 2 will raise an exception, but the magic catches the exception, closes the shutter, and then the original exception is re-raised. Another useful usecase is sending a Slack message when a crash occurs.
This is similar in spirit to puzzlepiece.puzzle.Puzzle.custom_excepthook(),
but works in Notebooks in constrast to that.