IPython notebook: define a dummy cell magic that simply runs the cell as usual -


how can define simple cell magic executes cell if %%mymagic wasn't there?

the context using wonderful ipython parallel framework. in places, use defined %%px magic. we'd run same notebook without cluster (local only). in case, %%px isn't defined , have comment out. instead, in case i'd redefine %%px that:

  • %%px: no-op.

  • %%px --local: runs cell, no other side-effect.

alternatively, %%px (with --local or not) run cell, if that's simpler.

another approach create ipyparallel client fake one, i.e. 0 nodes (but still operate correctly, e.g. regard %%px --local). question.

things i've tried:

  • %alias_magic px time (after all, don't care if cell timed). unfortunately, %%time doesn't take arguments , chokes on --local.

  • define own "no-op" magic:

    if use_client:     pass else:     # temporarily define %%px cell magic     ipython import get_ipython     def px(line, cell):         """do nothing"""         pass      get_ipython().register_magic_function(px, 'cell') 

    but succeeds little @ doing really nothing (i.e. cells not executed).

  • look ipython/core/magics/execution.py see if there hook reuse (something execute cell). haven't found, perhaps haven't looked hard enough.

any other idea?

i think relevant command is

self.shell.run_cell(cell)


Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -