With the addition of cell-level metadata in cells in ipython/master it would be nice to be able to easily add metadata to cells, say, through a cell magic? I can&#39;t see a way that this is possible in the current cell_magic api as the cell_magic gives you the input of the cell but not a cell itself, i.e. not an instance of NotebookNode. <div>
<br></div><div>I can see there are some downsides in giving the cell_magics a NotebookNode as the cell argument over a string:</div><div>one obvious problem is that, unconstrained, one could have a magic that modifies &quot;cell_type&quot; from &quot;code&quot; to &quot;markdown&quot;.</div>
<div>Maybe this is a bad thing, but I can imagine a case where I might want to do that. Another obvious downside</div><div>is that users who write cell_magics have to return NotebookNode instances (which doesn&#39;t seem too difficult).</div>
<div><br></div><div>This question might also fit into the discussion of composing or iterating cell magics. If a cell magic returned a NotebookNode and took a NotebookNode as its cell argument, then there is a natural way to compose magics:</div>
<div><br></div><div>%%magic1 line1</div><div>%%magic2 line2</div><div>cell_text</div><div><br></div><div>would return the NotebookNode</div><div><br></div><div>magic1(line1, magic2(line2, cell_text))</div><div><br></div><div>
<br></div><div><br></div><div><div><div><div>-- <br>Jonathan Taylor                          <br>Dept. of Statistics                      <br>Sequoia Hall, 137                          <br>390 Serra Mall<br>Stanford, CA 94305<br>
Tel:   650.723.9230<br>Fax:   650.725.8977<br>Web: <a href="http://www-stat.stanford.edu/~jtaylo">http://www-stat.stanford.edu/~jtaylo</a><br>
</div></div></div></div>