[IPython-dev] Cell Magic names

MinRK benjaminrk at gmail.com
Sat Jun 2 00:52:46 EDT 2012


On Fri, Jun 1, 2012 at 9:07 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> On Fri, Jun 1, 2012 at 8:58 PM, MinRK <benjaminrk at gmail.com> wrote:
> > I was playing with my shebang magic, and I decided to test something
> evil:
> >
> >     @cell_magic('#!')
> >     def shebang(self, line, cell):
> >         """Run a cell via a shell command
>
> Oh, what fun, I love it!  Actually, this is not that crazy considering
> that we already have the `!foo` syntax.  I guess the important
> question is this: are the any constraints on the names of cell magics
> at all?  Will this mess up things somehow?
>
> >         The `%%shebang` line is like the #! line, specifying a program
> > (bash, perl, ruby, etc.)
> >         """
> >         p = Popen(line, stdout=PIPE, stderr=PIPE, stdin=PIPE)
> >         out,err = p.communicate(cell)
> >         print(out, end='')
> >         print(err, file=sys.stderr, end='')
> >
> >
> > Which actually lets me do:
> >
> > %%#! bash
> > for i in 1 2 3; do
> >   echo $i
> > done
> >
> > I presume we don't want that to actually work, right?  Kinda fun, though.
>
> I think there are two questions:
>
> * Will this actually break something?
>

I imagine we want magics to be identifiers, but I guess `%%...<space>` is
sufficiently well defined that there's no technical reason why any unicode
characters should be illegal.

* Is another name for this magic clearer?
>

I was just going to call it `%%shebang`, I think `%%#!` is a few too many
special characters in a row.


>
> Cheers,
>
> Brian
>
> > -MinRK
> >
> > _______________________________________________
> > IPython-dev mailing list
> > IPython-dev at scipy.org
> > http://mail.scipy.org/mailman/listinfo/ipython-dev
> >
>
>
>
> --
> Brian E. Granger
> Cal Poly State University, San Luis Obispo
> bgranger at calpoly.edu and ellisonbg at gmail.com
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120601/16548ff6/attachment.html>


More information about the IPython-dev mailing list