1 | initial version |

I had a similar issue dealing with the preparser so I wrote an IPython extension which adds a cell magic `%%noparse`

which disables the Sage preparser for the cell its applied to.

Save this code as `noparse.py`

:

```
from IPython.core.magic import (Magics, magics_class, cell_magic)
import sage.repl.interpreter
@magics_class
class NoParseMagic(Magics):
@cell_magic
def noparse(self, line, cell):
"""
Use this cell magic to disable Sage preparsing in an IPython cell.
"""
sage.repl.interpreter._do_preparse = False
self.shell.run_cell(cell)
sage.repl.interpreter._do_preparse = True
def load_ipython_extension(ipython):
ipython.register_magics(NoParseMagic)
```

If you like, you can copy this to `.ipython/extensions/`

. Then in a Sage Jupyter notebook, you can run:

```
%load_ext noparse
```

to load the extension. Now the following works:

```
%%noparse
type(4)
```

which yields:

```
<type 'int'>
```

instead of:

```
<type 'sage.rings.integer.Integer'>
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.