From ellisonbg at gmail.com  Wed Feb  1 12:46:19 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Wed, 1 Feb 2012 09:46:19 -0800
Subject: [IPython-dev] IMPORTANT: Notebook format incremented
In-Reply-To: <4F28359E.6090706@googlemail.com>
References: <CAH4pYpR64XhcMaY4sOLWMv9tDN00TrNQfbNB0q9k9rd-pb2zzQ@mail.gmail.com>
	<4F28359E.6090706@googlemail.com>
Message-ID: <CAH4pYpRpHM1UNbyq6HZxedBTG-EY2V0BBR4K8_Z6g7+ndR1dSA@mail.gmail.com>

This is fixed here:

https://github.com/ipython/ipython/pull/1361

Should be merged soon.

Cheers,

Brian

On Tue, Jan 31, 2012 at 10:40 AM, Julian Taylor
<jtaylor.debian at googlemail.com> wrote:
> On 01/31/2012 06:44 PM, Brian Granger wrote:
>> Hi,
>>
>> Yesterday we pushed a change to the IPython notebook that will affect
>> all users of the notebook - especially those who are following the dev
>> version. ?We have incremented the notebook version number to v3. ?This
>> is done anytime there are backwards incompatible changes to the
>> notebook format. ?In this case, we have added new cell types (Heading
>> Cells, Plaintext Cells (reST, latex)). ?Here is how this affects you:
>>
>> * Older v2 notebooks (those created with IPython versions before
>> yesterday) will be automatically converted to v3 notebooks when you
>> open them the first time. ?We are in the process of adding a dialog
>> that will notify you of this.
>> * The newer v3 notebooks cannot be opened by previous versions of the
>> notebook server. ?Once you go v3, there is no turning back. ?This
>> means that everyone who wants to use your notebooks MUST to transition
>> and follow the dev version of the notebook.
>> * The v3 notebook format is not finalized. ?There will likely be
>> additional backwards incompatible changes to the nbformat. ?This means
>> that if you go v3, you MUST regularly pull from github master to
>> follow the latest state of the code. ?We will announce on list when
>> the v3 format is finalized in advance of the 0.13 release.
>>
>> Cheers and happy notebooking!
>>
>> Brian
>>
>
> you forgot to updating the testsuite:
>
> ======================================================================
> FAIL: test_empty_notebook
> (IPython.nbformat.v3.tests.test_nbbase.TestNotebook)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> ?File
> "/build/buildd/ipython-0.12+2301/IPython/nbformat/v3/tests/test_nbbase.py",
> line 105, in test_empty_notebook
> ? ?self.assertEquals(nb.nbformat,2)
> AssertionError: 3 != 2
> ? ?'3 != 2' = '%s != %s' % (safe_repr(3), safe_repr(2))
> ? ?'3 != 2' = self._formatMessage('3 != 2', '3 != 2')
>>> ?raise self.failureException('3 != 2')
>
>
> ======================================================================
> FAIL: test_notebook (IPython.nbformat.v3.tests.test_nbbase.TestNotebook)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> ?File
> "/build/buildd/ipython-0.12+2301/IPython/nbformat/v3/tests/test_nbbase.py",
> line 113, in test_notebook
> ? ?self.assertEquals(nb.nbformat,2)
> AssertionError: 3 != 2
> ? ?'3 != 2' = '%s != %s' % (safe_repr(3), safe_repr(2))
> ? ?'3 != 2' = self._formatMessage('3 != 2', '3 != 2')
>>> ?raise self.failureException('3 != 2')
>
>
> ----------------------------------------------------------------------
> Ran 45 tests in 0.127s
>
> FAILED (failures=2)
>
> https://launchpadlibrarian.net/91509120/buildlog_ubuntu-precise-i386.ipython_0.12%2B2301-0~6~precise1_FAILEDTOBUILD.txt.gz
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From ROsborn at anl.gov  Wed Feb  1 18:55:43 2012
From: ROsborn at anl.gov (Ray Osborn)
Date: Wed, 1 Feb 2012 17:55:43 -0600
Subject: [IPython-dev] Embedding shell+matplotlib in the same Qt GUI
Message-ID: <0BB6067C-0C73-4D5C-BEE0-4A2A802BFD11@anl.gov>

I am exploring the use of IPython in a "simple" Qt GUI, in which the shell and Matplotlib plots are locked together in a Qt VBox layout, with other docked widgets displaying items in the user's namespace. I'm attracted to the idea of using the two-process model for all the reasons it was developed but I'm not sure whether it's practical. If I build the GUI around the IPython front-end, then I presume that the kernel wouldn't have access to the plot display widget in my GUI. If I instead build the GUI around the kernel, then I presume I can't  embed the IPython shell inside my GUI, since the front-end is in a separate GUI. Is that correct?

I did wonder if it was possible to write special call handlers to route plots through the kernel manager, but it couldn't then be interactively updated from within the GUI (again, I'm guessing).

I'm out of my depth here, so I would welcome some advice. Is the in-process kernel that Robert Kern discussed in December the way to go, and has there been any progress on that? Or is there some way of embedding an IPython shell in the kernel's GUI, while preserving all the Qt-goodness that the Qt console provides.

Ray
P.S. Would it be possible to update the API documentation to include the frontend and zmq modules? I would have found the inheritance diagrams a great help.
-- 
Ray Osborn
Materials Science Division
Argonne National Laboratory
Argonne, IL 60439, USA
Phone: +1 (630) 252-9011
Email: ROsborn at anl.gov





From hans_meine at gmx.net  Thu Feb  2 06:55:53 2012
From: hans_meine at gmx.net (Hans Meine)
Date: Thu, 02 Feb 2012 12:55:53 +0100
Subject: [IPython-dev] Embedding shell+matplotlib in the same Qt GUI
In-Reply-To: <0BB6067C-0C73-4D5C-BEE0-4A2A802BFD11@anl.gov>
References: <0BB6067C-0C73-4D5C-BEE0-4A2A802BFD11@anl.gov>
Message-ID: <3875320.seZlfuJH8z@hmeine-pc>

Am Mittwoch, 1. Februar 2012, 17:55:43 schrieb Ray Osborn:
> I'm out of my depth here, so I would welcome some advice. Is the in-process
> kernel that Robert Kern discussed in December the way to go, ?

Exactly.  The single-process model has the main advantage of making exactly 
this possible (*), i.e. embedding a python shell into a GUI app.

Don?t know about the current status though, but I bet every "early adopter" 
(OK, contributor ;-) ) will speed the process up.  We need users/applications 
for shaping the API anyway.

HTH,
  Hans

* In fact, the two-process model does not make it completely impossible to do 
this, but it would involve embedding of other processes GUIs, which I only 
know something about on Unix (cf. QX11EmbedContainer).  The advantage could be 
better busy/interrupt behavior, AFAICS.



From daniel.dang.griffith at gmail.com  Thu Feb  2 08:31:29 2012
From: daniel.dang.griffith at gmail.com (Daniel Griffith)
Date: Thu, 2 Feb 2012 08:31:29 -0500
Subject: [IPython-dev] Python 3 on Windows
Message-ID: <CAHpEujOjmiiC=Sy=8T-rZKprL5=bd2fTRtvSDm+LFRNqjBwcjg@mail.gmail.com>

Is anyone else using IPython on Python 3 on Windows?
Based on earlier posts, I'm guessing I'm in the minority.

I found two small problems--one related to Python 3 strings
vs bytes (the SList nlstr and spstr functions fail) and one
related to the rehashx in the Windows environment.
(And part of the rehashx problem also applies to the posix
environment, but it's minor.)

I have worked out the/a solution/fix. I can install a Python 2.7
version and validate that it doesn't cause problems there.

What's the best way to submit these changes? Should I
sign up on github?

FYI, for the first problem, here is the fixed code (spstr is similar) from
utils/text.py::SList:
    def get_nlstr(self):
        try:
            return self.__nlstr
        except AttributeError:
            try:
                self.__nlstr = '\n'.join(self)
            except TypeError:
                self.__nlstr = '\n'.join(map(str,self))
            return self.__nlstr

The second problem is a little more complex. The code
in core/magic.py::magic_rehashx doesn't do what the docstring says, ignores
the no_alias variable, and (the part that caused me grief),
after looking up the executable filename extensions,
ignores them and only adds 'exe' files. In addition,
neither the posix or Windows paths check if the
alias is already in syscmdlist; this can make redundant entries
in the syscmdlist. I don't think this causes problems, but it
seems inconsistent with the idea of executing the first
matching executable in the PATH.

Again, what's the best way to submit these changes? Should I
sign up on github?

    --dang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120202/9bb871c7/attachment.html>

From massimodisasha at gmail.com  Thu Feb  2 09:59:35 2012
From: massimodisasha at gmail.com (Massimo Di Stefano)
Date: Thu, 2 Feb 2012 09:59:35 -0500
Subject: [IPython-dev] ipython  notebook - new interface usage
Message-ID: <879E9FEE-09DA-4FFF-9B53-5DAC87E9CE73@gmail.com>

Hi All,

i'm using Ipython notebook intensively with a great satisfaction!
really thanks to all you to develop it!
i've some questions ..
i cloned the git repository and i'm used to update it running in the python directory 'git pull'

when i start Ipython notebook i can't see any change in its main interface 
? i seen in some post it has a nice new toolbar and a new cell type to render rst

any hints on how to activate this new feature?

thanks!!!

Massimo.




From takowl at gmail.com  Thu Feb  2 11:25:41 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Thu, 2 Feb 2012 16:25:41 +0000
Subject: [IPython-dev] Python 3 on Windows
In-Reply-To: <CAHpEujMNLQEJ2knZjTB+wwwkAe2x5NWHs+-__gNQabn_DGh=oA@mail.gmail.com>
References: <CAHpEujOjmiiC=Sy=8T-rZKprL5=bd2fTRtvSDm+LFRNqjBwcjg@mail.gmail.com>
	<CAOvn4qgqo6JTnEh-OdNqbwU98pHa6Q3229t1+O-cijsiS7mHTA@mail.gmail.com>
	<CAHpEujMNLQEJ2knZjTB+wwwkAe2x5NWHs+-__gNQabn_DGh=oA@mail.gmail.com>
Message-ID: <CAOvn4qisxM145GLF56dxsHX2PnmL1EJyFv8tVuZ2F+9rJTD3Rw@mail.gmail.com>

On 2 February 2012 16:12, Daniel Griffith <daniel.dang.griffith at gmail.com>wrote:

> I ran "a = !ls" and tried to "print(a.nlstr)" to see the results, and it
> complained about having bytes instead of strings:
> "TypeError: sequence item 0: expected str instance, bytes found".
>
> The earlier stage would be in the "!" handler; I haven't looked at that
> code. I assume there are reasons it is putting
> bytes into the SList instead of strings. Maybe it should change instead? I
> don't know. I suppose that would depend
> on whether other code will assume that SList contains only strings and
> whether "!" is returning bytes.
>

That's the stage I'd look at - the code starts with the getoutput method
here:
https://github.com/ipython/ipython/blob/master/IPython/core/interactiveshell.py#L2093

The trouble with just calling str is that it doesn't always do what you
might expect, so if we've got bytes, it's better to decode them:

>>> str(b'abc')
"b'abc'"
>>> b'abc'.decode()  # ...but we need to work out the encoding
'abc'

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120202/37d976fb/attachment.html>

From ellisonbg at gmail.com  Thu Feb  2 11:55:09 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 2 Feb 2012 08:55:09 -0800
Subject: [IPython-dev] ipython notebook - new interface usage
In-Reply-To: <879E9FEE-09DA-4FFF-9B53-5DAC87E9CE73@gmail.com>
References: <879E9FEE-09DA-4FFF-9B53-5DAC87E9CE73@gmail.com>
Message-ID: <CAH4pYpQHAo-uXuvPJy4FygZgfp=Q6Dmcswd5QCPa=4OOPdetTQ@mail.gmail.com>

If you have the latest dev version, you should see a select box in the
toolbar that indicates the type of cell that is currently selected.
To enter reST, select plaintext.  Note, it is not possible, because of
limitations in the syntax of reST to actually render the cells one by
one in the browser like we do with Markdown.  We are working on
reST/HTML/PDF export that will do that rendering for the entire
notebook in a single shot.  It will most likely be another page in the
web app though.

Cheers,

Brian

On Thu, Feb 2, 2012 at 6:59 AM, Massimo Di Stefano
<massimodisasha at gmail.com> wrote:
> Hi All,
>
> i'm using Ipython notebook intensively with a great satisfaction!
> really thanks to all you to develop it!
> i've some questions ..
> i cloned the git repository and i'm used to update it running in the python directory 'git pull'
>
> when i start Ipython notebook i can't see any change in its main interface
> ? i seen in some post it has a nice new toolbar and a new cell type to render rst
>
> any hints on how to activate this new feature?
>
> thanks!!!
>
> Massimo.
>
>
> _______________________________________________
> 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


From massimodisasha at gmail.com  Thu Feb  2 16:42:34 2012
From: massimodisasha at gmail.com (Massimo Di Stefano)
Date: Thu, 2 Feb 2012 16:42:34 -0500
Subject: [IPython-dev] ipython notebook - new interface usage
In-Reply-To: <CAH4pYpQHAo-uXuvPJy4FygZgfp=Q6Dmcswd5QCPa=4OOPdetTQ@mail.gmail.com>
References: <879E9FEE-09DA-4FFF-9B53-5DAC87E9CE73@gmail.com>
	<CAH4pYpQHAo-uXuvPJy4FygZgfp=Q6Dmcswd5QCPa=4OOPdetTQ@mail.gmail.com>
Message-ID: <01FA66A6-A030-46D7-B2E5-3EF5A85E6FEE@gmail.com>

seems there is something wrong on my environment ?
i did :
git pull 
sudo python seth.py install

and in the log i can see : 

Removing /Library/Python/2.7/site-packages/ipython-0.13.dev-py2.7.egg-info
Writing /Library/Python/2.7/site-packages/ipython-0.13.dev-py2.7.egg-info

but when i run :

python --version

i got :

0.12.dev

looking in the easy_install.pth

i found :

./ipython-0.12.dev-py2.7.egg

removing it .. now YES :)

i'm using the latest version!

Thanks!

--Massimo.


and 

Il giorno Feb 2, 2012, alle ore 11:55 AM, Brian Granger ha scritto:

> If you have the latest dev version, you should see a select box in the
> toolbar that indicates the type of cell that is currently selected.
> To enter reST, select plaintext.  Note, it is not possible, because of
> limitations in the syntax of reST to actually render the cells one by
> one in the browser like we do with Markdown.  We are working on
> reST/HTML/PDF export that will do that rendering for the entire
> notebook in a single shot.  It will most likely be another page in the
> web app though.
> 
> Cheers,
> 
> Brian
> 
> On Thu, Feb 2, 2012 at 6:59 AM, Massimo Di Stefano
> <massimodisasha at gmail.com> wrote:
>> Hi All,
>> 
>> i'm using Ipython notebook intensively with a great satisfaction!
>> really thanks to all you to develop it!
>> i've some questions ..
>> i cloned the git repository and i'm used to update it running in the python directory 'git pull'
>> 
>> when i start Ipython notebook i can't see any change in its main interface
>> ? i seen in some post it has a nice new toolbar and a new cell type to render rst
>> 
>> any hints on how to activate this new feature?
>> 
>> thanks!!!
>> 
>> Massimo.
>> 
>> 
>> _______________________________________________
>> 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



From bedwards at cs.unm.edu  Fri Feb  3 14:03:12 2012
From: bedwards at cs.unm.edu (Ben Edwards)
Date: Fri, 3 Feb 2012 12:03:12 -0700
Subject: [IPython-dev] Keyword option for sync_imports and feature
	request...
In-Reply-To: <CAP4Ca8VMwEnL+f00iVEZv1A6s=J+WNOSBRCcG+dYkfO+ay4VCg@mail.gmail.com>
References: <CAP4Ca8VMwEnL+f00iVEZv1A6s=J+WNOSBRCcG+dYkfO+ay4VCg@mail.gmail.com>
Message-ID: <CAP4Ca8WtabJWOuHPm=HXKWdyY_AT3d8AXb3bBJyb-AoYdzvomQ@mail.gmail.com>

Think I sent this yesterday using the wrong email so it got
rejected(silently?). If it's a duplicate I apologize...

Two questions. Would it be possible to add a verbose or quiet keyword
option to sync_imports so it does not print

"importing %s from %s on engine(s)"

For each module importing on engines. If this is a worthwhile idea I'll
make a pull request, with whatever default you guys thinks is reasonable.

Also why is sync_imports in the DirectView class but not the
LoadBalancedView class? I usually use LoadBalancedView, so having to create
a DirectView instance just for some imports clutters my code ever so
slightly. Is there a subtle difference I am missing? If not perhaps we can
add the function to the View class so both inherit it?

Ben Edwards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120203/0badfdde/attachment.html>

From benjaminrk at gmail.com  Fri Feb  3 14:24:27 2012
From: benjaminrk at gmail.com (MinRK)
Date: Fri, 3 Feb 2012 11:24:27 -0800
Subject: [IPython-dev] Keyword option for sync_imports and feature
	request...
In-Reply-To: <CAP4Ca8WtabJWOuHPm=HXKWdyY_AT3d8AXb3bBJyb-AoYdzvomQ@mail.gmail.com>
References: <CAP4Ca8VMwEnL+f00iVEZv1A6s=J+WNOSBRCcG+dYkfO+ay4VCg@mail.gmail.com>
	<CAP4Ca8WtabJWOuHPm=HXKWdyY_AT3d8AXb3bBJyb-AoYdzvomQ@mail.gmail.com>
Message-ID: <CAHNn8BU4AyM927wfiea==p+AXJwsLeNhSq0LhFG7bUeDWD7GcQ@mail.gmail.com>

On Fri, Feb 3, 2012 at 11:03, Ben Edwards <bedwards at cs.unm.edu> wrote:

> Think I sent this yesterday using the wrong email so it got
> rejected(silently?). If it's a duplicate I apologize...
>
> Two questions. Would it be possible to add a verbose or quiet keyword
> option to sync_imports so it does not print
>
> "importing %s from %s on engine(s)"
>
> For each module importing on engines. If this is a worthwhile idea I'll
> make a pull request, with whatever default you guys thinks is reasonable.
>

Sure, a quiet keyword makes sense.  I would default it to False, because it
is a good indicator of whether the import actually happened, as there are
some circumstances where previous state causes imports to be no-ops, never
actually triggering the import hook necessary to execute the remote import
(I don't remember which, at the moment).


> Also why is sync_imports in the DirectView class but not the
> LoadBalancedView class? I usually use LoadBalancedView, so having to create
> a DirectView instance just for some imports clutters my code ever so
> slightly. Is there a subtle difference I am missing?


If you want an action to happen on particular engines or more than one
engine, DirectView is always thing to use.  If LoadBalancedView had this
method, the import would be load-balanced onto a single engine, and the
only thing you would be guaranteed is that your next apply would *not*
occur on the same engine where you performed the import.

The standard model is to use DirectView for setup, and LoadBalancedView for
submission.  If you use LoadBalancedView for setup, your setup will,
logically enough, be load-balanced, which rarely makes sense.

If you are concerned about clutter and really would only use it for
sync_imports, you need not keep the DV around:

with rc[:].sync_imports(quiet=True):
    import foo
    import bar

If not perhaps we can add the function to the View class so both inherit it?


It was a deliberate choice. I would prefer to keep this sort of
direct-mapped action out of the LB class.  It's the same reason LBView has
no push/pull.

-MinRK


>
> Ben Edwards
>
>
> _______________________________________________
> 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/20120203/258e2658/attachment.html>

From erik.tollerud at gmail.com  Fri Feb  3 20:42:34 2012
From: erik.tollerud at gmail.com (Erik Tollerud)
Date: Fri, 3 Feb 2012 17:42:34 -0800
Subject: [IPython-dev] Quitting (qt)console without killing kernel
In-Reply-To: <CAHNn8BWsgqV1vQWvJLmyi6HN5-rT=kXx71GmAd6BA1eJB-tDeg@mail.gmail.com>
References: <CAARXUwWk6u6kuM_fWB4dX9xAGYLpk0TUMUDo1JfcX1GNdb4dwQ@mail.gmail.com>
	<CAHNn8BWsgqV1vQWvJLmyi6HN5-rT=kXx71GmAd6BA1eJB-tDeg@mail.gmail.com>
Message-ID: <CAARXUwUUFbkbt_ATA=XE4Y6tozQE-=qu-2NC=N0TRbmUU85CjQ@mail.gmail.com>

Ah, I see - that makes sense.  The ``ipython kernel`` option is
perfectly workable, just wanted to make sure there wasn't something
silly I was missing.  Thanks!

On Mon, Jan 30, 2012 at 4:44 PM, MinRK <benjaminrk at gmail.com> wrote:
> On Mon, Jan 30, 2012 at 16:32, Erik Tollerud <erik.tollerud at gmail.com> wrote:
>> I've been caught up in other things and haven't been following
>> developments over the last few months, but I'm really impressed by a
>> lot of the recent new work on ipython - I know this has probably been
>> internalized by most of you now, but the polished notebook is
>> particularly impressive-looking!
>>
>> One feature that seems to have disappeared since I last did a "git
>> pull upstream master", though: the option of starting the qtconsole
>> (or, now, even better, the 2-process terminal console), and quitting
>> the frontend without killing the kernel. ?It used to be that a
>> yes/no/cancel dialog appeared allowing the option of killing one or
>> both, but now it seems only possible to kill everything. ?Similarly,
>> the exit function used to have an option to let the console stay
>> alive, but that doesn't seem to do anything now. ?Is this a conscious
>> design choice, or was it a temporary simplification?
>
> It was a bit of both. ?When the qtconsole added multiple tab support
> it became extremely complicated to be able to leave some fraction of
> those running in the background, as decisions are being made at both
> tab-close and app-close, and the close/leave running decisions have
> become quite convoluted. ?If this logic is simplified significantly
> (decoupling the tab:kernel relationship, and using a cleaner
> 'MultiKernelManager'), then it will probably be more reasonable to
> restore the option to leave orphaned kernels. ?For now, if you want
> kernels to stay alive, you can use `ipython kernel` and connect
> separately with `ipython qtconsole --existing`.
>
>>
>> --
>> Erik Tollerud
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev



-- 
Erik Tollerud


From cekees at gmail.com  Sun Feb  5 15:21:11 2012
From: cekees at gmail.com (Chris Kees)
Date: Sun, 5 Feb 2012 20:21:11 +0000
Subject: [IPython-dev] notebook questions an aesthetic details
Message-ID: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>

Hi,

Having a great time here using the notebook. I just want to tweak a couple
of display details and was hoping I could get some pointers:

- Is there a way to do multiline equations (i.e. \begin{eqnarray}...)?
- I'd like to make my plots bigger. Do I do that from matplotlib or the
notebook?
- I'd like to make my subplots spread apart even wider than the
squeeze=false option to the subplots command. Should I be looking at
matplotlib or ipython docs to do that? I can get by with just making
multiple plots instead of subplots.
- My plots appear to be bitmaps, can I make the default SVG?
- Is there a way to make a plot not display in the browser? I'm generating
an animation that I include via HTML(), but the first frame always shows up
as a plot underneath the animation frame

Thanks,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120205/e95539ad/attachment.html>

From benjaminrk at gmail.com  Sun Feb  5 15:37:37 2012
From: benjaminrk at gmail.com (MinRK)
Date: Sun, 5 Feb 2012 12:37:37 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
Message-ID: <CAHNn8BW_edpNKqBqqkYHSyeDDt7rrYrRmyCNL6ADpBEiF3OYJw@mail.gmail.com>

On Sun, Feb 5, 2012 at 12:21, Chris Kees <cekees at gmail.com> wrote:

> Hi,
>
> Having a great time here using the notebook. I just want to tweak a couple
> of display details and was hoping I could get some pointers:
>
> - Is there a way to do multiline equations (i.e. \begin{eqnarray}...)?
>

Yes, if you are using master it's just:

    from IPython.core.display import *
    Latex("\begin{eqnarray}...\end{eqnarray}")

In 0.12, Math will do the same thing, but we want Math to really mean
'single expression', so it now ensures that expressions are wrapped in '$'.



>  - I'd like to make my plots bigger. Do I do that from matplotlib or the
> notebook?
>

This is handled entirely by matplotlib.  You change the size of figures
just like you always have done in matplotlib:

    matplotlib.rcParams['figure.figsize'] = [x,y]

Or with the IPython helper function:

    figsize(x,y) # in the global namespace when inline backend is in use,
which does the same thing.


> - I'd like to make my subplots spread apart even wider than the
> squeeze=false option to the subplots command. Should I be looking at
> matplotlib or ipython docs to do that? I can get by with just making
> multiple plots instead of subplots.
>

Matplotlib - changing anything about the figure appearance will always be
handled by matplotlib.  All IPython does is print the figure to a
particular format, and send it to the frontend.  Matplotlib determines
(almost) everything about the contents of that image.


> - My plots appear to be bitmaps, can I make the default SVG?
>

They are PNG by default, and you can change the figure format with the
InlineBackend.figure_format configurable:

    c.InlineBackend.figure_format = 'svg' # in a config file

or

    %config InlineBackend.figure_format = 'svg'

from an interactive session to toggle it at runtime (you can keep changing
it back and forth, if you have any reason to do this).

I think SVG figures behave a bit differently with respect to size in
browsers, but I don't recall.


> - Is there a way to make a plot not display in the browser? I'm generating
> an animation that I include via HTML(), but the first frame always shows up
> as a plot underneath the animation frame.
>

Yes, simply close the figure before the end of the cell, and it won't be
displayed:

    fig = gcf()
    plot(x,y)
    # dostuff with figure

    # close figure at end of cell, to prevent display
    plt.close(fig)

-MinRK


>
> Thanks,
> Chris
>
>
>
> _______________________________________________
> 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/20120205/d54c42d0/attachment.html>

From fperez.net at gmail.com  Sun Feb  5 17:47:04 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 5 Feb 2012 14:47:04 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
Message-ID: <CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>

Hey Chris,

On Sun, Feb 5, 2012 at 12:21 PM, Chris Kees <cekees at gmail.com> wrote:
> Having a great time here using the notebook. I just want to tweak a couple
> of display details and was hoping I could get some pointers:
>
> - Is there a way to do multiline equations (i.e. \begin{eqnarray}...)?

Sure! In math output, you can use:

from IPython.core.display import Math, Latex

Latex(r"""
\begin{eqnarray}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{eqnarray}""")

or in a markdown cell, you can put the same content.  Note that
there's a small bug right now, requiring that in the markdown cell,
you add *one* extra \ at the end of the \\ that mark new equation
entries:

\begin{eqnarray}
\dot{x} & = \sigma(y-x) \\\
\dot{y} & = \rho x - y - xz \\\
\dot{z} & = -\beta z + xy
\end{eqnarray}

I've filed this one here:

https://github.com/ipython/ipython/issues/1381

but fortunately there's a workaround even now.

> - I'd like to make my plots bigger. Do I do that from matplotlib or the
> notebook?

You can do it in each notebook:

plt.rcParams['figure.figsize'] = (10,6)  # 10x6 inches

But you can also set it permanently in your notebook config file,
along with SVG format (question below):

c = get_config()
c.InlineBackend.figure_format = 'svg'
c.InlineBackend.rc = {'figure.figsize' : (10,6) }

> - I'd like to make my subplots spread apart even wider than the
> squeeze=false option to the subplots command. Should I be looking at
> matplotlib or ipython docs to do that? I can get by with just making
> multiple plots instead of subplots.

This is a matplotlib thing, look into plt.subplots_adjust().  The
parameters you're looking for are wspace and hspace.  You can also set
new permanent values for those in your matplotlib config file if you
want.

> - My plots appear to be bitmaps, can I make the default SVG?

See above.

> - Is there a way to make a plot not display in the browser? I'm generating
> an animation that I include via HTML(), but the first frame always shows up
> as a plot underneath the animation frame

Yup, see this:

f, ax = subplots()
ax.plot(rand(100))
f.savefig('foo.png')
plt.close(f)
HTML('<img src="files/foo.png" /img>')

###

The fact that f.close() doesn't exist bugs me a lot, I'm asking on
mpl-dev about that now...

Cheers,

f


From fperez.net at gmail.com  Sun Feb  5 17:50:12 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 5 Feb 2012 14:50:12 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
Message-ID: <CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>

On Sun, Feb 5, 2012 at 2:47 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> Hey Chris,

Hadn't seen Min's reply arrive in the meantime, mostly repeat :)

Cheers,

f


From efiring at hawaii.edu  Sun Feb  5 17:56:41 2012
From: efiring at hawaii.edu (Eric Firing)
Date: Sun, 05 Feb 2012 12:56:41 -1000
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
Message-ID: <4F2F0929.5040402@hawaii.edu>

On 02/05/2012 12:47 PM, Fernando Perez wrote:
> Hey Chris,
>
> On Sun, Feb 5, 2012 at 12:21 PM, Chris Kees<cekees at gmail.com>  wrote:
>> Having a great time here using the notebook. I just want to tweak a couple
>> of display details and was hoping I could get some pointers:
>>
>> - Is there a way to do multiline equations (i.e. \begin{eqnarray}...)?
>
> Sure! In math output, you can use:
>
> from IPython.core.display import Math, Latex
>
> Latex(r"""
> \begin{eqnarray}
> \dot{x}&  = \sigma(y-x) \\
> \dot{y}&  = \rho x - y - xz \\
> \dot{z}&  = -\beta z + xy
> \end{eqnarray}""")
>
> or in a markdown cell, you can put the same content.  Note that
> there's a small bug right now, requiring that in the markdown cell,
> you add *one* extra \ at the end of the \\ that mark new equation
> entries:
>
> \begin{eqnarray}
> \dot{x}&  = \sigma(y-x) \\\
> \dot{y}&  = \rho x - y - xz \\\
> \dot{z}&  = -\beta z + xy
> \end{eqnarray}
>
> I've filed this one here:
>
> https://github.com/ipython/ipython/issues/1381
>
> but fortunately there's a workaround even now.
>
>> - I'd like to make my plots bigger. Do I do that from matplotlib or the
>> notebook?
>
> You can do it in each notebook:
>
> plt.rcParams['figure.figsize'] = (10,6)  # 10x6 inches
>
> But you can also set it permanently in your notebook config file,
> along with SVG format (question below):
>
> c = get_config()
> c.InlineBackend.figure_format = 'svg'
> c.InlineBackend.rc = {'figure.figsize' : (10,6) }
>
>> - I'd like to make my subplots spread apart even wider than the
>> squeeze=false option to the subplots command. Should I be looking at
>> matplotlib or ipython docs to do that? I can get by with just making
>> multiple plots instead of subplots.
>
> This is a matplotlib thing, look into plt.subplots_adjust().  The
> parameters you're looking for are wspace and hspace.  You can also set
> new permanent values for those in your matplotlib config file if you
> want.
>
>> - My plots appear to be bitmaps, can I make the default SVG?
>
> See above.
>
>> - Is there a way to make a plot not display in the browser? I'm generating
>> an animation that I include via HTML(), but the first frame always shows up
>> as a plot underneath the animation frame
>
> Yup, see this:
>
> f, ax = subplots()
> ax.plot(rand(100))
> f.savefig('foo.png')
> plt.close(f)
> HTML('<img src="files/foo.png" /img>')
>
> ###
>
> The fact that f.close() doesn't exist bugs me a lot, I'm asking on
> mpl-dev about that now...

The problem is that when you use pyplot to create a Figure instance, it 
is doing a lot more than just making that instance; it is embedding it 
in the whole pyplot machinery.  That's why closing the figure is a 
pyplot operation (hence a function), not a method of the Figure 
instance.  Of course we could find a way to get around it, but that's 
the present state.  You have to use pyplot to make the figure, and to 
close it.  I imagine the way to change that might be with a 
pyplot.Figure class that would be a subclass of the figure.Figure class.

Eric

>
> Cheers,
>
> f
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev



From fperez.net at gmail.com  Sun Feb  5 18:01:23 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 5 Feb 2012 15:01:23 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <4F2F0929.5040402@hawaii.edu>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<4F2F0929.5040402@hawaii.edu>
Message-ID: <CAHAreOoPeSiQojKA6ZuVzhSgF6t0KuBXXK0pA+4PdS7KB3M2Gw@mail.gmail.com>

On Sun, Feb 5, 2012 at 2:56 PM, Eric Firing <efiring at hawaii.edu> wrote:
> The problem is that when you use pyplot to create a Figure instance, it
> is doing a lot more than just making that instance; it is embedding it
> in the whole pyplot machinery. ?That's why closing the figure is a
> pyplot operation (hence a function), not a method of the Figure
> instance. ?Of course we could find a way to get around it, but that's
> the present state. ?You have to use pyplot to make the figure, and to
> close it. ?I imagine the way to change that might be with a
> pyplot.Figure class that would be a subclass of the figure.Figure class.

Thanks for the clarification, Eric; that makes sense.  It's not a
biggie for now, and we can keep this in mind for future enhancements,
to make it easier/cleaner from the user's perspective to stick to an
OO approach.

Cheers,

f


From cekees at gmail.com  Sun Feb  5 19:20:17 2012
From: cekees at gmail.com (Chris Kees)
Date: Mon, 6 Feb 2012 03:20:17 +0300
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
Message-ID: <CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>

Hey Min and Fernando,

Thanks a lot.  I'm on the right tack now.  I updated about two hours ago
after I read Min's email so there a couple of quirks you might want to be
on the lookout for. For some reason when I'm inside a call to
Latex(r"""...), I can't type an ampersand. I can paste one in but the key
won't respond. In markdown or outside a string I can type an ampersand.   I
also noticed that sometimes the markdown/code/heading doesn't seem to
switch  modes even though the pulldown indicates it has. It could just be
inaccurate pointing and clicking on my part.

Anyway, thanks again.  I feel like I'm beginning to get productive in the
notebook.

Chris

On Mon, Feb 6, 2012 at 1:50 AM, Fernando Perez <fperez.net at gmail.com> wrote:

> On Sun, Feb 5, 2012 at 2:47 PM, Fernando Perez <fperez.net at gmail.com>
> wrote:
> > Hey Chris,
>
> Hadn't seen Min's reply arrive in the meantime, mostly repeat :)
>
> Cheers,
>
> f
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120206/ca17afb8/attachment.html>

From fperez.net at gmail.com  Sun Feb  5 19:27:55 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 5 Feb 2012 16:27:55 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
	<CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
Message-ID: <CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>

Hi Chris,

On Sun, Feb 5, 2012 at 4:20 PM, Chris Kees <cekees at gmail.com> wrote:
> Thanks a lot. ?I'm on the right tack now. ?I updated about two hours ago
> after I read Min's email so there a couple of quirks you might want to be on
> the lookout for. For some reason when I'm inside a call to Latex(r"""...), I
> can't type an ampersand. I can paste one in but the key won't respond. In

That's really odd, I don't get that on Firefox or Chrome.  Can you
refresh your Javascript cache just to make sure?  Just save your
notebook, and then force a page reload.  Also, could you test on a
different browser and let us know if you see any differences?

> markdown or outside a string I can type an ampersand. ? I also noticed that
> sometimes the markdown/code/heading doesn't seem to switch ?modes even
> though the pulldown indicates it has. It could just be inaccurate pointing
> and clicking on my part.

Mmh, I do see a problem, not sure if it's the same you do:  If I
select a new cell type from the 'Cell' menu, the cells do indeed
change type, but the dropdown list in the icon toolbar isn't updating
correctly anymore.  Is that the behavior you see?

> Anyway, thanks again. ?I feel like I'm beginning to get productive in the
> notebook.

Glad to hear that.  Some inevitable growing pains, but I think we're
on the right track.

Cheers,

f


From cekees at gmail.com  Mon Feb  6 13:57:28 2012
From: cekees at gmail.com (Chris Kees)
Date: Mon, 6 Feb 2012 21:57:28 +0300
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
	<CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
	<CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>
Message-ID: <CAOVFbFg+pOsPNUy9yRRH-9tmJuZHYvcq7R_qtVEakdg5M03r5A@mail.gmail.com>

On the ampersand problem: Firefox and Safari are the same. Also Safari
complains about not being able to access the web socket and says that I
won't be able to run code.

On the pulldown menu, I'm having trouble reproducing it right now. I know
that sometimes the problem is me in that I have to be more careful in
observing which cell is actually active when I use the menus. It's not a
big deal, but I'll be more careful to record my observations if I suspect
this is happening again.

On Mon, Feb 6, 2012 at 3:27 AM, Fernando Perez <fperez.net at gmail.com> wrote:

> Hi Chris,
>
> On Sun, Feb 5, 2012 at 4:20 PM, Chris Kees <cekees at gmail.com> wrote:
> > Thanks a lot.  I'm on the right tack now.  I updated about two hours ago
> > after I read Min's email so there a couple of quirks you might want to
> be on
> > the lookout for. For some reason when I'm inside a call to
> Latex(r"""...), I
> > can't type an ampersand. I can paste one in but the key won't respond. In
>
> That's really odd, I don't get that on Firefox or Chrome.  Can you
> refresh your Javascript cache just to make sure?  Just save your
> notebook, and then force a page reload.  Also, could you test on a
> different browser and let us know if you see any differences?
>
> > markdown or outside a string I can type an ampersand.   I also noticed
> that
> > sometimes the markdown/code/heading doesn't seem to switch  modes even
> > though the pulldown indicates it has. It could just be inaccurate
> pointing
> > and clicking on my part.
>
> Mmh, I do see a problem, not sure if it's the same you do:  If I
> select a new cell type from the 'Cell' menu, the cells do indeed
> change type, but the dropdown list in the icon toolbar isn't updating
> correctly anymore.  Is that the behavior you see?
>
> > Anyway, thanks again.  I feel like I'm beginning to get productive in the
> > notebook.
>
> Glad to hear that.  Some inevitable growing pains, but I think we're
> on the right track.
>
> Cheers,
>
> f
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120206/84be5971/attachment.html>

From ellisonbg at gmail.com  Mon Feb  6 15:05:22 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 6 Feb 2012 12:05:22 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAOVFbFg+pOsPNUy9yRRH-9tmJuZHYvcq7R_qtVEakdg5M03r5A@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
	<CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
	<CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>
	<CAOVFbFg+pOsPNUy9yRRH-9tmJuZHYvcq7R_qtVEakdg5M03r5A@mail.gmail.com>
Message-ID: <CAH4pYpQCh5SLW=TPstpT-BiN=nkarkKU=n_qCe-A2S8Ntvc_GA@mail.gmail.com>

Hmm, am not seeing the ampersand problem on Chrome or Safari  (on a
Mac).  Is there a particular sequence of keystroke that do it.  Does
it happen for any text before the &?

On Mon, Feb 6, 2012 at 10:57 AM, Chris Kees <cekees at gmail.com> wrote:
> On the ampersand problem: Firefox and Safari are the same. Also Safari
> complains about not being able to access the web socket and says that I
> won't be able to run code.
>
> On the pulldown menu, I'm having trouble reproducing it right now. I know
> that sometimes the problem is me in that I have to be more careful in
> observing which cell is actually active when I use the menus. It's not a big
> deal, but I'll be more careful to record my observations if I suspect this
> is happening again.
>
> On Mon, Feb 6, 2012 at 3:27 AM, Fernando Perez <fperez.net at gmail.com> wrote:
>>
>> Hi Chris,
>>
>> On Sun, Feb 5, 2012 at 4:20 PM, Chris Kees <cekees at gmail.com> wrote:
>> > Thanks a lot. ?I'm on the right tack now. ?I updated about two hours ago
>> > after I read Min's email so there a couple of quirks you might want to
>> > be on
>> > the lookout for. For some reason when I'm inside a call to
>> > Latex(r"""...), I
>> > can't type an ampersand. I can paste one in but the key won't respond.
>> > In
>>
>> That's really odd, I don't get that on Firefox or Chrome. ?Can you
>> refresh your Javascript cache just to make sure? ?Just save your
>> notebook, and then force a page reload. ?Also, could you test on a
>> different browser and let us know if you see any differences?
>>
>> > markdown or outside a string I can type an ampersand. ? I also noticed
>> > that
>> > sometimes the markdown/code/heading doesn't seem to switch ?modes even
>> > though the pulldown indicates it has. It could just be inaccurate
>> > pointing
>> > and clicking on my part.
>>
>> Mmh, I do see a problem, not sure if it's the same you do: ?If I
>> select a new cell type from the 'Cell' menu, the cells do indeed
>> change type, but the dropdown list in the icon toolbar isn't updating
>> correctly anymore. ?Is that the behavior you see?
>>
>> > Anyway, thanks again. ?I feel like I'm beginning to get productive in
>> > the
>> > notebook.
>>
>> Glad to hear that. ?Some inevitable growing pains, but I think we're
>> on the right track.
>>
>> Cheers,
>>
>> f
>
>
>
> _______________________________________________
> 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


From ellisonbg at gmail.com  Mon Feb  6 15:51:47 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 6 Feb 2012 12:51:47 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAH4pYpQCh5SLW=TPstpT-BiN=nkarkKU=n_qCe-A2S8Ntvc_GA@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
	<CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
	<CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>
	<CAOVFbFg+pOsPNUy9yRRH-9tmJuZHYvcq7R_qtVEakdg5M03r5A@mail.gmail.com>
	<CAH4pYpQCh5SLW=TPstpT-BiN=nkarkKU=n_qCe-A2S8Ntvc_GA@mail.gmail.com>
Message-ID: <CAH4pYpQ3-TAeW6Vz9=5-yg17t9NV_TgBfJU0mavLdO1ByzNuWA@mail.gmail.com>

I am seeing the bug with the Cell menu not causing the select box in
the toolbar to update the cell type.  I can fix this, but here is a
question:  do we even want the Cell type UI in the Cell menu with it
being in the toolbar already.  Granted, the toolbar can be hidden, but
it seems a bit redundant and verbose...

Cheers,

Brian

On Mon, Feb 6, 2012 at 12:05 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> Hmm, am not seeing the ampersand problem on Chrome or Safari ?(on a
> Mac). ?Is there a particular sequence of keystroke that do it. ?Does
> it happen for any text before the &?
>
> On Mon, Feb 6, 2012 at 10:57 AM, Chris Kees <cekees at gmail.com> wrote:
>> On the ampersand problem: Firefox and Safari are the same. Also Safari
>> complains about not being able to access the web socket and says that I
>> won't be able to run code.
>>
>> On the pulldown menu, I'm having trouble reproducing it right now. I know
>> that sometimes the problem is me in that I have to be more careful in
>> observing which cell is actually active when I use the menus. It's not a big
>> deal, but I'll be more careful to record my observations if I suspect this
>> is happening again.
>>
>> On Mon, Feb 6, 2012 at 3:27 AM, Fernando Perez <fperez.net at gmail.com> wrote:
>>>
>>> Hi Chris,
>>>
>>> On Sun, Feb 5, 2012 at 4:20 PM, Chris Kees <cekees at gmail.com> wrote:
>>> > Thanks a lot. ?I'm on the right tack now. ?I updated about two hours ago
>>> > after I read Min's email so there a couple of quirks you might want to
>>> > be on
>>> > the lookout for. For some reason when I'm inside a call to
>>> > Latex(r"""...), I
>>> > can't type an ampersand. I can paste one in but the key won't respond.
>>> > In
>>>
>>> That's really odd, I don't get that on Firefox or Chrome. ?Can you
>>> refresh your Javascript cache just to make sure? ?Just save your
>>> notebook, and then force a page reload. ?Also, could you test on a
>>> different browser and let us know if you see any differences?
>>>
>>> > markdown or outside a string I can type an ampersand. ? I also noticed
>>> > that
>>> > sometimes the markdown/code/heading doesn't seem to switch ?modes even
>>> > though the pulldown indicates it has. It could just be inaccurate
>>> > pointing
>>> > and clicking on my part.
>>>
>>> Mmh, I do see a problem, not sure if it's the same you do: ?If I
>>> select a new cell type from the 'Cell' menu, the cells do indeed
>>> change type, but the dropdown list in the icon toolbar isn't updating
>>> correctly anymore. ?Is that the behavior you see?
>>>
>>> > Anyway, thanks again. ?I feel like I'm beginning to get productive in
>>> > the
>>> > notebook.
>>>
>>> Glad to hear that. ?Some inevitable growing pains, but I think we're
>>> on the right track.
>>>
>>> Cheers,
>>>
>>> f
>>
>>
>>
>> _______________________________________________
>> 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



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From benjaminrk at gmail.com  Mon Feb  6 15:58:03 2012
From: benjaminrk at gmail.com (MinRK)
Date: Mon, 6 Feb 2012 12:58:03 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAH4pYpQ3-TAeW6Vz9=5-yg17t9NV_TgBfJU0mavLdO1ByzNuWA@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
	<CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
	<CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>
	<CAOVFbFg+pOsPNUy9yRRH-9tmJuZHYvcq7R_qtVEakdg5M03r5A@mail.gmail.com>
	<CAH4pYpQCh5SLW=TPstpT-BiN=nkarkKU=n_qCe-A2S8Ntvc_GA@mail.gmail.com>
	<CAH4pYpQ3-TAeW6Vz9=5-yg17t9NV_TgBfJU0mavLdO1ByzNuWA@mail.gmail.com>
Message-ID: <CAHNn8BXu49gk8Ngbk4v4GBWz9BPfrx1J+Gpx5WA88EHmGD5C=g@mail.gmail.com>

On Mon, Feb 6, 2012 at 12:51, Brian Granger <ellisonbg at gmail.com> wrote:

> I am seeing the bug with the Cell menu not causing the select box in
> the toolbar to update the cell type.  I can fix this, but here is a
> question:  do we even want the Cell type UI in the Cell menu with it
> being in the toolbar already.  Granted, the toolbar can be hidden, but
> it seems a bit redundant and verbose...
>

I think nothing should be absent from the menus.  The toolbar should be
100% redundant.


>
> Cheers,
>
> Brian
>
> On Mon, Feb 6, 2012 at 12:05 PM, Brian Granger <ellisonbg at gmail.com>
> wrote:
> > Hmm, am not seeing the ampersand problem on Chrome or Safari  (on a
> > Mac).  Is there a particular sequence of keystroke that do it.  Does
> > it happen for any text before the &?
> >
> > On Mon, Feb 6, 2012 at 10:57 AM, Chris Kees <cekees at gmail.com> wrote:
> >> On the ampersand problem: Firefox and Safari are the same. Also Safari
> >> complains about not being able to access the web socket and says that I
> >> won't be able to run code.
> >>
> >> On the pulldown menu, I'm having trouble reproducing it right now. I
> know
> >> that sometimes the problem is me in that I have to be more careful in
> >> observing which cell is actually active when I use the menus. It's not
> a big
> >> deal, but I'll be more careful to record my observations if I suspect
> this
> >> is happening again.
> >>
> >> On Mon, Feb 6, 2012 at 3:27 AM, Fernando Perez <fperez.net at gmail.com>
> wrote:
> >>>
> >>> Hi Chris,
> >>>
> >>> On Sun, Feb 5, 2012 at 4:20 PM, Chris Kees <cekees at gmail.com> wrote:
> >>> > Thanks a lot.  I'm on the right tack now.  I updated about two hours
> ago
> >>> > after I read Min's email so there a couple of quirks you might want
> to
> >>> > be on
> >>> > the lookout for. For some reason when I'm inside a call to
> >>> > Latex(r"""...), I
> >>> > can't type an ampersand. I can paste one in but the key won't
> respond.
> >>> > In
> >>>
> >>> That's really odd, I don't get that on Firefox or Chrome.  Can you
> >>> refresh your Javascript cache just to make sure?  Just save your
> >>> notebook, and then force a page reload.  Also, could you test on a
> >>> different browser and let us know if you see any differences?
> >>>
> >>> > markdown or outside a string I can type an ampersand.   I also
> noticed
> >>> > that
> >>> > sometimes the markdown/code/heading doesn't seem to switch  modes
> even
> >>> > though the pulldown indicates it has. It could just be inaccurate
> >>> > pointing
> >>> > and clicking on my part.
> >>>
> >>> Mmh, I do see a problem, not sure if it's the same you do:  If I
> >>> select a new cell type from the 'Cell' menu, the cells do indeed
> >>> change type, but the dropdown list in the icon toolbar isn't updating
> >>> correctly anymore.  Is that the behavior you see?
> >>>
> >>> > Anyway, thanks again.  I feel like I'm beginning to get productive in
> >>> > the
> >>> > notebook.
> >>>
> >>> Glad to hear that.  Some inevitable growing pains, but I think we're
> >>> on the right track.
> >>>
> >>> Cheers,
> >>>
> >>> f
> >>
> >>
> >>
> >> _______________________________________________
> >> 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
>
>
>
> --
> 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/20120206/e7cb9da2/attachment.html>

From ellisonbg at gmail.com  Mon Feb  6 16:19:35 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 6 Feb 2012 13:19:35 -0800
Subject: [IPython-dev] notebook questions an aesthetic details
In-Reply-To: <CAHNn8BXu49gk8Ngbk4v4GBWz9BPfrx1J+Gpx5WA88EHmGD5C=g@mail.gmail.com>
References: <CAOVFbFhko8tdnNpm452+fDKCzUEj_4GEosMWy9+r53vJigcUpA@mail.gmail.com>
	<CAHAreOqhzGpgXZcVbP3s87EoseJu6Z7XMOysGada4iJNOtnz4w@mail.gmail.com>
	<CAHAreOpyBer4gz0e_X4YVWwFkKq14XTyF3i+TPtCHvbEGiEb7A@mail.gmail.com>
	<CAOVFbFjy7_X5keWREd14oTctu1E_H5X4B8tdS_BHp5epGwHGGA@mail.gmail.com>
	<CAHAreOr6_s17pWF-x5xHm5b-Jyuw8pDWqJW+J+xqCbZn4DErfQ@mail.gmail.com>
	<CAOVFbFg+pOsPNUy9yRRH-9tmJuZHYvcq7R_qtVEakdg5M03r5A@mail.gmail.com>
	<CAH4pYpQCh5SLW=TPstpT-BiN=nkarkKU=n_qCe-A2S8Ntvc_GA@mail.gmail.com>
	<CAH4pYpQ3-TAeW6Vz9=5-yg17t9NV_TgBfJU0mavLdO1ByzNuWA@mail.gmail.com>
	<CAHNn8BXu49gk8Ngbk4v4GBWz9BPfrx1J+Gpx5WA88EHmGD5C=g@mail.gmail.com>
Message-ID: <CAH4pYpTpxsSeuB87EVWoqG7Hdwj=uyBE_1PV8PnSrroE2aErSw@mail.gmail.com>

On Mon, Feb 6, 2012 at 12:58 PM, MinRK <benjaminrk at gmail.com> wrote:
>
>
> On Mon, Feb 6, 2012 at 12:51, Brian Granger <ellisonbg at gmail.com> wrote:
>>
>> I am seeing the bug with the Cell menu not causing the select box in
>> the toolbar to update the cell type. ?I can fix this, but here is a
>> question: ?do we even want the Cell type UI in the Cell menu with it
>> being in the toolbar already. ?Granted, the toolbar can be hidden, but
>> it seems a bit redundant and verbose...
>
>
> I think nothing should be absent from the menus. ?The toolbar should be 100%
> redundant.

OK, I will fix the bug though.

Cheers,

Brian

>>
>>
>> Cheers,
>>
>> Brian
>>
>> On Mon, Feb 6, 2012 at 12:05 PM, Brian Granger <ellisonbg at gmail.com>
>> wrote:
>> > Hmm, am not seeing the ampersand problem on Chrome or Safari ?(on a
>> > Mac). ?Is there a particular sequence of keystroke that do it. ?Does
>> > it happen for any text before the &?
>> >
>> > On Mon, Feb 6, 2012 at 10:57 AM, Chris Kees <cekees at gmail.com> wrote:
>> >> On the ampersand problem: Firefox and Safari are the same. Also Safari
>> >> complains about not being able to access the web socket and says that I
>> >> won't be able to run code.
>> >>
>> >> On the pulldown menu, I'm having trouble reproducing it right now. I
>> >> know
>> >> that sometimes the problem is me in that I have to be more careful in
>> >> observing which cell is actually active when I use the menus. It's not
>> >> a big
>> >> deal, but I'll be more careful to record my observations if I suspect
>> >> this
>> >> is happening again.
>> >>
>> >> On Mon, Feb 6, 2012 at 3:27 AM, Fernando Perez <fperez.net at gmail.com>
>> >> wrote:
>> >>>
>> >>> Hi Chris,
>> >>>
>> >>> On Sun, Feb 5, 2012 at 4:20 PM, Chris Kees <cekees at gmail.com> wrote:
>> >>> > Thanks a lot. ?I'm on the right tack now. ?I updated about two hours
>> >>> > ago
>> >>> > after I read Min's email so there a couple of quirks you might want
>> >>> > to
>> >>> > be on
>> >>> > the lookout for. For some reason when I'm inside a call to
>> >>> > Latex(r"""...), I
>> >>> > can't type an ampersand. I can paste one in but the key won't
>> >>> > respond.
>> >>> > In
>> >>>
>> >>> That's really odd, I don't get that on Firefox or Chrome. ?Can you
>> >>> refresh your Javascript cache just to make sure? ?Just save your
>> >>> notebook, and then force a page reload. ?Also, could you test on a
>> >>> different browser and let us know if you see any differences?
>> >>>
>> >>> > markdown or outside a string I can type an ampersand. ? I also
>> >>> > noticed
>> >>> > that
>> >>> > sometimes the markdown/code/heading doesn't seem to switch ?modes
>> >>> > even
>> >>> > though the pulldown indicates it has. It could just be inaccurate
>> >>> > pointing
>> >>> > and clicking on my part.
>> >>>
>> >>> Mmh, I do see a problem, not sure if it's the same you do: ?If I
>> >>> select a new cell type from the 'Cell' menu, the cells do indeed
>> >>> change type, but the dropdown list in the icon toolbar isn't updating
>> >>> correctly anymore. ?Is that the behavior you see?
>> >>>
>> >>> > Anyway, thanks again. ?I feel like I'm beginning to get productive
>> >>> > in
>> >>> > the
>> >>> > notebook.
>> >>>
>> >>> Glad to hear that. ?Some inevitable growing pains, but I think we're
>> >>> on the right track.
>> >>>
>> >>> Cheers,
>> >>>
>> >>> f
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> 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
>>
>>
>>
>> --
>> 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
>
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From ellisonbg at gmail.com  Tue Feb  7 00:51:09 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 6 Feb 2012 21:51:09 -0800
Subject: [IPython-dev] Templating library for IPython
Message-ID: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>

Hi,

In the IPython notebook we are quickly reacing the limitations of the
Tornado templating engine.  I love the syntax and flexibilty, but it
requires that all templates be in the same directory.  This is
preventing us from organizing the notebook code in a more scalable way
where each page's resources (templates/css/js/request handlers) are
put into a common subdirectory.  I have been looking at the various
templating engines and am thinking about switching over to jinja2.
Relative to other templating libs for Python here are the main
advantages I see for IPython:

* The syntax is very close to that of tornado.  This will make our
existing templates easy to port and require little brain power for our
devs.
* It has very flexible ways of tracking all of your templates in
different locations.  As the notebook grows in complexity this will be
important.
* Jinja2 seems to be well maintained and popular.
* Experimental Python 3 support.

Questions:

What do people think about this plan?
How would we handle the dependency issue?  We could put jinja2 in
externals, but we would have to change all of its import statements.

Cheers,

Brian

-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From fperez.net at gmail.com  Tue Feb  7 01:05:17 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 6 Feb 2012 22:05:17 -0800
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
Message-ID: <CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>

On Mon, Feb 6, 2012 at 9:51 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>
> What do people think about this plan?

There's another point in favor of jinja2: it's what sphinx uses.  This means:

- we're already somewhat familiar with it (at least those of us who
have messed with customizing sphinx builds at the template level)

- it may make it easier to produce high-quality html via sphinx
integration from notebooks.

> How would we handle the dependency issue? ?We could put jinja2 in
> externals, but we would have to change all of its import statements.

Yes, the dependency question is the one that bothers me...  No good
ideas right now, I'm afraid.

Thanks for doing the legwork!

f


From cschin at infoecho.net  Tue Feb  7 02:17:33 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Mon, 6 Feb 2012 23:17:33 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <201201271419.05307.mark.voorhies@ucsf.edu>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
Message-ID: <10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>

Thanks.  I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup 

Obviously, there are a lot of interesting things that one can do along this line.  Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?  

--Jason


On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:

> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>> 
>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>> 
>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>> 
>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>> click context menu not supported).  I haven't tested in Chrome, but it is supported in old versions of webkit.
>> 
>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>> user actions.
>> 
>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>> (which seems cleaner, but also seems prone to threading issues).
>> 
>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>> up NetworkX outputs.
>> 
>> --Mark
> 
> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
> databases to a graph of inferred relationships between genes and annotations).
> 
> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
> in chapter 17 of the SVG spec:
>   http://www.w3.org/TR/SVG11/linking.html
> 
> --Mark
> 
>> 
>>> 
>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>> 
>>> Bartosz
>>> 
>>> 
>>> 
>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>> 
>>>> We would definitely like to support this but there are some technical
>>>> problems with injecting Javascript into the page dynamically that we
>>>> will have to work out before this is possible.
>>>> 
>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser?  It that works, ipython will be a great tool for developing infovis.  Any comment on this?  I think I might try a little to whether it is feasible.  Or, is there something like that already?
>>>>> 
>>>>> --Jason Chin
>>>>> _______________________________________________
>>>>> IPython-dev mailing list
>>>>> IPython-dev at scipy.org
>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>> 
>>>> 
>>>> 
>>> 
>>> Bartosz Telenczuk
>>> 
>>> Institute for Theoretical Biology
>>> Humboldt University of Berlin, Germany
>>> Phone: +4930/2093-8838
>>> Homepage: http://neuroscience.telenczuk.pl
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>> 
>> 
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>> 
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: catalases2.svg
> Type: image/svg+xml
> Size: 142312 bytes
> Desc: not available
> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin 
> 



From hugo at continuum.io  Tue Feb  7 06:35:26 2012
From: hugo at continuum.io (hugo)
Date: Tue, 07 Feb 2012 06:35:26 -0500
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
Message-ID: <4F310C7E.6070603@continuum.io>

when i was playing around with this, I wrote a python module which would 
call publish_display_data, publish_display_data sends data out over the 
regular ipython iopub socket. this message maps mime_types to data.  you 
can create your own mime type.  the ipython notebook currently handles a 
few different mime types, I extended the notebook code to respond to my 
mime type and then create the plot in the code cell.

On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
> Thanks.  I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>
> Obviously, there are a lot of interesting things that one can do along this line.  Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>
> --Jason
>
>
> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>
>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>
>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>> click context menu not supported).  I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>
>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>> user actions.
>>>
>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>> (which seems cleaner, but also seems prone to threading issues).
>>>
>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>> up NetworkX outputs.
>>>
>>> --Mark
>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>> databases to a graph of inferred relationships between genes and annotations).
>>
>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>> in chapter 17 of the SVG spec:
>>    http://www.w3.org/TR/SVG11/linking.html
>>
>> --Mark
>>
>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>
>>>> Bartosz
>>>>
>>>>
>>>>
>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>
>>>>> We would definitely like to support this but there are some technical
>>>>> problems with injecting Javascript into the page dynamically that we
>>>>> will have to work out before this is possible.
>>>>>
>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net>  wrote:
>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser?  It that works, ipython will be a great tool for developing infovis.  Any comment on this?  I think I might try a little to whether it is feasible.  Or, is there something like that already?
>>>>>>
>>>>>> --Jason Chin
>>>>>> _______________________________________________
>>>>>> IPython-dev mailing list
>>>>>> IPython-dev at scipy.org
>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>
>>>>>
>>>> Bartosz Telenczuk
>>>>
>>>> Institute for Theoretical Biology
>>>> Humboldt University of Berlin, Germany
>>>> Phone: +4930/2093-8838
>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> IPython-dev mailing list
>>>> IPython-dev at scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>
>> -------------- next part --------------
>> A non-text attachment was scrubbed...
>> Name: catalases2.svg
>> Type: image/svg+xml
>> Size: 142312 bytes
>> Desc: not available
>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev



From cschin at infoecho.net  Tue Feb  7 10:50:17 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Tue, 7 Feb 2012 07:50:17 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <4F310C7E.6070603@continuum.io>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
Message-ID: <76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>

One of my dilemma now is if I want to leverage the power of the library like d3.js, then I need a more isolated web environment like iframe or a separate window to avoid bad javascript code messing up the notebook itself.  I will look into if it is possible to use ipython notebook to create new zmq/websocket channel for such isolation.

--Jason

On Feb 7, 2012, at 3:35 AM, hugo wrote:

> when i was playing around with this, I wrote a python module which would call publish_display_data, publish_display_data sends data out over the regular ipython iopub socket. this message maps mime_types to data.  you can create your own mime type.  the ipython notebook currently handles a few different mime types, I extended the notebook code to respond to my mime type and then create the plot in the code cell.
> 
> On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
>> Thanks.  I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>> 
>> Obviously, there are a lot of interesting things that one can do along this line.  Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>> 
>> --Jason
>> 
>> 
>> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>> 
>>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>> 
>>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>>> click context menu not supported).  I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>> 
>>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>>> user actions.
>>>> 
>>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>>> (which seems cleaner, but also seems prone to threading issues).
>>>> 
>>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>>> up NetworkX outputs.
>>>> 
>>>> --Mark
>>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>>> databases to a graph of inferred relationships between genes and annotations).
>>> 
>>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>>> in chapter 17 of the SVG spec:
>>>   http://www.w3.org/TR/SVG11/linking.html
>>> 
>>> --Mark
>>> 
>>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>> 
>>>>> Bartosz
>>>>> 
>>>>> 
>>>>> 
>>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>> 
>>>>>> We would definitely like to support this but there are some technical
>>>>>> problems with injecting Javascript into the page dynamically that we
>>>>>> will have to work out before this is possible.
>>>>>> 
>>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net>  wrote:
>>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser?  It that works, ipython will be a great tool for developing infovis.  Any comment on this?  I think I might try a little to whether it is feasible.  Or, is there something like that already?
>>>>>>> 
>>>>>>> --Jason Chin
>>>>>>> _______________________________________________
>>>>>>> IPython-dev mailing list
>>>>>>> IPython-dev at scipy.org
>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>> 
>>>>>> 
>>>>> Bartosz Telenczuk
>>>>> 
>>>>> Institute for Theoretical Biology
>>>>> Humboldt University of Berlin, Germany
>>>>> Phone: +4930/2093-8838
>>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> IPython-dev mailing list
>>>>> IPython-dev at scipy.org
>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>> 
>>>> _______________________________________________
>>>> IPython-dev mailing list
>>>> IPython-dev at scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>> 
>>> -------------- next part --------------
>>> A non-text attachment was scrubbed...
>>> Name: catalases2.svg
>>> Type: image/svg+xml
>>> Size: 142312 bytes
>>> Desc: not available
>>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>> 
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
> 



From ellisonbg at gmail.com  Tue Feb  7 11:54:51 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 7 Feb 2012 08:54:51 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
Message-ID: <CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>

How is the attached screenshot?  I will put up a branch in a second as
a PR.  Need to fix a few things first.

On Tue, Feb 7, 2012 at 7:50 AM, Chen-Shan Chin <cschin at infoecho.net> wrote:
> One of my dilemma now is if I want to leverage the power of the library like d3.js, then I need a more isolated web environment like iframe or a separate window to avoid bad javascript code messing up the notebook itself. ?I will look into if it is possible to use ipython notebook to create new zmq/websocket channel for such isolation.
>
> --Jason
>
> On Feb 7, 2012, at 3:35 AM, hugo wrote:
>
>> when i was playing around with this, I wrote a python module which would call publish_display_data, publish_display_data sends data out over the regular ipython iopub socket. this message maps mime_types to data. ?you can create your own mime type. ?the ipython notebook currently handles a few different mime types, I extended the notebook code to respond to my mime type and then create the plot in the code cell.
>>
>> On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
>>> Thanks. ?I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>>>
>>> Obviously, there are a lot of interesting things that one can do along this line. ?Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>>>
>>> --Jason
>>>
>>>
>>> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>>>
>>>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>>>
>>>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>>>> click context menu not supported). ?I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>>>
>>>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>>>> user actions.
>>>>>
>>>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>>>> (which seems cleaner, but also seems prone to threading issues).
>>>>>
>>>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>>>> up NetworkX outputs.
>>>>>
>>>>> --Mark
>>>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>>>> databases to a graph of inferred relationships between genes and annotations).
>>>>
>>>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>>>> in chapter 17 of the SVG spec:
>>>> ? http://www.w3.org/TR/SVG11/linking.html
>>>>
>>>> --Mark
>>>>
>>>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>>>
>>>>>> Bartosz
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>>>
>>>>>>> We would definitely like to support this but there are some technical
>>>>>>> problems with injecting Javascript into the page dynamically that we
>>>>>>> will have to work out before this is possible.
>>>>>>>
>>>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net> ?wrote:
>>>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser? ?It that works, ipython will be a great tool for developing infovis. ?Any comment on this? ?I think I might try a little to whether it is feasible. ?Or, is there something like that already?
>>>>>>>>
>>>>>>>> --Jason Chin
>>>>>>>> _______________________________________________
>>>>>>>> IPython-dev mailing list
>>>>>>>> IPython-dev at scipy.org
>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>
>>>>>>>
>>>>>> Bartosz Telenczuk
>>>>>>
>>>>>> Institute for Theoretical Biology
>>>>>> Humboldt University of Berlin, Germany
>>>>>> Phone: +4930/2093-8838
>>>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> IPython-dev mailing list
>>>>>> IPython-dev at scipy.org
>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>
>>>>> _______________________________________________
>>>>> IPython-dev mailing list
>>>>> IPython-dev at scipy.org
>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>
>>>> -------------- next part --------------
>>>> A non-text attachment was scrubbed...
>>>> Name: catalases2.svg
>>>> Type: image/svg+xml
>>>> Size: 142312 bytes
>>>> Desc: not available
>>>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>>>
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>
>
> _______________________________________________
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Google ChromeScreenSnapz001.jpg
Type: image/jpeg
Size: 36622 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120207/d8e0dda1/attachment.jpg>

From ellisonbg at gmail.com  Tue Feb  7 12:26:11 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 7 Feb 2012 09:26:11 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
Message-ID: <CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>

OK, here is the PR:

https://github.com/ipython/ipython/pull/1386

Please play with this and let me know where/how it is lacking.

Also, I am not yet including d3, do we want to do that?

Cheers,

Brian

On Tue, Feb 7, 2012 at 8:54 AM, Brian Granger <ellisonbg at gmail.com> wrote:
> How is the attached screenshot? ?I will put up a branch in a second as
> a PR. ?Need to fix a few things first.
>
> On Tue, Feb 7, 2012 at 7:50 AM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>> One of my dilemma now is if I want to leverage the power of the library like d3.js, then I need a more isolated web environment like iframe or a separate window to avoid bad javascript code messing up the notebook itself. ?I will look into if it is possible to use ipython notebook to create new zmq/websocket channel for such isolation.
>>
>> --Jason
>>
>> On Feb 7, 2012, at 3:35 AM, hugo wrote:
>>
>>> when i was playing around with this, I wrote a python module which would call publish_display_data, publish_display_data sends data out over the regular ipython iopub socket. this message maps mime_types to data. ?you can create your own mime type. ?the ipython notebook currently handles a few different mime types, I extended the notebook code to respond to my mime type and then create the plot in the code cell.
>>>
>>> On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
>>>> Thanks. ?I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>>>>
>>>> Obviously, there are a lot of interesting things that one can do along this line. ?Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>>>>
>>>> --Jason
>>>>
>>>>
>>>> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>>>>
>>>>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>>>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>>>>
>>>>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>>>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>>>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>>>>> click context menu not supported). ?I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>>>>
>>>>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>>>>> user actions.
>>>>>>
>>>>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>>>>> (which seems cleaner, but also seems prone to threading issues).
>>>>>>
>>>>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>>>>> up NetworkX outputs.
>>>>>>
>>>>>> --Mark
>>>>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>>>>> databases to a graph of inferred relationships between genes and annotations).
>>>>>
>>>>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>>>>> in chapter 17 of the SVG spec:
>>>>> ? http://www.w3.org/TR/SVG11/linking.html
>>>>>
>>>>> --Mark
>>>>>
>>>>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>>>>
>>>>>>> Bartosz
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>>>>
>>>>>>>> We would definitely like to support this but there are some technical
>>>>>>>> problems with injecting Javascript into the page dynamically that we
>>>>>>>> will have to work out before this is possible.
>>>>>>>>
>>>>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net> ?wrote:
>>>>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser? ?It that works, ipython will be a great tool for developing infovis. ?Any comment on this? ?I think I might try a little to whether it is feasible. ?Or, is there something like that already?
>>>>>>>>>
>>>>>>>>> --Jason Chin
>>>>>>>>> _______________________________________________
>>>>>>>>> IPython-dev mailing list
>>>>>>>>> IPython-dev at scipy.org
>>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>
>>>>>>>>
>>>>>>> Bartosz Telenczuk
>>>>>>>
>>>>>>> Institute for Theoretical Biology
>>>>>>> Humboldt University of Berlin, Germany
>>>>>>> Phone: +4930/2093-8838
>>>>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> IPython-dev mailing list
>>>>>>> IPython-dev at scipy.org
>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>
>>>>>> _______________________________________________
>>>>>> IPython-dev mailing list
>>>>>> IPython-dev at scipy.org
>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>
>>>>> -------------- next part --------------
>>>>> A non-text attachment was scrubbed...
>>>>> Name: catalases2.svg
>>>>> Type: image/svg+xml
>>>>> Size: 142312 bytes
>>>>> Desc: not available
>>>>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>>>>
>>>> _______________________________________________
>>>> IPython-dev mailing list
>>>> IPython-dev at scipy.org
>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>
>>
>> _______________________________________________
>> 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



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From pivanov314 at gmail.com  Wed Feb  8 03:33:16 2012
From: pivanov314 at gmail.com (Paul Ivanov)
Date: Wed, 8 Feb 2012 00:33:16 -0800
Subject: [IPython-dev] how to pitch in to help IPython (documentation)
Message-ID: <20120208083316.GC2466@ykcyc>

Greetings friends of IPython! 

If you use and love IPython as much as I do - then surely it
deserves to receive a little bit of one-on-one attention and
personalized care from you (as all beloved packaged should). 

"But how do I get started? It seems like I need a PhD in ZeroMQ to
even start, and my [forthcoming?] degree is in X, not ZeroMQ!"

Fear not! One easy, but very valuable way to contribute is by
improving the documentation. Take a look at this pull request:
https://github.com/ipython/ipython/pull/1385

There are probably many-many instances of such doc-only
improvements which can be made all throughout IPython. It would
be a good opportunity for someone with time on their hands to go
through, spot places where small ReST changes would improve
readability, and spend the time to iteratively improving and
rebuilding the docs to verify these changes.

All you'll have to do is run `make html` in your ipython/docs
directory - which luckily only takes a long time to build the docs the
first time - after that, each run essentially only rebuilds the
portions which were changed from the previous. And you'll feel
good!

Consider this parting thought: Fernando Perez started IPython
as his PhD thesis *procrastination* project. Isn't it time you
joined (or renewed your commitment to) such a rich tradition?

best,
-- 
Paul Ivanov
314 address only used for lists,  off-list direct email at:
http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 


From takowl at gmail.com  Wed Feb  8 14:14:03 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 8 Feb 2012 19:14:03 +0000
Subject: [IPython-dev] IPython notebook
Message-ID: <CAOvn4qgMd_GjzwNbCu+ieAQ6+tE=jAPxrQ-MccKXM2hgEW6i3A@mail.gmail.com>

Hi Todd,

I spotted your write-up of the IPython notebook at
http://gureckislab.org/blog/?p=1195 - I can't post a comment there, so I
thought I'd drop you an email.

There's definitely a lot of development work on the notebook at the moment.
Brian Granger is posting some updates on Google+:
https://plus.google.com/110706953761515533762/posts

If you want to help steer the direction of development, there's a standing
issue with feature requests (https://github.com/ipython/ipython/issues/977),
as well as issues for more concrete proposals, and discussions on the
mailing list (CCed here). Some of your suggestions (like code folding) are
already planned, while others are new, at least to me. And if you or anyone
in your lab are interested in working on the code, new contributors are
always welcome.

Best wishes,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120208/e8811890/attachment.html>

From benjaminrk at gmail.com  Wed Feb  8 14:07:47 2012
From: benjaminrk at gmail.com (MinRK)
Date: Wed, 8 Feb 2012 11:07:47 -0800
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
Message-ID: <CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>

On Mon, Feb 6, 2012 at 22:05, Fernando Perez <fperez.net at gmail.com> wrote:

> On Mon, Feb 6, 2012 at 9:51 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> >
> > What do people think about this plan?
>
> There's another point in favor of jinja2: it's what sphinx uses.  This
> means:
>
> - we're already somewhat familiar with it (at least those of us who
> have messed with customizing sphinx builds at the template level)
>
> - it may make it easier to produce high-quality html via sphinx
> integration from notebooks.
>
> > How would we handle the dependency issue?  We could put jinja2 in
> > externals, but we would have to change all of its import statements.
>
> Yes, the dependency question is the one that bothers me...  No good
> ideas right now, I'm afraid.
>

The notebook has two external dependencies already (pyzmq, tornado).  Why
should we ship jinja ourselves, especially when it's by far the most common
and largest of the three?

-MinRK


>
> Thanks for doing the legwork!
>
> f
> _______________________________________________
> 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/20120208/0eca1aad/attachment.html>

From jason-sage at creativetrax.com  Wed Feb  8 14:52:59 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Wed, 08 Feb 2012 13:52:59 -0600
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
Message-ID: <4F32D29B.1050402@creativetrax.com>

On 2/7/12 12:05 AM, Fernando Perez wrote:
> On Mon, Feb 6, 2012 at 9:51 PM, Brian Granger<ellisonbg at gmail.com>  wrote:
>>
>> What do people think about this plan?
>
> There's another point in favor of jinja2: it's what sphinx uses.  This means:
>
> - we're already somewhat familiar with it (at least those of us who
> have messed with customizing sphinx builds at the template level)
>
> - it may make it easier to produce high-quality html via sphinx
> integration from notebooks.


It's also what Sage uses for our notebook, and we've been happy.

Jason


From ellisonbg at gmail.com  Wed Feb  8 14:58:03 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Wed, 8 Feb 2012 11:58:03 -0800
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
	<CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>
Message-ID: <CAH4pYpQdEvgFMWgt1VUU6WEz8RYhLNnCVFbdvaaHiHpdAoiXTQ@mail.gmail.com>

On Wed, Feb 8, 2012 at 11:07 AM, MinRK <benjaminrk at gmail.com> wrote:
>
>
> On Mon, Feb 6, 2012 at 22:05, Fernando Perez <fperez.net at gmail.com> wrote:
>>
>> On Mon, Feb 6, 2012 at 9:51 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>> >
>> > What do people think about this plan?
>>
>> There's another point in favor of jinja2: it's what sphinx uses. ?This
>> means:
>>
>> - we're already somewhat familiar with it (at least those of us who
>> have messed with customizing sphinx builds at the template level)
>>
>> - it may make it easier to produce high-quality html via sphinx
>> integration from notebooks.
>>
>> > How would we handle the dependency issue? ?We could put jinja2 in
>> > externals, but we would have to change all of its import statements.
>>
>> Yes, the dependency question is the one that bothers me... ?No good
>> ideas right now, I'm afraid.
>
>
> The notebook has two external dependencies already (pyzmq, tornado). ?Why
> should we ship jinja ourselves, especially when it's by far the most common
> and largest of the three?

Yes, as I have thought about this over the past few days, I am more
leaning towards just making it an external dependency.



> -MinRK
>
>>
>>
>> Thanks for doing the legwork!
>>
>> f
>> _______________________________________________
>> 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


From fperez.net at gmail.com  Wed Feb  8 21:15:29 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 8 Feb 2012 18:15:29 -0800
Subject: [IPython-dev] IPython notebook
In-Reply-To: <CAOvn4qgMd_GjzwNbCu+ieAQ6+tE=jAPxrQ-MccKXM2hgEW6i3A@mail.gmail.com>
References: <CAOvn4qgMd_GjzwNbCu+ieAQ6+tE=jAPxrQ-MccKXM2hgEW6i3A@mail.gmail.com>
Message-ID: <CAHAreOpwZCfg-x+tZ-PT29Zb-fH7tQz7TY2x3LWEPpiPOn9-0Q@mail.gmail.com>

Hi Todd,

BTW, the similarities in the IPython notebook with Mathematica  are
not accidental, you may find this informative:

http://wlan.berkeley.edu/login/?http://blog.fperez.org/2012/01/ipython-notebook-historical.html

BTW, we're already using the notebook for teaching at Berkeley, just
last week I had a visualization lecture:

http://www.youtube.com/watch?v=BMA0MRNzK3o

for which the notebooks and data are up on github:

https://github.com/ivanov/AY250

Coming closer to neuroscience, let me know
(fernando.perez at berkeley.edu) and I can put you in touch with some
folks at MIT and NYU who have been using the notebook 'in anger' for
fMRI analysis.  Unfortunately at the last minute I decided against
presenting this kind of thing at HBM China this year, but we can
certainly discuss it further if you are interested.

We want to turn the notebook into something *better* than Mathematica
for research, education and publishing, so by all means jump in with
ideas (or even better, with code contributions!).

Best,

f


From fperez.net at gmail.com  Wed Feb  8 21:25:35 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 8 Feb 2012 18:25:35 -0800
Subject: [IPython-dev] [IPython-User] how to pitch in to help IPython
	(documentation)
In-Reply-To: <20120208083316.GC2466@ykcyc>
References: <20120208083316.GC2466@ykcyc>
Message-ID: <CAHAreOphUPW+GQ6x=9OtBHjqJOC9s1+BvMxuc-pHuGYpDsN7yw@mail.gmail.com>

On Wed, Feb 8, 2012 at 12:33 AM, Paul Ivanov <pivanov314 at gmail.com> wrote:
>
> "But how do I get started? It seems like I need a PhD in ZeroMQ to
> even start, and my [forthcoming?] degree is in X, not ZeroMQ!"
>
> Fear not! One easy, but very valuable way to contribute is by
> improving the documentation. Take a look at this pull request:
> https://github.com/ipython/ipython/pull/1385

I want to wholeheartedly second Paul's message, and add an important
point: you can help by *reviewing* existing pull requests, such as the
one above!  Reviewing other's code is also a great way to start
learning how the project is structured and 'get into the workflow' of
IPython.  And while we do have sometimes PRs that are thorny and
complex, there are also others that can be easily reviewed by new
contributors.

For the core team, finding already feedback from someone else is
already net progress on any PR and may help us move faster on it.

Furthermore, one of you may have a platform/OS/etc combination the
core team doesn't have, so providing feedback about how well a given
PR works on *your* platform may actually be extremely valuable to us.

In summary, take Paul's message at heart, and hopefully you'll find
that contributing to the project is easier than you think, and can be
very rewarding in the long run.  You can start with some of these
easier approaches, and next thing you know, you *will* be digging into
the heart of the beast :)

Best,

f


From fperez.net at gmail.com  Wed Feb  8 21:29:18 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 8 Feb 2012 18:29:18 -0800
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAH4pYpQdEvgFMWgt1VUU6WEz8RYhLNnCVFbdvaaHiHpdAoiXTQ@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
	<CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>
	<CAH4pYpQdEvgFMWgt1VUU6WEz8RYhLNnCVFbdvaaHiHpdAoiXTQ@mail.gmail.com>
Message-ID: <CAHAreOoSXVnz-JwY=Dbs4JqqYuybpKgbTAYsZ3bgSHQbM1vrQA@mail.gmail.com>

On Wed, Feb 8, 2012 at 11:58 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>
> Yes, as I have thought about this over the past few days, I am more
> leaning towards just making it an external dependency.

Let's ping Ilan (cc'd here) to see how much of a hassle it would be
for EPD free to include  it.  Right now, EPD free ships a fully
working notebook (Ilan kindly included the necessary dependencies),
and that's pretty important in terms of really lowering the barrier
for new users everywhere.

I'm not saying that we have to base our decision solely on that, but
we should consult with Ilan to find the best way to move forward
rather than making changes unilaterally, as ultimately I'm sure we'll
all benefit from finding a solution that works for everyone.

Cheers,

f


From fperez.net at gmail.com  Thu Feb  9 19:41:33 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 9 Feb 2012 16:41:33 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
Message-ID: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>

Hey folks,

it seems we keep on getting people confused by the need to hit
reply-all.  There's endless debates on the merits of either approach
online and I'm not super-interested in a deep, philosophical
discussion about the well-being of the internet, just on making a
simple and pragmatic decision that works *for us*.

I'm so used to typing 'a' (the gmail shortcut for reply-all) that this
has never bothered me, but I'm ok changing.  I can always manually
change it to reply to the poster only if I want...

Note that the setting we're using is listed as "*strongly
recommended*" (emphasis theirs) in the mailman interface and is the
default.  I've just followed their advice for a long time, but I see
problems cropping up again and again, thus I'm willing to revisit the
question.

The change takes me two seconds to make, so I just want to hear if
people really would be happier with it being made.

Cheers,

f


From benjaminrk at gmail.com  Thu Feb  9 19:55:36 2012
From: benjaminrk at gmail.com (MinRK)
Date: Thu, 9 Feb 2012 16:55:36 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
Message-ID: <CAHNn8BXgN1j4adHmVkEC8XgawvOxFE1=zEKa-tAQka-g=iUGKQ@mail.gmail.com>

I've always preferred lists that set reply-to as the list address.  Does
the 'strong recommendation' have a reason behind it?

-MinRK

On Thu, Feb 9, 2012 at 16:41, Fernando Perez <fperez.net at gmail.com> wrote:

> Hey folks,
>
> it seems we keep on getting people confused by the need to hit
> reply-all.  There's endless debates on the merits of either approach
> online and I'm not super-interested in a deep, philosophical
> discussion about the well-being of the internet, just on making a
> simple and pragmatic decision that works *for us*.
>
> I'm so used to typing 'a' (the gmail shortcut for reply-all) that this
> has never bothered me, but I'm ok changing.  I can always manually
> change it to reply to the poster only if I want...
>
> Note that the setting we're using is listed as "*strongly
> recommended*" (emphasis theirs) in the mailman interface and is the
> default.  I've just followed their advice for a long time, but I see
> problems cropping up again and again, thus I'm willing to revisit the
> question.
>
> The change takes me two seconds to make, so I just want to hear if
> people really would be happier with it being made.
>
> Cheers,
>
> f
> _______________________________________________
> 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/20120209/4325e82c/attachment.html>

From takowl at gmail.com  Thu Feb  9 19:59:36 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Fri, 10 Feb 2012 00:59:36 +0000
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
Message-ID: <CAOvn4qiqT_1uEOAE8K7zwpDJ1cwCe1G05HixcaTgjDHoFBUE3Q@mail.gmail.com>

On 10 February 2012 00:41, Fernando Perez <fperez.net at gmail.com> wrote:

> Note that the setting we're using is listed as "*strongly
> recommended*" (emphasis theirs) in the mailman interface and is the
> default.  I've just followed their advice for a long time, but I see
> problems cropping up again and again, thus I'm willing to revisit the
> question.
>

I don't administer any lists myself, but on most lists I reply to, replies
seem to go to the list. Maybe this is the default for google groups? For
myself, I'm ambivalent about it, as I'm used to doing reply-all now, but
people often get caught out.

Are non-members allowed to post to these lists? If we do change the
setting, people will answer questions directly to the list, so if the asker
isn't subscribed, they may never get a response.

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120210/c4371f14/attachment.html>

From fperez.net at gmail.com  Thu Feb  9 20:07:39 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 9 Feb 2012 17:07:39 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAHNn8BXgN1j4adHmVkEC8XgawvOxFE1=zEKa-tAQka-g=iUGKQ@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAHNn8BXgN1j4adHmVkEC8XgawvOxFE1=zEKa-tAQka-g=iUGKQ@mail.gmail.com>
Message-ID: <CAHAreOrHXU-qCjrCAMGSWqZ6jCxcSqM3fXEcrNJXhZA6gV38cg@mail.gmail.com>

Hey

On Thu, Feb 9, 2012 at 4:55 PM, MinRK <benjaminrk at gmail.com> wrote:
> I've always preferred lists that set reply-to as the list address. ?Does the
> 'strong recommendation' have a reason behind it?

Copying from the mailman admin page on this setting:

"""
reply_goes_to_list (general): Where are replies to list messages
directed? Poster is strongly recommended for most mailing lists.

This option controls what Mailman does to the Reply-To: header in
messages flowing through this mailing list. When set to Poster, no
Reply-To: header is added by Mailman, although if one is present in
the original message, it is not stripped. Setting this value to either
This list or Explicit address causes Mailman to insert a specific
Reply-To: header in all messages, overriding the header in the
original message if necessary (Explicit address inserts the value of
reply_to_address).

There are many reasons not to introduce or override the Reply-To:
header. One is that some posters depend on their own Reply-To:
settings to convey their valid return address. Another is that
modifying Reply-To: makes it much more difficult to send private
replies. See `Reply-To' Munging Considered Harmful for a general
discussion of this issue. See Reply-To Munging Considered Useful for a
dissenting opinion.

Some mailing lists have restricted posting privileges, with a parallel
list devoted to discussions. Examples are `patches' or `checkin'
lists, where software changes are posted by a revision control system,
but discussion about the changes occurs on a developers mailing list.
To support these types of mailing lists, select Explicit address and
set the Reply-To: address below to point to the parallel list.
"""

Cheers,

f


From fperez.net at gmail.com  Thu Feb  9 20:09:36 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 9 Feb 2012 17:09:36 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAOvn4qiqT_1uEOAE8K7zwpDJ1cwCe1G05HixcaTgjDHoFBUE3Q@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAOvn4qiqT_1uEOAE8K7zwpDJ1cwCe1G05HixcaTgjDHoFBUE3Q@mail.gmail.com>
Message-ID: <CAHAreOrA2Y7v4EeHJzMac95GbayjQJz_DdKyZxnt5+MTummqvA@mail.gmail.com>

On Thu, Feb 9, 2012 at 4:59 PM, Thomas Kluyver <takowl at gmail.com> wrote:
>
> Are non-members allowed to post to these lists? If we do change the setting,
> people will answer questions directly to the list, so if the asker isn't
> subscribed, they may never get a response.

Nope, we don't allow non-subscriber postings.  I think we did allow
it early on, but doing that is a spam magnet, so I have no plans on
changing it.  One minute dealing with spam in my life is one minute I
don't get back, so I'm OK with fairly draconian measures to prevent
it.

Cheers,

f


From ischnell at enthought.com  Thu Feb  9 20:29:30 2012
From: ischnell at enthought.com (Ilan Schnell)
Date: Thu, 9 Feb 2012 19:29:30 -0600
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAHAreOoSXVnz-JwY=Dbs4JqqYuybpKgbTAYsZ3bgSHQbM1vrQA@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
	<CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>
	<CAH4pYpQdEvgFMWgt1VUU6WEz8RYhLNnCVFbdvaaHiHpdAoiXTQ@mail.gmail.com>
	<CAHAreOoSXVnz-JwY=Dbs4JqqYuybpKgbTAYsZ3bgSHQbM1vrQA@mail.gmail.com>
Message-ID: <CAAUn5qKndvG1bU+NZLbwns0KR4KyKz-2soRoy_XU+86_pHBXXw@mail.gmail.com>

Hello Fernando,

no problem, Jinja2 is very lightweight.
I'll include it in the next EPD Free (7.3) release.

- Ilan


On Wed, Feb 8, 2012 at 8:29 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> On Wed, Feb 8, 2012 at 11:58 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>>
>> Yes, as I have thought about this over the past few days, I am more
>> leaning towards just making it an external dependency.
>
> Let's ping Ilan (cc'd here) to see how much of a hassle it would be
> for EPD free to include ?it. ?Right now, EPD free ships a fully
> working notebook (Ilan kindly included the necessary dependencies),
> and that's pretty important in terms of really lowering the barrier
> for new users everywhere.
>
> I'm not saying that we have to base our decision solely on that, but
> we should consult with Ilan to find the best way to move forward
> rather than making changes unilaterally, as ultimately I'm sure we'll
> all benefit from finding a solution that works for everyone.
>
> Cheers,
>
> f


From matthew.brett at gmail.com  Thu Feb  9 20:42:24 2012
From: matthew.brett at gmail.com (Matthew Brett)
Date: Thu, 9 Feb 2012 17:42:24 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
Message-ID: <CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>

Yo,

On Thu, Feb 9, 2012 at 4:41 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> Hey folks,
>
> it seems we keep on getting people confused by the need to hit
> reply-all. ?There's endless debates on the merits of either approach
> online and I'm not super-interested in a deep, philosophical
> discussion about the well-being of the internet, just on making a
> simple and pragmatic decision that works *for us*.
>
> I'm so used to typing 'a' (the gmail shortcut for reply-all) that this
> has never bothered me, but I'm ok changing. ?I can always manually
> change it to reply to the poster only if I want...
>
> Note that the setting we're using is listed as "*strongly
> recommended*" (emphasis theirs) in the mailman interface and is the
> default. ?I've just followed their advice for a long time, but I see
> problems cropping up again and again, thus I'm willing to revisit the
> question.

I accepted the default for the mailing lists I administer and
eventually changed them all to reply-to-list having got bored of
constantly having to remind people to post to the list.

It seems to me the arguments for reply-to sender rather than list are
pretty weak, and the disadvantage is rather strong.  I've never had
anyone complain after I switched, for example.

See you,

Matthew


From ellisonbg at gmail.com  Thu Feb  9 20:43:57 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 9 Feb 2012 17:43:57 -0800
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAAUn5qKndvG1bU+NZLbwns0KR4KyKz-2soRoy_XU+86_pHBXXw@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
	<CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>
	<CAH4pYpQdEvgFMWgt1VUU6WEz8RYhLNnCVFbdvaaHiHpdAoiXTQ@mail.gmail.com>
	<CAHAreOoSXVnz-JwY=Dbs4JqqYuybpKgbTAYsZ3bgSHQbM1vrQA@mail.gmail.com>
	<CAAUn5qKndvG1bU+NZLbwns0KR4KyKz-2soRoy_XU+86_pHBXXw@mail.gmail.com>
Message-ID: <CAH4pYpQhGJq_dYs-wJi3pvzX5c+U9k4mdp4frAfF6Jh1PUK3FA@mail.gmail.com>

Thanks Ilan!

On Thu, Feb 9, 2012 at 5:29 PM, Ilan Schnell <ischnell at enthought.com> wrote:
> Hello Fernando,
>
> no problem, Jinja2 is very lightweight.
> I'll include it in the next EPD Free (7.3) release.
>
> - Ilan
>
>
> On Wed, Feb 8, 2012 at 8:29 PM, Fernando Perez <fperez.net at gmail.com> wrote:
>> On Wed, Feb 8, 2012 at 11:58 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>>>
>>> Yes, as I have thought about this over the past few days, I am more
>>> leaning towards just making it an external dependency.
>>
>> Let's ping Ilan (cc'd here) to see how much of a hassle it would be
>> for EPD free to include ?it. ?Right now, EPD free ships a fully
>> working notebook (Ilan kindly included the necessary dependencies),
>> and that's pretty important in terms of really lowering the barrier
>> for new users everywhere.
>>
>> I'm not saying that we have to base our decision solely on that, but
>> we should consult with Ilan to find the best way to move forward
>> rather than making changes unilaterally, as ultimately I'm sure we'll
>> all benefit from finding a solution that works for everyone.
>>
>> Cheers,
>>
>> f



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From fperez.net at gmail.com  Thu Feb  9 23:31:20 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 9 Feb 2012 20:31:20 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
Message-ID: <CAHAreOrVpZSDPnRQoLj34ZnoKXnWFGic-=A9SLpbBaATrMnGHQ@mail.gmail.com>

On Thu, Feb 9, 2012 at 5:42 PM, Matthew Brett <matthew.brett at gmail.com> wrote:
>
> I accepted the default for the mailing lists I administer and
> eventually changed them all to reply-to-list having got bored of
> constantly having to remind people to post to the list.
>
> It seems to me the arguments for reply-to sender rather than list are
> pretty weak, and the disadvantage is rather strong. ?I've never had
> anyone complain after I switched, for example.

This is precisely the kind of feedback I was looking for, thanks!

Given your points and the feedback from others as well, I've changed
both -user and -dev.

Cheers,

f


From fperez.net at gmail.com  Thu Feb  9 23:32:26 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 9 Feb 2012 20:32:26 -0800
Subject: [IPython-dev] Templating library for IPython
In-Reply-To: <CAH4pYpQhGJq_dYs-wJi3pvzX5c+U9k4mdp4frAfF6Jh1PUK3FA@mail.gmail.com>
References: <CAH4pYpQYZ6fiWOse-jfRhpu1kZ72OSMu3C54P2JTHHTucsqh2Q@mail.gmail.com>
	<CAHAreOrF7ZF7+C6qW8LiL_V_sAMRo4doAzPXE_RdEhH3-FJs3g@mail.gmail.com>
	<CAHNn8BVBgw3QWVJEr8_P8r470W7J-FjNzbWh2MD_6m9TviTLTQ@mail.gmail.com>
	<CAH4pYpQdEvgFMWgt1VUU6WEz8RYhLNnCVFbdvaaHiHpdAoiXTQ@mail.gmail.com>
	<CAHAreOoSXVnz-JwY=Dbs4JqqYuybpKgbTAYsZ3bgSHQbM1vrQA@mail.gmail.com>
	<CAAUn5qKndvG1bU+NZLbwns0KR4KyKz-2soRoy_XU+86_pHBXXw@mail.gmail.com>
	<CAH4pYpQhGJq_dYs-wJi3pvzX5c+U9k4mdp4frAfF6Jh1PUK3FA@mail.gmail.com>
Message-ID: <CAHAreOoqA=VtE04QfN1sXOgH+Y-JvcHzQ05xPbMz_t_BHmYEMg@mail.gmail.com>

On Thu, Feb 9, 2012 at 5:43 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> Thanks Ilan!

Seconded!  Your support on this front is really appreciated, Ilan, and
having a fully working notebook in EPD free is really awesome.

Cheers,

f


From robert.kern at gmail.com  Fri Feb 10 05:13:56 2012
From: robert.kern at gmail.com (Robert Kern)
Date: Fri, 10 Feb 2012 10:13:56 +0000
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAHAreOrVpZSDPnRQoLj34ZnoKXnWFGic-=A9SLpbBaATrMnGHQ@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
	<CAHAreOrVpZSDPnRQoLj34ZnoKXnWFGic-=A9SLpbBaATrMnGHQ@mail.gmail.com>
Message-ID: <jh2ql5$apf$1@dough.gmane.org>

On 2/10/12 4:31 AM, Fernando Perez wrote:
> On Thu, Feb 9, 2012 at 5:42 PM, Matthew Brett<matthew.brett at gmail.com>  wrote:
>>
>> I accepted the default for the mailing lists I administer and
>> eventually changed them all to reply-to-list having got bored of
>> constantly having to remind people to post to the list.
>>
>> It seems to me the arguments for reply-to sender rather than list are
>> pretty weak, and the disadvantage is rather strong.  I've never had
>> anyone complain after I switched, for example.
>
> This is precisely the kind of feedback I was looking for, thanks!
>
> Given your points and the feedback from others as well, I've changed
> both -user and -dev.

And there was much rejoicing!

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco



From jason-sage at creativetrax.com  Fri Feb 10 08:47:48 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 10 Feb 2012 07:47:48 -0600
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
Message-ID: <4F352004.8050904@creativetrax.com>

On 2/9/12 7:42 PM, Matthew Brett wrote:
> It seems to me the arguments for reply-to sender rather than list are
> pretty weak, and the disadvantage is rather strong.  I've never had
> anyone complain after I switched, for example.

+1.  It seems that reply-to-list reflects the attitude that all 
conversation should occur on-list (i.e., we are all conversing in a 
group discussion), whereas the reply-to-sender reflects the attitude 
that much conversation should be started on the list, but then carried 
out off-list (i.e., we use the list as a coordination point, but most 
discussions are between individual people).  I think it's better in the 
situation to support the former as the default.

Jason


From fperez.net at gmail.com  Fri Feb 10 12:16:59 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Fri, 10 Feb 2012 09:16:59 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <jh2ql5$apf$1@dough.gmane.org>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
	<CAHAreOrVpZSDPnRQoLj34ZnoKXnWFGic-=A9SLpbBaATrMnGHQ@mail.gmail.com>
	<jh2ql5$apf$1@dough.gmane.org>
Message-ID: <CAHAreOpdJqbESHbS9KDamOA=DLNREPNVs=zf+KNuAT6v_nwnPw@mail.gmail.com>

On Fri, Feb 10, 2012 at 2:13 AM, Robert Kern <robert.kern at gmail.com> wrote:
>> Given your points and the feedback from others as well, I've changed
>> both -user and -dev.
>
> And there was much rejoicing!

We aim to please :)


From fperez.net at gmail.com  Fri Feb 10 12:16:59 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Fri, 10 Feb 2012 09:16:59 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <jh2ql5$apf$1@dough.gmane.org>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
	<CAHAreOrVpZSDPnRQoLj34ZnoKXnWFGic-=A9SLpbBaATrMnGHQ@mail.gmail.com>
	<jh2ql5$apf$1@dough.gmane.org>
Message-ID: <CAHAreOpdJqbESHbS9KDamOA=DLNREPNVs=zf+KNuAT6v_nwnPw@mail.gmail.com>

On Fri, Feb 10, 2012 at 2:13 AM, Robert Kern <robert.kern at gmail.com> wrote:
>> Given your points and the feedback from others as well, I've changed
>> both -user and -dev.
>
> And there was much rejoicing!

We aim to please :)


From fperez.net at gmail.com  Fri Feb 10 12:18:04 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Fri, 10 Feb 2012 09:18:04 -0800
Subject: [IPython-dev] Should we change the reply-to line on the lists?
In-Reply-To: <4F352004.8050904@creativetrax.com>
References: <CAHAreOpFPpUrLCFHz+rr_cvARnZjqFJ1yLnv4w3Z+DkB6M6Oew@mail.gmail.com>
	<CAH6Pt5o3dtP4uzxrucEpfukzzVrFN54LzON6zfOWFYp7cOknBg@mail.gmail.com>
	<4F352004.8050904@creativetrax.com>
Message-ID: <CAHAreOrJaRARX9h5dndgcyNpHq60JapO0rx6+pJ8Mo42ez+59g@mail.gmail.com>

On Fri, Feb 10, 2012 at 5:47 AM, Jason Grout
<jason-sage at creativetrax.com> wrote:
> +1. ?It seems that reply-to-list reflects the attitude that all
> conversation should occur on-list (i.e., we are all conversing in a
> group discussion), whereas the reply-to-sender reflects the attitude
> that much conversation should be started on the list, but then carried
> out off-list (i.e., we use the list as a coordination point, but most
> discussions are between individual people). ?I think it's better in the
> situation to support the former as the default.

That's a very good way to put it, and indeed now that I have more
experience with this, I concur with Matthew's view that the arguments
the mailman interface proposes for 'strongly' supporting
reply-to-poster are fairly weak.

One little good thing done, a million and counting to go... :)

Cheers,

f


From matthew.brett at gmail.com  Fri Feb 10 14:27:36 2012
From: matthew.brett at gmail.com (Matthew Brett)
Date: Fri, 10 Feb 2012 11:27:36 -0800
Subject: [IPython-dev] Wolfram web notebooks
Message-ID: <CAH6Pt5oTi9A2OGzGigNcznZRKrgJ_DL_Oks7M+P2yAxed=nzAg@mail.gmail.com>

Hi,

Y'all probably already know about this:

http://blog.wolframalpha.com/2012/02/08/announcing-wolframalpha-pro/

I hadn't seen it mentioned, but I'm sure y'all also saw this:

http://www.wolfram.com/cdf/
http://en.wikipedia.org/wiki/Computable_Document_Format

Best,

Matthew


From b.telenczuk at biologie.hu-berlin.de  Mon Feb 13 08:34:47 2012
From: b.telenczuk at biologie.hu-berlin.de (Bartosz Telenczuk)
Date: Mon, 13 Feb 2012 14:34:47 +0100
Subject: [IPython-dev] Wolfram web notebooks
In-Reply-To: <CAH6Pt5oTi9A2OGzGigNcznZRKrgJ_DL_Oks7M+P2yAxed=nzAg@mail.gmail.com>
References: <CAH6Pt5oTi9A2OGzGigNcznZRKrgJ_DL_Oks7M+P2yAxed=nzAg@mail.gmail.com>
Message-ID: <D7CAD41A-5E82-4B0F-A2CD-495414C41EDC@biologie.hu-berlin.de>

Thanks for the links. 

> I hadn't seen it mentioned, but I'm sure y'all also saw this:
> 
> http://www.wolfram.com/cdf/
> http://en.wikipedia.org/wiki/Computable_Document_Format

Custom plugin. Really? I hoped that these times are almost over now...

Best,

Bartosz



From jason-sage at creativetrax.com  Mon Feb 13 09:07:08 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Mon, 13 Feb 2012 08:07:08 -0600
Subject: [IPython-dev] Wolfram web notebooks
In-Reply-To: <D7CAD41A-5E82-4B0F-A2CD-495414C41EDC@biologie.hu-berlin.de>
References: <CAH6Pt5oTi9A2OGzGigNcznZRKrgJ_DL_Oks7M+P2yAxed=nzAg@mail.gmail.com>
	<D7CAD41A-5E82-4B0F-A2CD-495414C41EDC@biologie.hu-berlin.de>
Message-ID: <4F39190C.3070600@creativetrax.com>

On 2/13/12 7:34 AM, Bartosz Telenczuk wrote:
> Thanks for the links.
>
>> I hadn't seen it mentioned, but I'm sure y'all also saw this:
>>
>> http://www.wolfram.com/cdf/
>> http://en.wikipedia.org/wiki/Computable_Document_Format
>
> Custom plugin. Really? I hoped that these times are almost over now...

I guess at least one alternative for Wolfram is porting the mathematica 
kernel to javascript.  Not a very fun project, I imagine.  Or at least 
porting a significant portion of the mathematica frontend, which I 
imagine is also not a very fun project.

Jason


From b.telenczuk at biologie.hu-berlin.de  Mon Feb 13 11:27:06 2012
From: b.telenczuk at biologie.hu-berlin.de (Bartosz Telenczuk)
Date: Mon, 13 Feb 2012 17:27:06 +0100
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
Message-ID: <21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>

Very cool. I tested it with a very simple d3.js vis and it runs smoothly! Congrats!

What are your plans for the communication between the javascript and python code? Are you considering using websockets?

My idea is to implement a simple game based on d3.js in ipython notebook in which agents are controlled programmatically from Python. You can see an example session at: http://pelitaapp.appspot.com/ (it is still under development, so please be gentle ;) ).

Cheers,

Bartosz


On 07.02.2012, at 18:26, Brian Granger wrote:

> OK, here is the PR:
> 
> https://github.com/ipython/ipython/pull/1386
> 
> Please play with this and let me know where/how it is lacking.
> 
> Also, I am not yet including d3, do we want to do that?
> 
> Cheers,
> 
> Brian
> 
> On Tue, Feb 7, 2012 at 8:54 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>> How is the attached screenshot?  I will put up a branch in a second as
>> a PR.  Need to fix a few things first.
>> 
>> On Tue, Feb 7, 2012 at 7:50 AM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>>> One of my dilemma now is if I want to leverage the power of the library like d3.js, then I need a more isolated web environment like iframe or a separate window to avoid bad javascript code messing up the notebook itself.  I will look into if it is possible to use ipython notebook to create new zmq/websocket channel for such isolation.
>>> 
>>> --Jason
>>> 
>>> On Feb 7, 2012, at 3:35 AM, hugo wrote:
>>> 
>>>> when i was playing around with this, I wrote a python module which would call publish_display_data, publish_display_data sends data out over the regular ipython iopub socket. this message maps mime_types to data.  you can create your own mime type.  the ipython notebook currently handles a few different mime types, I extended the notebook code to respond to my mime type and then create the plot in the code cell.
>>>> 
>>>> On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
>>>>> Thanks.  I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>>>>> 
>>>>> Obviously, there are a lot of interesting things that one can do along this line.  Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>>>>> 
>>>>> --Jason
>>>>> 
>>>>> 
>>>>> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>>>>> 
>>>>>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>>>>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>>>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>>>>> 
>>>>>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>>>>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>>>>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>>>>>> click context menu not supported).  I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>>>>> 
>>>>>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>>>>>> user actions.
>>>>>>> 
>>>>>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>>>>>> (which seems cleaner, but also seems prone to threading issues).
>>>>>>> 
>>>>>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>>>>>> up NetworkX outputs.
>>>>>>> 
>>>>>>> --Mark
>>>>>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>>>>>> databases to a graph of inferred relationships between genes and annotations).
>>>>>> 
>>>>>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>>>>>> in chapter 17 of the SVG spec:
>>>>>>   http://www.w3.org/TR/SVG11/linking.html
>>>>>> 
>>>>>> --Mark
>>>>>> 
>>>>>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>>>>> 
>>>>>>>> Bartosz
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>>>>> 
>>>>>>>>> We would definitely like to support this but there are some technical
>>>>>>>>> problems with injecting Javascript into the page dynamically that we
>>>>>>>>> will have to work out before this is possible.
>>>>>>>>> 
>>>>>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net>  wrote:
>>>>>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser?  It that works, ipython will be a great tool for developing infovis.  Any comment on this?  I think I might try a little to whether it is feasible.  Or, is there something like that already?
>>>>>>>>>> 
>>>>>>>>>> --Jason Chin
>>>>>>>>>> _______________________________________________
>>>>>>>>>> IPython-dev mailing list
>>>>>>>>>> IPython-dev at scipy.org
>>>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> Bartosz Telenczuk
>>>>>>>> 
>>>>>>>> Institute for Theoretical Biology
>>>>>>>> Humboldt University of Berlin, Germany
>>>>>>>> Phone: +4930/2093-8838
>>>>>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> IPython-dev mailing list
>>>>>>>> IPython-dev at scipy.org
>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> IPython-dev mailing list
>>>>>>> IPython-dev at scipy.org
>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>> 
>>>>>> -------------- next part --------------
>>>>>> A non-text attachment was scrubbed...
>>>>>> Name: catalases2.svg
>>>>>> Type: image/svg+xml
>>>>>> Size: 142312 bytes
>>>>>> Desc: not available
>>>>>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>>>>> 
>>>>> _______________________________________________
>>>>> IPython-dev mailing list
>>>>> IPython-dev at scipy.org
>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>> 
>>> 
>>> _______________________________________________
>>> 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
> 
> 
> 
> -- 
> 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

Bartosz Telenczuk

Institute for Theoretical Biology
Humboldt University of Berlin, Germany
Phone: +4930/2093-8838
Homepage: http://neuroscience.telenczuk.pl



From cschin at infoecho.net  Mon Feb 13 13:34:18 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Mon, 13 Feb 2012 10:34:18 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
Message-ID: <32EC06F5-D0C6-4733-BAE8-4A58539415AE@infoecho.net>

The jsplot example is great and cool. 

Regarding bi-directional communication, I have spent my last few days understanding the websocket/zmq architecture of the ipython notebook.  Originally, I tried to see whether it is possible to build a "AuxIO" websocket-zmq bridge for bidirectional communication of javascript widgets along with the other channels.  However, I don't think I know how to do it right at this moment. In the mean time, it is fairly easy to have some independent simple websocket-zmq bridge to facilitate slightly more complicate bi-direction connections. 

As for controlling a d3.js (or other javascript libs) elements from python directly, I have been playing with displaypub.publish_javascript and display_javascript(js, raw=True) to push javascript to a display element. If I understand it correctly, the publish_javascript and display_javascript can push javascript to client immediately while the display.Javascript() only pushes if it is at the end of a cell.  Is this correct?

--Jason 

On Feb 13, 2012, at 8:27 AM, Bartosz Telenczuk wrote:

> Very cool. I tested it with a very simple d3.js vis and it runs smoothly! Congrats!
> 
> What are your plans for the communication between the javascript and python code? Are you considering using websockets?
> 
> My idea is to implement a simple game based on d3.js in ipython notebook in which agents are controlled programmatically from Python. You can see an example session at: http://pelitaapp.appspot.com/ (it is still under development, so please be gentle ;) ).
> 
> Cheers,
> 
> Bartosz
> 
> 
> On 07.02.2012, at 18:26, Brian Granger wrote:
> 
>> OK, here is the PR:
>> 
>> https://github.com/ipython/ipython/pull/1386
>> 
>> Please play with this and let me know where/how it is lacking.
>> 
>> Also, I am not yet including d3, do we want to do that?
>> 
>> Cheers,
>> 
>> Brian
>> 
>> On Tue, Feb 7, 2012 at 8:54 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>>> How is the attached screenshot?  I will put up a branch in a second as
>>> a PR.  Need to fix a few things first.
>>> 
>>> On Tue, Feb 7, 2012 at 7:50 AM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>>>> One of my dilemma now is if I want to leverage the power of the library like d3.js, then I need a more isolated web environment like iframe or a separate window to avoid bad javascript code messing up the notebook itself.  I will look into if it is possible to use ipython notebook to create new zmq/websocket channel for such isolation.
>>>> 
>>>> --Jason
>>>> 
>>>> On Feb 7, 2012, at 3:35 AM, hugo wrote:
>>>> 
>>>>> when i was playing around with this, I wrote a python module which would call publish_display_data, publish_display_data sends data out over the regular ipython iopub socket. this message maps mime_types to data.  you can create your own mime type.  the ipython notebook currently handles a few different mime types, I extended the notebook code to respond to my mime type and then create the plot in the code cell.
>>>>> 
>>>>> On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
>>>>>> Thanks.  I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>>>>>> 
>>>>>> Obviously, there are a lot of interesting things that one can do along this line.  Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>>>>>> 
>>>>>> --Jason
>>>>>> 
>>>>>> 
>>>>>> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>>>>>> 
>>>>>>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>>>>>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>>>>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>>>>>> 
>>>>>>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>>>>>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>>>>>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>>>>>>> click context menu not supported).  I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>>>>>> 
>>>>>>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>>>>>>> user actions.
>>>>>>>> 
>>>>>>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>>>>>>> (which seems cleaner, but also seems prone to threading issues).
>>>>>>>> 
>>>>>>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>>>>>>> up NetworkX outputs.
>>>>>>>> 
>>>>>>>> --Mark
>>>>>>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>>>>>>> databases to a graph of inferred relationships between genes and annotations).
>>>>>>> 
>>>>>>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>>>>>>> in chapter 17 of the SVG spec:
>>>>>>>  http://www.w3.org/TR/SVG11/linking.html
>>>>>>> 
>>>>>>> --Mark
>>>>>>> 
>>>>>>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>>>>>> 
>>>>>>>>> Bartosz
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>>>>>> 
>>>>>>>>>> We would definitely like to support this but there are some technical
>>>>>>>>>> problems with injecting Javascript into the page dynamically that we
>>>>>>>>>> will have to work out before this is possible.
>>>>>>>>>> 
>>>>>>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net>  wrote:
>>>>>>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser?  It that works, ipython will be a great tool for developing infovis.  Any comment on this?  I think I might try a little to whether it is feasible.  Or, is there something like that already?
>>>>>>>>>>> 
>>>>>>>>>>> --Jason Chin
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> IPython-dev mailing list
>>>>>>>>>>> IPython-dev at scipy.org
>>>>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> Bartosz Telenczuk
>>>>>>>>> 
>>>>>>>>> Institute for Theoretical Biology
>>>>>>>>> Humboldt University of Berlin, Germany
>>>>>>>>> Phone: +4930/2093-8838
>>>>>>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> IPython-dev mailing list
>>>>>>>>> IPython-dev at scipy.org
>>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> IPython-dev mailing list
>>>>>>>> IPython-dev at scipy.org
>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>> 
>>>>>>> -------------- next part --------------
>>>>>>> A non-text attachment was scrubbed...
>>>>>>> Name: catalases2.svg
>>>>>>> Type: image/svg+xml
>>>>>>> Size: 142312 bytes
>>>>>>> Desc: not available
>>>>>>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>>>>>> 
>>>>>> _______________________________________________
>>>>>> IPython-dev mailing list
>>>>>> IPython-dev at scipy.org
>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> 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
>> 
>> 
>> 
>> -- 
>> 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
> 
> Bartosz Telenczuk
> 
> Institute for Theoretical Biology
> Humboldt University of Berlin, Germany
> Phone: +4930/2093-8838
> Homepage: http://neuroscience.telenczuk.pl
> 



From hugo at continuum.io  Mon Feb 13 13:42:09 2012
From: hugo at continuum.io (hugo)
Date: Mon, 13 Feb 2012 13:42:09 -0500
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <32EC06F5-D0C6-4733-BAE8-4A58539415AE@infoecho.net>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<32EC06F5-D0C6-4733-BAE8-4A58539415AE@infoecho.net>
Message-ID: <4F395981.4080607@continuum.io>

On 02/13/2012 01:34 PM, Chen-Shan Chin wrote:
> The jsplot example is great and cool.
>
> Regarding bi-directional communication, I have spent my last few days understanding the websocket/zmq architecture of the ipython notebook.  Originally, I tried to see whether it is possible to build a "AuxIO" websocket-zmq bridge for bidirectional communication of javascript widgets along with the other channels.  However, I don't think I know how to do it right at this moment. In the mean time, it is fairly easy to have some independent simple websocket-zmq bridge to facilitate slightly more complicate bi-direction connections.
>
> As for controlling a d3.js (or other javascript libs) elements from python directly, I have been playing with displaypub.publish_javascript and display_javascript(js, raw=True) to push javascript to a display element. If I understand it correctly, the publish_javascript and display_javascript can push javascript to client immediately while the display.Javascript() only pushes if it is at the end of a cell.  Is this correct?
>
> --Jason
>
>

regarding websocket zmq bridges, I wrote one that I've been using, it 
only supports REQ and SUB style communications on the JS side though.

https://github.com/hhuuggoo/ZmqWebBridge

this guy has one over stomp that is a bit more general but I haven't had 
time to look at it yet.

https://github.com/progrium/nullmq
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120213/e0df5bad/attachment.html>

From jason-sage at creativetrax.com  Mon Feb 13 13:44:27 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Mon, 13 Feb 2012 12:44:27 -0600
Subject: [IPython-dev] Using Google App Engine channels instead of zmq in
	new IPython
Message-ID: <4F395A0B.9050609@creativetrax.com>

Over the Sage camp, we're starting to experiment with using Google App 
Engine to manage communication between browser frontends and worker 
(kernel) backends.  The idea is to use GAE to host the notebook, while 
browsers and backend kernels communicate to send and retrieve work and 
results through the Google App Engine "channel" architecture [1].  The 
result would be a massively more scalable notebook running in the cloud.

We'd (or at least I'd) also like to eventually switch to IPython 0.12, 
and try to leverage the new IPython architecture and communication in 
the Sage notebook.  So my question is: how well is the zmq parts 
encapsulated, and do you think it would be hard to write a google app 
engine "channel"-based solution that plugs in the place of the zmq 
communication (and websocket for the html notebook) communication?

I've CCd both the ipython list and the sage-notebook list---hopefully 
the discussion can be carried on both lists.  Also a disclaimer: I have 
about zero experience with GAE; I'm just trying to throw the idea out 
there and understand a little more about the possible work required.

Thanks,

Jason


[1] http://code.google.com/appengine/docs/python/channel/



From benjaminrk at gmail.com  Mon Feb 13 14:15:46 2012
From: benjaminrk at gmail.com (MinRK)
Date: Mon, 13 Feb 2012 11:15:46 -0800
Subject: [IPython-dev] Using Google App Engine channels instead of zmq
 in new IPython
In-Reply-To: <4F395A0B.9050609@creativetrax.com>
References: <4F395A0B.9050609@creativetrax.com>
Message-ID: <CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>

On Mon, Feb 13, 2012 at 10:44, Jason Grout <jason-sage at creativetrax.com>wrote:

> Over the Sage camp, we're starting to experiment with using Google App
> Engine to manage communication between browser frontends and worker
> (kernel) backends.  The idea is to use GAE to host the notebook, while
> browsers and backend kernels communicate to send and retrieve work and
> results through the Google App Engine "channel" architecture [1].  The
> result would be a massively more scalable notebook running in the cloud.
>

Scalability / Cloud are great, and certainly an ultimate goal, but my
perspective is that if replacing zmq is part of the GAE solution, then it
is just not the place for IPython.



>
> We'd (or at least I'd) also like to eventually switch to IPython 0.12,
> and try to leverage the new IPython architecture and communication in
> the Sage notebook.  So my question is: how well is the zmq parts
> encapsulated, and do you think it would be hard to write a google app
> engine "channel"-based solution that plugs in the place of the zmq
> communication (and websocket for the html notebook) communication?
>

zmq is used principally in two places:

* The Session object, which abstracts network communication.  You would
have to write a new version of this object
* The event/polling loops everywhere (specifically Kernel, KernelManager,
NotebookApp).  If GoogleAppEngine channels can be made to work with the
tornado IOLoop, then this shouldn't be too tricky.  Otherwise, you would
have to rewrite the eventloop of every application/thread we have.

-MinRK


> I've CCd both the ipython list and the sage-notebook list---hopefully
> the discussion can be carried on both lists.  Also a disclaimer: I have
> about zero experience with GAE; I'm just trying to throw the idea out
> there and understand a little more about the possible work required.
>

> Thanks,
>
> Jason
>
>
> [1] http://code.google.com/appengine/docs/python/channel/
>
> _______________________________________________
> 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/20120213/e085d808/attachment.html>

From fperez.net at gmail.com  Mon Feb 13 16:55:45 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 13 Feb 2012 13:55:45 -0800
Subject: [IPython-dev] Discussion with Guido van Rossum and (hopefully) core
 python-dev on scientific Python and Python3
Message-ID: <CAHAreOrWczOVZ7fR-WazzTSuzXJqiyk-CCotOdhMR53AY0tzJA@mail.gmail.com>

Hi folks,

[ I'm broadcasting this widely for maximum reach, but I'd appreciate
it if replies can be kept to the *numpy* list, which is sort of the
'base' list for scientific/numerical work.  It will make it much
easier to organize a coherent set of notes later on.  Apology if
you're subscribed to all and get it 10 times. ]

As part of the PyData workshop (http://pydataworkshop.eventbrite.com)
to be held March 2 and 3 at the Mountain View Google offices, we have
scheduled a session for an open discussion with Guido van Rossum and
hopefully as many core python-dev members who can make it.  We wanted
to seize the combined opportunity of the PyData workshop bringing a
number of 'scipy people' to Google with the timeline for Python 3.3,
the first release after the Python language moratorium, being within
sight: http://www.python.org/dev/peps/pep-0398.

While a number of scientific Python packages are already available for
Python 3 (either in released form or in their master git branches),
it's fair to say that there hasn't been a major transition of the
scientific community to Python3.  Since there is no more development
being done on the Python2 series, eventually we will all want to find
ways to make this transition, and we think that this is an excellent
time to engage the core python development team and consider ideas
that would make Python3 generally a more appealing language for
scientific work.  Guido has made it clear that he doesn't speak for
the day-to-day development of Python anymore, so we all should be
aware that any ideas that come out of this panel will still need to be
discussed with python-dev itself via standard mechanisms before
anything is implemented.  Nonetheless, the opportunity for a solid
face-to-face dialog for brainstorming was too good to pass up.

The purpose of this email is then to solicit, from all of our
community, ideas for this discussion.  In a week or so we'll need to
summarize the main points brought up here and make a more concrete
agenda out of it; I will also post a summary of the meeting afterwards
here.

Anything is a valid topic, some points just to get the conversation started:

- Extra operators/PEP 225.  Here's a summary from the last time we
went over this, years ago at Scipy 2008:
http://mail.scipy.org/pipermail/numpy-discussion/2008-October/038234.html,
and the current status of the document we wrote about it is here:
file:///home/fperez/www/site/_build/html/py4science/numpy-pep225/numpy-pep225.html.

- Improved syntax/support for rationals or decimal literals?  While
Python now has both decimals
(http://docs.python.org/library/decimal.html) and rationals
(http://docs.python.org/library/fractions.html), they're quite clunky
to use because they require full constructor calls.  Guido has
mentioned in previous discussions toying with ideas about support for
different kinds of numeric literals...

- Using the numpy docstring standard python-wide, and thus having
python improve the pathetic state of the stdlib's docstrings?  This is
an area where our community is light years ahead of the standard
library, but we'd all benefit from Python itself improving on this
front.  I'm toying with the idea of giving a lighting talk at PyConn
about this, comparing the great, robust culture and tools of good
docstrings across the Scipy ecosystem with the sad, sad state of
docstrings in the stdlib.  It might spur some movement on that front
from the stdlib authors, esp. if the core python-dev team realizes the
value and benefit it can bring (at relatively low cost, given how most
of the information does exist, it's just in the wrong places).  But
more importantly for us, if there was truly a universal standard for
high-quality docstrings across Python projects, building good
documentation/help machinery would be a lot easier, as we'd know what
to expect and search for (such as rendering them nicely in the ipython
notebook, providing high-quality cross-project help search, etc).

- Literal syntax for arrays?  Sage has been floating a discussion
about a literal matrix syntax
(https://groups.google.com/forum/#!topic/sage-devel/mzwepqZBHnA).  For
something like this to go into python in any meaningful way there
would have to be core multidimensional arrays in the language, but
perhaps it's time to think about a piece of the numpy array itself
into Python?  This is one of the more 'out there' ideas, but after
all, that's the point of a discussion like this, especially
considering we'll have both Travis and Guido in one room.

- Other syntactic sugar? Sage has "a..b" <=> range(a, b+1), which I
actually think is  both nice and useful... There's also the question
of allowing "a:b:c" notation outside of [], which has come up a few
times in conversation over the last few years. Others?

- The packaging quagmire?  This continues to be a problem, though
python3 does have new improvements to distutils.  I'm not really up to
speed on the situation, to be frank.  If we want to bring this up,
someone will have to provide a solid reference or volunteer to do it
in person.

- etc...

I'm putting the above just to *start* the discussion, but the real
point is for the rest of the community to contribute ideas, so don't
be shy.

Final note: while I am here commiting to organizing and presenting
this at the discussion with Guido (as well as contacting python-dev),
I would greatly appreciate help with the task of summarizing this
prior to the meeting as I'm pretty badly swamped in the run-in to
pydata/pycon.  So if anyone is willing to help draft the summary as
the date draws closer (we can put it up on a github wiki, gist,
whatever), I will be very grateful.  I'm sure it will be better than
what I'll otherwise do the last night at 2am :)

Cheers,

f

ps - to the obvious question about webcasting the discussion live for
remote participation: yes, we looked into it already; no,
unfortunately it appears it won't be possible.  We'll try to at least
have the audio recorded (and possibly video) for posting later on.

pps- if you are close to Mountain View and are interested in attending
this panel in person, drop me a line at fernando.perez at berkeley.edu.
We have a few spots available *for this discussion only* on top of the
pydata regular attendance (which is long closed, I'm afraid).  But
we'll need to provide Google with a list of those attendees in
advance.  Please indicate if you are a core python committer in your
email, as we'll give priority for this overflow pool to core python
developers (but will otherwise accommodate as many people as Google
lets us).


From ellisonbg at gmail.com  Mon Feb 13 17:32:12 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 13 Feb 2012 14:32:12 -0800
Subject: [IPython-dev] Using Google App Engine channels instead of zmq
 in new IPython
In-Reply-To: <CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>
References: <4F395A0B.9050609@creativetrax.com>
	<CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>
Message-ID: <CAH4pYpSm167RRkTFWJHFhwemQ1iWYWqQsVFhXc9JMpwtDizXQQ@mail.gmail.com>

At this point, ZeroMQ is not a minor implementation detail of IPython,
it is really our secret sauce.  ZeroMQ has abstractions, such as
queues and messaging patterns, that go beyond simple point to point
messaging and we rely on those throughout the code base.  I don't see
how ZeroMQ could be replaced without rewriting good parts of IPython.
I do think some of the patterns we use could be adapted for use in GAE
though - such as our message protocol.

On Mon, Feb 13, 2012 at 11:15 AM, MinRK <benjaminrk at gmail.com> wrote:
> On Mon, Feb 13, 2012 at 10:44, Jason Grout <jason-sage at creativetrax.com>
> wrote:
>>
>> Over the Sage camp, we're starting to experiment with using Google App
>> Engine to manage communication between browser frontends and worker
>> (kernel) backends. ?The idea is to use GAE to host the notebook, while
>> browsers and backend kernels communicate to send and retrieve work and
>> results through the Google App Engine "channel" architecture [1]. ?The
>> result would be a massively more scalable notebook running in the cloud.
>
>
> Scalability / Cloud are great, and certainly an ultimate goal, but my
> perspective is that if replacing zmq is part of the GAE solution, then it is
> just not the place for IPython.
>
>
>>
>>
>> We'd (or at least I'd) also like to eventually switch to IPython 0.12,
>> and try to leverage the new IPython architecture and communication in
>> the Sage notebook. ?So my question is: how well is the zmq parts
>> encapsulated, and do you think it would be hard to write a google app
>> engine "channel"-based solution that plugs in the place of the zmq
>> communication (and websocket for the html notebook) communication?
>
>
> zmq is used principally in two places:
>
> * The Session object, which abstracts network communication. ?You would have
> to write a new version of this object
> * The event/polling loops everywhere (specifically Kernel, KernelManager,
> NotebookApp). ?If GoogleAppEngine channels can be made to work with the
> tornado IOLoop, then this shouldn't be too tricky. ?Otherwise, you would
> have to rewrite the eventloop of every application/thread we have.
>
> -MinRK
>
>>
>> I've CCd both the ipython list and the sage-notebook list---hopefully
>> the discussion can be carried on both lists. ?Also a disclaimer: I have
>> about zero experience with GAE; I'm just trying to throw the idea out
>> there and understand a little more about the possible work required.
>>
>>
>> Thanks,
>>
>> Jason
>>
>>
>> [1] http://code.google.com/appengine/docs/python/channel/
>>
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
>
> _______________________________________________
> 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


From ellisonbg at gmail.com  Mon Feb 13 17:34:16 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 13 Feb 2012 14:34:16 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
Message-ID: <CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>

We already have WebSocket based channels that the notebook uses to
talk between the Javascript and Python code running in the kernel.
While it needs to be refactored, all of that infrastructure is already
setup and doesn't need to be reinvented.

On Mon, Feb 13, 2012 at 8:27 AM, Bartosz Telenczuk
<b.telenczuk at biologie.hu-berlin.de> wrote:
> Very cool. I tested it with a very simple d3.js vis and it runs smoothly! Congrats!
>
> What are your plans for the communication between the javascript and python code? Are you considering using websockets?
>
> My idea is to implement a simple game based on d3.js in ipython notebook in which agents are controlled programmatically from Python. You can see an example session at: http://pelitaapp.appspot.com/ (it is still under development, so please be gentle ;) ).
>
> Cheers,
>
> Bartosz
>
>
> On 07.02.2012, at 18:26, Brian Granger wrote:
>
>> OK, here is the PR:
>>
>> https://github.com/ipython/ipython/pull/1386
>>
>> Please play with this and let me know where/how it is lacking.
>>
>> Also, I am not yet including d3, do we want to do that?
>>
>> Cheers,
>>
>> Brian
>>
>> On Tue, Feb 7, 2012 at 8:54 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>>> How is the attached screenshot? ?I will put up a branch in a second as
>>> a PR. ?Need to fix a few things first.
>>>
>>> On Tue, Feb 7, 2012 at 7:50 AM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>>>> One of my dilemma now is if I want to leverage the power of the library like d3.js, then I need a more isolated web environment like iframe or a separate window to avoid bad javascript code messing up the notebook itself. ?I will look into if it is possible to use ipython notebook to create new zmq/websocket channel for such isolation.
>>>>
>>>> --Jason
>>>>
>>>> On Feb 7, 2012, at 3:35 AM, hugo wrote:
>>>>
>>>>> when i was playing around with this, I wrote a python module which would call publish_display_data, publish_display_data sends data out over the regular ipython iopub socket. this message maps mime_types to data. ?you can create your own mime type. ?the ipython notebook currently handles a few different mime types, I extended the notebook code to respond to my mime type and then create the plot in the code cell.
>>>>>
>>>>> On 02/07/2012 02:17 AM, Chen-Shan Chin wrote:
>>>>>> Thanks. ?I have been playing around a number of ideas. I get to the stage that I can write d3.js + python script within the python notebook web interface and send the script through a zmq / websocket server to an IFRAME or a new browser window/tab. I put my preliminary results and some simple instruction at https://github.com/cschin/IPython-Notebook---d3.js-mashup
>>>>>>
>>>>>> Obviously, there are a lot of interesting things that one can do along this line. ?Using an iframe / new browser might not be ideal. The extra zmq/websocket server is also not pretty. Any suggestions?
>>>>>>
>>>>>> --Jason
>>>>>>
>>>>>>
>>>>>> On Jan 27, 2012, at 2:19 PM, Mark Voorhies wrote:
>>>>>>
>>>>>>> On Friday, January 27, 2012 02:07:38 pm Mark Voorhies wrote:
>>>>>>>> On Friday, January 27, 2012 01:35:04 pm Bartosz Telenczuk wrote:
>>>>>>>>> I completely agree, it would be really nice to enable user interaction with the plots in notebooks. If I am not mistaken, Sage has also a similar feature.
>>>>>>>>>
>>>>>>>>> I have played with dynamic plots in ipython notebook a bit. The idea is that I add some javascript to SVG generated from matlplotlib (based on an example from matplotlib website). It works well for me (in Firefox and Chrome), but the limitation is that currently one cannot feed the data based on user interaction back to the interpreter.
>>>>>>>> SVG supports links on elements by putting them inside an anchor element with an xlink:href attribute.
>>>>>>>> Firefox supports this (left click to open link in current tab, middle click to open link in new tab, right
>>>>>>>> click context menu not supported). ?I haven't tested in Chrome, but it is supported in old versions of webkit.
>>>>>>>>
>>>>>>>> So, a baroque feedback strategy would be to make localhost GET requests via these links to communicate
>>>>>>>> user actions.
>>>>>>>>
>>>>>>>> Not sure if the links should point at the tornado instance running the notebook or at a separate server instance
>>>>>>>> (which seems cleaner, but also seems prone to threading issues).
>>>>>>>>
>>>>>>>> Haven't actually tried this yet, but I've been playing quite a bit with xlink:href and xlink:title in SVG to mark
>>>>>>>> up NetworkX outputs.
>>>>>>>>
>>>>>>>> --Mark
>>>>>>> Here (attached) is an example of xlink:href/xlink:title in an SVG (in this case, linking some gene annotation
>>>>>>> databases to a graph of inferred relationships between genes and annotations).
>>>>>>>
>>>>>>> There is a nice description of SVG linking (including links to an element within an SVG with optional transformation)
>>>>>>> in chapter 17 of the SVG spec:
>>>>>>> ? http://www.w3.org/TR/SVG11/linking.html
>>>>>>>
>>>>>>> --Mark
>>>>>>>
>>>>>>>>> I attach my sample notebook for testting (when you click on one of text(!) labels: 'rabbit' or 'frog' some bars should disappear)
>>>>>>>>>
>>>>>>>>> Bartosz
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 27.01.2012, at 18:34, Brian Granger wrote:
>>>>>>>>>
>>>>>>>>>> We would definitely like to support this but there are some technical
>>>>>>>>>> problems with injecting Javascript into the page dynamically that we
>>>>>>>>>> will have to work out before this is possible.
>>>>>>>>>>
>>>>>>>>>> On Thu, Jan 26, 2012 at 11:09 PM, Chen-Shan Chin<cschin at infoecho.net> ?wrote:
>>>>>>>>>>> Hi, All, is it possible to let the backend python process to talk with some good javascript based visualization library running on a browser? ?It that works, ipython will be a great tool for developing infovis. ?Any comment on this? ?I think I might try a little to whether it is feasible. ?Or, is there something like that already?
>>>>>>>>>>>
>>>>>>>>>>> --Jason Chin
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> IPython-dev mailing list
>>>>>>>>>>> IPython-dev at scipy.org
>>>>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> Bartosz Telenczuk
>>>>>>>>>
>>>>>>>>> Institute for Theoretical Biology
>>>>>>>>> Humboldt University of Berlin, Germany
>>>>>>>>> Phone: +4930/2093-8838
>>>>>>>>> Homepage: http://neuroscience.telenczuk.pl
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> IPython-dev mailing list
>>>>>>>>> IPython-dev at scipy.org
>>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> IPython-dev mailing list
>>>>>>>> IPython-dev at scipy.org
>>>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>>>>
>>>>>>> -------------- next part --------------
>>>>>>> A non-text attachment was scrubbed...
>>>>>>> Name: catalases2.svg
>>>>>>> Type: image/svg+xml
>>>>>>> Size: 142312 bytes
>>>>>>> Desc: not available
>>>>>>> Url : http://mail.scipy.org/pipermail/ipython-dev/attachments/20120127/ca611993/attachment.bin
>>>>>>>
>>>>>> _______________________________________________
>>>>>> IPython-dev mailing list
>>>>>> IPython-dev at scipy.org
>>>>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>>
>>
>> --
>> 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
>
> Bartosz Telenczuk
>
> Institute for Theoretical Biology
> Humboldt University of Berlin, Germany
> Phone: +4930/2093-8838
> Homepage: http://neuroscience.telenczuk.pl
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From fperez.net at gmail.com  Mon Feb 13 17:48:16 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 13 Feb 2012 14:48:16 -0800
Subject: [IPython-dev] Using Google App Engine channels instead of zmq
 in new IPython
In-Reply-To: <CAH4pYpSm167RRkTFWJHFhwemQ1iWYWqQsVFhXc9JMpwtDizXQQ@mail.gmail.com>
References: <4F395A0B.9050609@creativetrax.com>
	<CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>
	<CAH4pYpSm167RRkTFWJHFhwemQ1iWYWqQsVFhXc9JMpwtDizXQQ@mail.gmail.com>
Message-ID: <CAHAreOoRoLiaj6-gU1Nqwny-Rq5EwNZ6iDz0vs6EjC8P_LpBxg@mail.gmail.com>

On Mon, Feb 13, 2012 at 2:32 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> At this point, ZeroMQ is not a minor implementation detail of IPython,
> it is really our secret sauce. ?ZeroMQ has abstractions, such as
> queues and messaging patterns, that go beyond simple point to point
> messaging and we rely on those throughout the code base. ?I don't see
> how ZeroMQ could be replaced without rewriting good parts of IPython.

Very true.  Furthermore, we are working on integrating more and more
the code that runs a single interactive kernel with that used by
engines in a parallel setting, to make use of the parallel tools more
seamless with the rest of our clients (notebook, qt console, etc).
And the parallel code is pretty much unthinkable without zeromq, as
this diagram should make fairly clear:

http://ipython.org/ipython-doc/dev/development/parallel_connections.html

So I concur with Brian, that pulling zmq out of ipython is probably
not a very realistic goal, and at least it's not one that we have in
our radar to commit any effort towards.  Obviously the code is all
there, and if you find ways of using IPython successfully for Sage
without zmq, that's great.  I just think that from our side, there
won't be work put in that direction, given how many other things are
on our plate and how much we continue to build *upon* zmq rather than
wanting to move away from it.

Cheers,

f


From jason-sage at creativetrax.com  Mon Feb 13 18:01:17 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Mon, 13 Feb 2012 17:01:17 -0600
Subject: [IPython-dev] [sage-notebook] Re: Using Google App Engine
 channels instead of zmq in new IPython
In-Reply-To: <CAHAreOoRoLiaj6-gU1Nqwny-Rq5EwNZ6iDz0vs6EjC8P_LpBxg@mail.gmail.com>
References: <4F395A0B.9050609@creativetrax.com>
	<CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>
	<CAH4pYpSm167RRkTFWJHFhwemQ1iWYWqQsVFhXc9JMpwtDizXQQ@mail.gmail.com>
	<CAHAreOoRoLiaj6-gU1Nqwny-Rq5EwNZ6iDz0vs6EjC8P_LpBxg@mail.gmail.com>
Message-ID: <4F39963D.8070903@creativetrax.com>

On 2/13/12 4:48 PM, Fernando Perez wrote:
> On Mon, Feb 13, 2012 at 2:32 PM, Brian Granger<ellisonbg at gmail.com>  wrote:
>> At this point, ZeroMQ is not a minor implementation detail of IPython,
>> it is really our secret sauce.  ZeroMQ has abstractions, such as
>> queues and messaging patterns, that go beyond simple point to point
>> messaging and we rely on those throughout the code base.  I don't see
>> how ZeroMQ could be replaced without rewriting good parts of IPython.
>
> Very true.  Furthermore, we are working on integrating more and more
> the code that runs a single interactive kernel with that used by
> engines in a parallel setting, to make use of the parallel tools more
> seamless with the rest of our clients (notebook, qt console, etc).
> And the parallel code is pretty much unthinkable without zeromq, as
> this diagram should make fairly clear:
>
> http://ipython.org/ipython-doc/dev/development/parallel_connections.html

Those are some very nice diagrams!


>
> So I concur with Brian, that pulling zmq out of ipython is probably
> not a very realistic goal, and at least it's not one that we have in
> our radar to commit any effort towards.  Obviously the code is all
> there, and if you find ways of using IPython successfully for Sage
> without zmq, that's great.  I just think that from our side, there
> won't be work put in that direction, given how many other things are
> on our plate and how much we continue to build *upon* zmq rather than
> wanting to move away from it.

Thanks for the feedback.  We already have a websocket<->zmq bridge, 
right?  I think now that GAE channels could basically replace the 
websocket portion.  I assume that would be much easier?  So the basic 
architecture would be:

browser <-GAE channel-> Sage server on GAE <-GAE channel-> (bridge 
<-ZMQ-> IPython kernel)

where the part in parentheses would be the worker running on a compute 
server, and the shim is the bridge between GAE channels and zmq.  Does 
that seem more reasonable?  What does the architecture of your websocket 
bridge look like?

Thanks,

Jason


From fperez.net at gmail.com  Mon Feb 13 18:08:15 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 13 Feb 2012 15:08:15 -0800
Subject: [IPython-dev] [sage-notebook] Re: Using Google App Engine
 channels instead of zmq in new IPython
In-Reply-To: <4F39963D.8070903@creativetrax.com>
References: <4F395A0B.9050609@creativetrax.com>
	<CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>
	<CAH4pYpSm167RRkTFWJHFhwemQ1iWYWqQsVFhXc9JMpwtDizXQQ@mail.gmail.com>
	<CAHAreOoRoLiaj6-gU1Nqwny-Rq5EwNZ6iDz0vs6EjC8P_LpBxg@mail.gmail.com>
	<4F39963D.8070903@creativetrax.com>
Message-ID: <CAHAreOqGVj+-N4Eefo1_uK3rX_Nw+Y93rrTC+jsV1TtPAA+sLQ@mail.gmail.com>

On Mon, Feb 13, 2012 at 3:01 PM, Jason Grout
<jason-sage at creativetrax.com> wrote:
>
> Those are some very nice diagrams!

Indeed, all the credit goes to Min.

> Thanks for the feedback. ?We already have a websocket<->zmq bridge, right?
> ?I think now that GAE channels could basically replace the websocket
> portion. ?I assume that would be much easier? ?So the basic architecture
> would be:
>
> browser <-GAE channel-> Sage server on GAE <-GAE channel-> (bridge <-ZMQ->
> IPython kernel)
>
> where the part in parentheses would be the worker running on a compute
> server, and the shim is the bridge between GAE channels and zmq. ?Does that
> seem more reasonable? ?What does the architecture of your websocket bridge
> look like?

That's the part we use tornado for, so indeed if you wanted to go this
route but run on GAE instead, you could replace our tornado-using code
as indicated in your ascii-diagram above.  The code that does this is
mostly in the various modules here:

https://github.com/ipython/ipython/tree/master/IPython/frontend/html/notebook

That directory is the only part of IPython that uses tornado, which is
effectively what you're talking about replacing.

Cheers,

f


From benjaminrk at gmail.com  Mon Feb 13 18:22:07 2012
From: benjaminrk at gmail.com (MinRK)
Date: Mon, 13 Feb 2012 15:22:07 -0800
Subject: [IPython-dev] [sage-notebook] Re: Using Google App Engine
 channels instead of zmq in new IPython
In-Reply-To: <CAHAreOqGVj+-N4Eefo1_uK3rX_Nw+Y93rrTC+jsV1TtPAA+sLQ@mail.gmail.com>
References: <4F395A0B.9050609@creativetrax.com>
	<CAHNn8BX3=T4ppXfXRmRqanU1pA86psPkEXNdEHJe=4gione7qw@mail.gmail.com>
	<CAH4pYpSm167RRkTFWJHFhwemQ1iWYWqQsVFhXc9JMpwtDizXQQ@mail.gmail.com>
	<CAHAreOoRoLiaj6-gU1Nqwny-Rq5EwNZ6iDz0vs6EjC8P_LpBxg@mail.gmail.com>
	<4F39963D.8070903@creativetrax.com>
	<CAHAreOqGVj+-N4Eefo1_uK3rX_Nw+Y93rrTC+jsV1TtPAA+sLQ@mail.gmail.com>
Message-ID: <CAHNn8BX8EbYMPbUHRW3D3FHr2aPx21Yqz0xM5nyGH7Jy2AB4-A@mail.gmail.com>

On Mon, Feb 13, 2012 at 15:08, Fernando Perez <fperez.net at gmail.com> wrote:

> On Mon, Feb 13, 2012 at 3:01 PM, Jason Grout
> <jason-sage at creativetrax.com> wrote:
> >
> > Those are some very nice diagrams!
>
> Indeed, all the credit goes to Min.
>
> > Thanks for the feedback.  We already have a websocket<->zmq bridge,
> right?
> >  I think now that GAE channels could basically replace the websocket
> > portion.  I assume that would be much easier?
>

Yes, that would be much simpler, and the websocket:zmq layer is *extremely*
simple, as should a similar translation to any other messaging system.


>  So the basic architecture
> > would be:
> >
> > browser <-GAE channel-> Sage server on GAE <-GAE channel-> (bridge
> <-ZMQ->
> > IPython kernel)
> >
> > where the part in parentheses would be the worker running on a compute
> > server, and the shim is the bridge between GAE channels and zmq.  Does
> that
> > seem more reasonable?  What does the architecture of your websocket
> bridge
> > look like?
>
> That's the part we use tornado for, so indeed if you wanted to go this
> route but run on GAE instead, you could replace our tornado-using code
> as indicated in your ascii-diagram above.  The code that does this is
> mostly in the various modules here:
>
>
> https://github.com/ipython/ipython/tree/master/IPython/frontend/html/notebook
>
> That directory is the only part of IPython that uses tornado, which is
> effectively what you're talking about replacing.
>

True, but the architecture differs in that what is currently the
tornado-based NotebookApp covers everything from the browser to the zmq
side of the gae:zmq bridge.  So there would have to be some work
duplication/proxying for the KernelManagers, which talk zmq to the kernels,
and would be separated from server code by an additional GAE layer in this
pattern.


>
> Cheers,
>
> f
> _______________________________________________
> 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/20120213/80d851b5/attachment.html>

From hugo at continuum.io  Mon Feb 13 18:26:51 2012
From: hugo at continuum.io (Hugo)
Date: Mon, 13 Feb 2012 18:26:51 -0500
Subject: [IPython-dev]
	=?utf-8?q?Using_Google_App_Engine_channels_instead_?=
	=?utf-8?q?of_zmq_in=09new_IPython?=
In-Reply-To: <4F395A0B.9050609@creativetrax.com>
References: <4F395A0B.9050609@creativetrax.com>
Message-ID: <9d4cb5b5-542d-495e-ba37-dfa1bb55b07a@email.android.com>



just curious, why GAE over somethying like ec2 where you get full control?  Zmq should be plenty scalable.


Jason Grout <jason-sage at creativetrax.com> wrote:

>Over the Sage camp, we're starting to experiment with using Google App 
>Engine to manage communication between browser frontends and worker 
>(kernel) backends.  The idea is to use GAE to host the notebook, while 
>browsers and backend kernels communicate to send and retrieve work and 
>results through the Google App Engine "channel" architecture [1].  The 
>result would be a massively more scalable notebook running in the
>cloud.
>
>We'd (or at least I'd) also like to eventually switch to IPython 0.12, 
>and try to leverage the new IPython architecture and communication in 
>the Sage notebook.  So my question is: how well is the zmq parts 
>encapsulated, and do you think it would be hard to write a google app 
>engine "channel"-based solution that plugs in the place of the zmq 
>communication (and websocket for the html notebook) communication?
>
>I've CCd both the ipython list and the sage-notebook list---hopefully 
>the discussion can be carried on both lists.  Also a disclaimer: I have
>
>about zero experience with GAE; I'm just trying to throw the idea out 
>there and understand a little more about the possible work required.
>
>Thanks,
>
>Jason
>
>
>[1] http://code.google.com/appengine/docs/python/channel/
>
>_______________________________________________
>IPython-dev mailing list
>IPython-dev at scipy.org
>http://mail.scipy.org/mailman/listinfo/ipython-dev

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.


From cschin at infoecho.net  Mon Feb 13 19:03:34 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Mon, 13 Feb 2012 16:03:34 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
Message-ID: <824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>

Yes. It will nice to use the  ipython architecture for interactive stuff.  Let's say if I create a javascript widget, and I want to send the event to a user defined function/method, what is the best way to do that?   What I think is to have a auxiliary websocket-zmq bridge for this purpose.  Does it make sense?


On Feb 13, 2012, at 2:34 PM, Brian Granger wrote:

> We already have WebSocket based channels that the notebook uses to
> talk between the Javascript and Python code running in the kernel.
> While it needs to be refactored, all of that infrastructure is already
> setup and doesn't need to be reinvented.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120213/888341a4/attachment.html>

From ellisonbg at gmail.com  Mon Feb 13 20:09:16 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 13 Feb 2012 17:09:16 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
	<824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>
Message-ID: <CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>

I don't think you need to add an additional WebSocket channel for any
purpose.  Of course your Javascript widgets are free to talk to *any*
WebSocket server in the world, including a modified IPython notebook
server.  But as long as you want to talk to your Python code in the
backend, you should just use our existing channels.

On Mon, Feb 13, 2012 at 4:03 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
> Yes. It will nice to use the??ipython architecture for interactive
> stuff.??Let's say if I create a javascript widget, and I want to send the
> event to a user defined function/method, what is the best way to do that?
> What I think is to have a auxiliary websocket-zmq bridge for this purpose.
> ?Does it make sense?
>
>
> On Feb 13, 2012, at 2:34 PM, Brian Granger wrote:
>
> We already have WebSocket based channels that the notebook uses to
> talk between the Javascript and Python code running in the kernel.
> While it needs to be refactored, all of that infrastructure is already
> setup and doesn't need to be reinvented.
>
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From cschin at infoecho.net  Mon Feb 13 20:36:44 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Mon, 13 Feb 2012 17:36:44 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
	<824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>
	<CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
Message-ID: <41A88E86-734E-4A18-A786-E1EC00B0CAD7@infoecho.net>

According this page, http://ipython.org/ipython-doc/stable/development/messaging.html
Most of the default channels are used by the kernel for particular purpose.  Are you suggesting to overload the shell sockets for extra communication? If so, I can look into how to do that.


On Feb 13, 2012, at 5:09 PM, Brian Granger wrote:

> I don't think you need to add an additional WebSocket channel for any
> purpose.  Of course your Javascript widgets are free to talk to *any*
> WebSocket server in the world, including a modified IPython notebook
> server.  But as long as you want to talk to your Python code in the
> backend, you should just use our existing channels.
> 
> On Mon, Feb 13, 2012 at 4:03 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>> Yes. It will nice to use the  ipython architecture for interactive
>> stuff.  Let's say if I create a javascript widget, and I want to send the
>> event to a user defined function/method, what is the best way to do that?
>> What I think is to have a auxiliary websocket-zmq bridge for this purpose.
>>  Does it make sense?
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120213/fd5b2f05/attachment.html>

From cschin at infoecho.net  Mon Feb 13 20:50:30 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Mon, 13 Feb 2012 17:50:30 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
	<824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>
	<CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
Message-ID: <7B24A9B6-7EE3-4793-8494-4DFB49FE8CE0@infoecho.net>

I think I get it. I will try something out. Thanks.

--Jason

On Feb 13, 2012, at 5:09 PM, Brian Granger wrote:

> I don't think you need to add an additional WebSocket channel for any
> purpose.  Of course your Javascript widgets are free to talk to *any*
> WebSocket server in the world, including a modified IPython notebook
> server.  But as long as you want to talk to your Python code in the
> backend, you should just use our existing channels.
> 
> On Mon, Feb 13, 2012 at 4:03 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>> Yes. It will nice to use the  ipython architecture for interactive
>> stuff.  Let's say if I create a javascript widget, and I want to send the
>> event to a user defined function/method, what is the best way to do that?
>> What I think is to have a auxiliary websocket-zmq bridge for this purpose.
>>  Does it make sense?
>> 
>> 
>> On Feb 13, 2012, at 2:34 PM, Brian Granger wrote:
>> 
>> We already have WebSocket based channels that the notebook uses to
>> talk between the Javascript and Python code running in the kernel.
>> While it needs to be refactored, all of that infrastructure is already
>> setup and doesn't need to be reinvented.
>> 
>> 
> 
> 
> 
> -- 
> Brian E. Granger
> Cal Poly State University, San Luis Obispo
> bgranger at calpoly.edu and ellisonbg at gmail.com



From cschin at infoecho.net  Mon Feb 13 21:00:03 2012
From: cschin at infoecho.net (Chen-Shan Chin)
Date: Mon, 13 Feb 2012 18:00:03 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
	<824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>
	<CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
Message-ID: <025A825C-8F02-41FC-9C4C-BD5B3DD43877@infoecho.net>

I think this will work....

On the javascript widget side, we can use this javascript call IPython.notebook.kernel.shell_channel.send() to execute some python function defined within the kernel 

And one the python side, one can use Javascript() and/or display_javascript() to update the widget.... 

This is cool. Thanks. (Wish I have time to implement something fun... too much day job overflow.)



On Feb 13, 2012, at 5:09 PM, Brian Granger wrote:

> I don't think you need to add an additional WebSocket channel for any
> purpose.  Of course your Javascript widgets are free to talk to *any*
> WebSocket server in the world, including a modified IPython notebook
> server.  But as long as you want to talk to your Python code in the
> backend, you should just use our existing channels.
> 
> On Mon, Feb 13, 2012 at 4:03 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>> Yes. It will nice to use the  ipython architecture for interactive
>> stuff.  Let's say if I create a javascript widget, and I want to send the
>> event to a user defined function/method, what is the best way to do that?
>> What I think is to have a auxiliary websocket-zmq bridge for this purpose.
>>  Does it make sense?
>> 
>> 
>> On Feb 13, 2012, at 2:34 PM, Brian Granger wrote:
>> 
>> We already have WebSocket based channels that the notebook uses to
>> talk between the Javascript and Python code running in the kernel.
>> While it needs to be refactored, all of that infrastructure is already
>> setup and doesn't need to be reinvented.
>> 
>> 
> 
> 
> 
> -- 
> Brian E. Granger
> Cal Poly State University, San Luis Obispo
> bgranger at calpoly.edu and ellisonbg at gmail.com



From ellisonbg at gmail.com  Mon Feb 13 22:51:03 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 13 Feb 2012 19:51:03 -0800
Subject: [IPython-dev] datavis with ipython notebook
In-Reply-To: <025A825C-8F02-41FC-9C4C-BD5B3DD43877@infoecho.net>
References: <201201271419.05307.mark.voorhies@ucsf.edu>
	<10221EEA-576F-4022-98A2-1FBBC049D46B@infoecho.net>
	<4F310C7E.6070603@continuum.io>
	<76A8F7F4-9955-486F-8A7F-026E9E1BAD63@infoecho.net>
	<CAH4pYpTZBJi5xHhS6zt4EbYypEvLZHES17-vgogrs_sZZaDOFA@mail.gmail.com>
	<CAH4pYpQOUENRTg8aKjbDPUwT0c5rLWy9Dgoaj5NOnbNmAA8HaA@mail.gmail.com>
	<21CB9CDD-1657-4E21-90A2-452D3A5D9924@biologie.hu-berlin.de>
	<CAH4pYpQShh0bUzoJfT=b__9peb4OACrhHmjP+Z+fduRX4ZPCWg@mail.gmail.com>
	<824E5632-1051-4C5B-879A-24FCF5A6FE60@infoecho.net>
	<CAH4pYpQ_nhgNVMVBbVUGcRE7rfEQ6YftAf=+41nzfRPKqDup9A@mail.gmail.com>
	<025A825C-8F02-41FC-9C4C-BD5B3DD43877@infoecho.net>
Message-ID: <CAH4pYpRXRcqYznna6J-FfUWrrUUx8Z53_Y5K3rzd5Av+7k_RtA@mail.gmail.com>

On Mon, Feb 13, 2012 at 6:00 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
> I think this will work....

Yes, you are thinking in the right terms now, but...it won't quite work yet.

> On the javascript widget side, we can use this javascript call IPython.notebook.kernel.shell_channel.send() to execute some python function defined within the kernel

This logic is currently tied to the cell implementation in a way that
won't allow the cell to get the right output.  We need to refactor
something to make this fully possible.  But, once that is done, it
will work in exactly the way you are thinking.

> And one the python side, one can use Javascript() and/or display_javascript() to update the widget....

Yep!

> This is cool. Thanks. (Wish I have time to implement something fun... too much day job overflow.)
>
>
>
> On Feb 13, 2012, at 5:09 PM, Brian Granger wrote:
>
>> I don't think you need to add an additional WebSocket channel for any
>> purpose. ?Of course your Javascript widgets are free to talk to *any*
>> WebSocket server in the world, including a modified IPython notebook
>> server. ?But as long as you want to talk to your Python code in the
>> backend, you should just use our existing channels.
>>
>> On Mon, Feb 13, 2012 at 4:03 PM, Chen-Shan Chin <cschin at infoecho.net> wrote:
>>> Yes. It will nice to use the ?ipython architecture for interactive
>>> stuff. ?Let's say if I create a javascript widget, and I want to send the
>>> event to a user defined function/method, what is the best way to do that?
>>> What I think is to have a auxiliary websocket-zmq bridge for this purpose.
>>> ?Does it make sense?
>>>
>>>
>>> On Feb 13, 2012, at 2:34 PM, Brian Granger wrote:
>>>
>>> We already have WebSocket based channels that the notebook uses to
>>> talk between the Javascript and Python code running in the kernel.
>>> While it needs to be refactored, all of that infrastructure is already
>>> setup and doesn't need to be reinvented.
>>>
>>>
>>
>>
>>
>> --
>> Brian E. Granger
>> Cal Poly State University, San Luis Obispo
>> bgranger at calpoly.edu and ellisonbg at gmail.com
>



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com


From klonuo at gmail.com  Tue Feb 14 03:45:01 2012
From: klonuo at gmail.com (klo uo)
Date: Tue, 14 Feb 2012 09:45:01 +0100
Subject: [IPython-dev] Using Google App Engine channels instead of zmq
 in new IPython
In-Reply-To: <9d4cb5b5-542d-495e-ba37-dfa1bb55b07a@email.android.com>
References: <4F395A0B.9050609@creativetrax.com>
	<9d4cb5b5-542d-495e-ba37-dfa1bb55b07a@email.android.com>
Message-ID: <CAA-8Ld9S2RP9bPMuppz5r8Zy1owyEmm1zo24fHJ5CjeNAgqnJA@mail.gmail.com>

Excuse my jump, but IMHO GAE is attractive as you can experiment for free
(in a limited manner), and there is no such option with EC2


On Tue, Feb 14, 2012 at 12:26 AM, Hugo <hugo at continuum.io> wrote:

>
>
> just curious, why GAE over somethying like ec2 where you get full control?
>  Zmq should be plenty scalable.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120214/b2241adc/attachment.html>

From takowl at gmail.com  Wed Feb 15 06:18:53 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 15 Feb 2012 11:18:53 +0000
Subject: [IPython-dev] Introduction to contributing to IPython
Message-ID: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>

My local Python user group is looking to do a session on contributing
to open source Python projects, letting people get their hands dirty
with some code during the session. I've suggested it could be based on
IPython, since I'm familiar with the codebase.

What sort of things could people make reasonable progress with in a
couple of hours? Is there a useful extension that could be written
without having to understand too much of IPython's internals? Should
people tackle quickfix bugs (I see 2 open at present)?

Fernando, I know you've run something a bit like this before, so I
guess you have some thoughts on how to go about it.

To give you an idea of the format: there's usually about 10-20 people,
who divide into groups of 2 or 3 for the coding. People will bring
their own laptops, and there's wifi in the room. Everyone's broadly
familiar with Python code, but I doubt anyone (besides me) will have
looked at the IPython codebase before.

Thanks,
Thomas


From orenbaracha at gmail.com  Fri Feb 17 07:34:30 2012
From: orenbaracha at gmail.com (Oren Bar)
Date: Fri, 17 Feb 2012 12:34:30 +0000 (UTC)
Subject: [IPython-dev] Trying to enhance auto-completion of IPython in emacs
	- need help with debugging
Message-ID: <loom.20120217T133254-737@post.gmane.org>

Hi,
Deriving from the ipython-complete implementation in ipython.el, i tried to 
implement "greedy-completion" and i think it works pretty well.
Now I try to combine both: 1. try regular completion 2. if none, try greedy-
completion.
This is good for auto-completion that will complete both:
In [15]: "".jo

and

In [16]: print(os.pa

When combining, It seems to me that the result string from IPython for greedy-
completion (2) skips the comint-preoutput-filter-functions, and write it to 
buffer. strange. the code works smoothly if i use only one of the completion 
methods.
I can't debug it, since if I debug it using Edebug - accept-process-output seems 
to get stuck. I'm not so experienced in emacs, so i don't know how to attack 
this issue.

If anyone has tips for debugging this, or may see my bug in the code below, it 
would be great:
;; my requests strings are a bit different, i dont ask only for completions - i 
ask for the seed also, and append the completions to it.

;; Greedy completion - complete by whole line and position of cursor
(setq ipython-greedy-completion-command-string
      "print(';'.join([elem if i == 0 else ';'.join(elem) \
for (i,elem) in enumerate(get_ipython().complete('', '%s', %d))])) \
#PYTHON-MODE SILENT\n")

;; Regular completion - complete only by the symbol before point
(setq ipython-regular-completion-command-string
      "print('\\f'.join([elem if i == 0 else '\\f'.join(elem) \
for (i,elem) in enumerate(get_ipython().complete('%s'))])) \
#PYTHON_MODE SILENT\n")

(defun get-current-line-for-ipython-completion ()
  "Get current line, make sure that all \"'\" and \"\\\" are properly quoted"
  (let ((tmp-line (buffer-substring-no-properties (point-at-bol) (point-at-
eol)))
	(i 0))
    (while (setq i (string-match "\\\\" tmp-line i))
      (setq tmp-line (replace-match "\\\\" nil t tmp-line))
      (setq i (+ i 2)))
    (setq i 0)
    (while (setq i (string-match "'" tmp-line i))
      (setq tmp-line (replace-match "\\\'" nil t tmp-line))
      (setq i (+ i 2)))
    tmp-line))

(defun ipython-build-greedy-completion-request ()
  "Build the string to be past to IPython for greedy completion"
  (format ipython-greedy-completion-command-string
	  (get-current-line-for-ipython-completion)
	  (- (point) (point-at-bol))))

(defalias 'ipython-try-greedy-completion
  'ipython-build-greedy-completion-request)

(defun get-pattern-for-ipython-completion ()
  "Get the largest valid symbol from point and backwards"
  (buffer-substring-no-properties
   (save-excursion (skip-chars-backward "a-z0-9A-Z_." (point-at-bol))
		   (point))
   (point)))

(defun ipython-build-regular-completion-request ()
  "Build the string to be past to IPython for regular completion"
  (format ipython-regular-completion-command-string
	  (get-pattern-for-ipython-completion)))

(defalias 'ipython-try-normal-completion
  'ipython-build-regular-completion-request)

(defvar ipython-completion-functions nil
  "List IPython completion methods that are allowed to run.\
Will be executed one-by-one according to their order until we get any 
completions.")

;; if ipython-completion-functions contains only one function, it all works as 
expected (either normal or greedy)
(setq ipython-completion-functions '(ipython-try-normal-completion ipython-try-
greedy-completion))

(defun gcp-completion (completions-table seed)
  "Completion at point to the Greatest-Common-Prefix"
  (let ((completion (try-completion seed completions-table)))
    (when (and completion (not (eq completion t)))
      (insert (substring completion (length seed))))))

(defun my-ipython-complete-2 ()
  (interactive)
  (let* ((ugly-return nil)
	 (python-process (or (get-buffer-process (current-buffer))
					;XXX hack for .py buffers
			     (get-process py-which-bufname)))
	 (comint-preoutput-filter-functions
	  (append comint-preoutput-filter-functions
		  '(ansi-color-filter-apply
		    (lambda (string)
		      (setq ugly-return (concat ugly-return string))
		      ""))))
	 (functions ipython-completion-functions)
	 (completions '(""))
	 seed
	 completions-table)
    (while (and (string= (car completions) "") functions)
      (process-send-string python-process (funcall (car functions)))
      (accept-process-output python-process)
      (setq completions
	    (split-string
	     (substring ugly-return 0 (position ?\n ugly-return))
	     ";"))
      (setq seed (car completions))
      (setq completions (cdr completions))
      (setq functions (cdr functions)))
    (setq completions-table (loop for str in completions
				  collect (list str nil)))
    (gcp-completion completions-table seed)
    (cond ((or (not completions)
	       (eq (length (car completions)) 0))
	   (message "Can't find completion for '%s'" seed)
	   (ding))
	  ((> (length completions) 1)
	   (message "Making completion list...")
	   (with-output-to-temp-buffer "*IPython Completions*"
	     (display-completion-list completions))
	   (message "Making completion list...%s" "done")))))

Regards,
Oren Bar



From matt.clarke at stfc.ac.uk  Fri Feb 17 07:35:37 2012
From: matt.clarke at stfc.ac.uk (matt.clarke at stfc.ac.uk)
Date: Fri, 17 Feb 2012 12:35:37 +0000
Subject: [IPython-dev] Interactive help on QtConsole
Message-ID: <AC93FB4A0CD45945A7011F0466F6D764266FDA95@EXCHMBX01.fed.cclrc.ac.uk>

Hi,

Sorry if this has already been reported, but there is a problem with the interactive help.
If I try to use the interactive help, it returns the same help page for anything I type.

Thanks,

Matt

-- 
Scanned by iCritical.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120217/2f315a83/attachment.html>

From cekees at gmail.com  Fri Feb 17 12:56:59 2012
From: cekees at gmail.com (Chris Kees)
Date: Fri, 17 Feb 2012 11:56:59 -0600
Subject: [IPython-dev] latex writer
Message-ID: <CAOVFbFhXv2m2RPF+dZdDDtD3M__ECnu71o+GMEurd9SCEG9QHg@mail.gmail.com>

Has anybody considered developing a latex or pdf writer for the  notebook?
I'm trying to finish a report, and it would be nice if i could just stick
the entire notebook in the appendix. I was going to try
\usepackage{pdfpages} (the notebook is about 20 pages so I can't include it
as a floating figure), but then I noticed that none of my web browsers do a
very good job generating a pdf of the  notebook.   -Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120217/f5e769a6/attachment.html>

From takowl at gmail.com  Fri Feb 17 14:34:34 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Fri, 17 Feb 2012 19:34:34 +0000
Subject: [IPython-dev] Introduction to contributing to IPython
In-Reply-To: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>
References: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>
Message-ID: <CAOvn4qh8oYYo8diBmwGtCU_cepmWX2LSzZBhGDtjnSYchCbbCg@mail.gmail.com>

OK, I'm intending to get people to fix some quickfix bugs.

Can I ask everyone to leave the issues tagged quickfix, until our
meeting at the end of this month? Also, if you find any more bugs that
can be easily fixed by new contributors, please make sure they're
tagged, and we'll have a go at tackling them.

Hopefully we can have a few pull requests by the end of the session.

Best wishes,
Thomas

On 15 February 2012 11:18, Thomas Kluyver <takowl at gmail.com> wrote:
> My local Python user group is looking to do a session on contributing
> to open source Python projects, letting people get their hands dirty
> with some code during the session. I've suggested it could be based on
> IPython, since I'm familiar with the codebase.
>
> What sort of things could people make reasonable progress with in a
> couple of hours? Is there a useful extension that could be written
> without having to understand too much of IPython's internals? Should
> people tackle quickfix bugs (I see 2 open at present)?
>
> Fernando, I know you've run something a bit like this before, so I
> guess you have some thoughts on how to go about it.
>
> To give you an idea of the format: there's usually about 10-20 people,
> who divide into groups of 2 or 3 for the coding. People will bring
> their own laptops, and there's wifi in the room. Everyone's broadly
> familiar with Python code, but I doubt anyone (besides me) will have
> looked at the IPython codebase before.
>
> Thanks,
> Thomas


From fperez.net at gmail.com  Fri Feb 17 18:57:56 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Fri, 17 Feb 2012 15:57:56 -0800
Subject: [IPython-dev] Introduction to contributing to IPython
In-Reply-To: <CAOvn4qh8oYYo8diBmwGtCU_cepmWX2LSzZBhGDtjnSYchCbbCg@mail.gmail.com>
References: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>
	<CAOvn4qh8oYYo8diBmwGtCU_cepmWX2LSzZBhGDtjnSYchCbbCg@mail.gmail.com>
Message-ID: <CAHAreOrWxq1BUSDz-JBDU5CTwkwGN1xps7dOnvxd+6mQwEzzqQ@mail.gmail.com>

Hi Thomas,

On Fri, Feb 17, 2012 at 11:34 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> OK, I'm intending to get people to fix some quickfix bugs.
>
> Can I ask everyone to leave the issues tagged quickfix, until our
> meeting at the end of this month? Also, if you find any more bugs that
> can be easily fixed by new contributors, please make sure they're
> tagged, and we'll have a go at tackling them.
>
> Hopefully we can have a few pull requests by the end of the session.

I'm really sorry to not have responded, I'm currently abroad handling
some family business and fly back tomorrow.  I'll try to give you a
more decent answer on Sunday...

Cheers,

f


From ellisonbg at gmail.com  Sat Feb 18 00:05:34 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Fri, 17 Feb 2012 21:05:34 -0800
Subject: [IPython-dev] latex writer
In-Reply-To: <CAOVFbFhXv2m2RPF+dZdDDtD3M__ECnu71o+GMEurd9SCEG9QHg@mail.gmail.com>
References: <CAOVFbFhXv2m2RPF+dZdDDtD3M__ECnu71o+GMEurd9SCEG9QHg@mail.gmail.com>
Message-ID: <CAH4pYpQjVgmxk2dUpSuM5GwTY57usyZJx1B1oP=rnYiyAsnBCg@mail.gmail.com>

Chris,

I am already writing a paper in this way.  Here is the simple latex
exporter that I have:

https://github.com/ellisonbg/sympy-qcpaper/blob/master/notebooks/exportlatex.py

Some changes that could be made:

* I would put the latex in plaintext cells instead of Markdown cells.
* Images could easily be exported into standalone files and the latex
for inclusion could be autogenerated.

But the script is super simple and should be quite easy to adapt to your needs.

Cheers,

Brian

On Fri, Feb 17, 2012 at 9:56 AM, Chris Kees <cekees at gmail.com> wrote:
> Has anybody considered developing a latex or pdf writer for the ?notebook?
> I'm trying to finish a report, and it would be nice if i could just stick
> the entire notebook in the appendix. I was going to try
> \usepackage{pdfpages} (the notebook is about 20 pages so I can't include it
> as a floating figure), but then I noticed that none of my web browsers do a
> very good job generating a pdf of the ?notebook. ? -Chris
> _______________________________________________
> 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


From cekees at gmail.com  Sun Feb 19 04:24:17 2012
From: cekees at gmail.com (Chris Kees)
Date: Sun, 19 Feb 2012 03:24:17 -0600
Subject: [IPython-dev] latex writer
In-Reply-To: <CAH4pYpQjVgmxk2dUpSuM5GwTY57usyZJx1B1oP=rnYiyAsnBCg@mail.gmail.com>
References: <CAOVFbFhXv2m2RPF+dZdDDtD3M__ECnu71o+GMEurd9SCEG9QHg@mail.gmail.com>
	<CAH4pYpQjVgmxk2dUpSuM5GwTY57usyZJx1B1oP=rnYiyAsnBCg@mail.gmail.com>
Message-ID: <CAOVFbFj2u7E1k18EuncJgtNqwTuxJg7Ef2eTxZau5AVuXLh8ug@mail.gmail.com>

Brian,

Thanks a lot. I'll let you know how it turns out.

Chris

On Fri, Feb 17, 2012 at 11:05 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> Chris,
>
> I am already writing a paper in this way.  Here is the simple latex
> exporter that I have:
>
>
> https://github.com/ellisonbg/sympy-qcpaper/blob/master/notebooks/exportlatex.py
>
> Some changes that could be made:
>
> * I would put the latex in plaintext cells instead of Markdown cells.
> * Images could easily be exported into standalone files and the latex
> for inclusion could be autogenerated.
>
> But the script is super simple and should be quite easy to adapt to your
> needs.
>
> Cheers,
>
> Brian
>
> On Fri, Feb 17, 2012 at 9:56 AM, Chris Kees <cekees at gmail.com> wrote:
> > Has anybody considered developing a latex or pdf writer for the
>  notebook?
> > I'm trying to finish a report, and it would be nice if i could just stick
> > the entire notebook in the appendix. I was going to try
> > \usepackage{pdfpages} (the notebook is about 20 pages so I can't include
> it
> > as a floating figure), but then I noticed that none of my web browsers
> do a
> > very good job generating a pdf of the  notebook.   -Chris
> > _______________________________________________
> > 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/20120219/cada13ec/attachment.html>

From glacycr at gmail.com  Sun Feb 19 16:22:37 2012
From: glacycr at gmail.com (Gerardo Lacy Mora)
Date: Sun, 19 Feb 2012 23:22:37 +0200
Subject: [IPython-dev] error initiating ipython notebook
Message-ID: <CACkYsR6itcg24iAP5e_nVAVCOaze_wfu_1qMp1Mt9JDYMhidyw@mail.gmail.com>

Hi!

I am getting the following error when trying to open a notebook:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.6/bin/./ipython",
line 7, in <module>
    launch_new_instance()
  File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
line 406, in launch_new_instance
    app.start()
  File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
line 376, in start
    return self.subapp.start()
  File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/html/notebook/notebookapp.py",
line 447, in start
    browser = webbrowser.get(self.browser)
  File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
line 47, in get
    command = _synthesize(browser)
  File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
line 84, in _synthesize
    cmd = browser.split()[0]
IndexError: list index out of range

What might be the problem?

Thanks

-Gerardo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120219/a27818d3/attachment.html>

From ellisonbg at gmail.com  Sun Feb 19 16:25:18 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Sun, 19 Feb 2012 13:25:18 -0800
Subject: [IPython-dev] error initiating ipython notebook
In-Reply-To: <CACkYsR6itcg24iAP5e_nVAVCOaze_wfu_1qMp1Mt9JDYMhidyw@mail.gmail.com>
References: <CACkYsR6itcg24iAP5e_nVAVCOaze_wfu_1qMp1Mt9JDYMhidyw@mail.gmail.com>
Message-ID: <CAH4pYpRj0F8DZOTXZ1hw7LT5k6D8gWaeNBx4XBjfDU+AAVCOVA@mail.gmail.com>

By default, the notebook with open a web browser.  There appears to be
a problem in that part of the code on your system. Not sure what would
cause that failure, but this should get you around it:

ipython notebook --no-browser

Cheers,

Brian

On Sun, Feb 19, 2012 at 1:22 PM, Gerardo Lacy Mora <glacycr at gmail.com> wrote:
> Hi!
>
> I am getting the following error when trying to open a notebook:
>
> Traceback (most recent call last):
> ? File "/Library/Frameworks/Python.framework/Versions/2.6/bin/./ipython",
> line 7, in <module>
> ? ? launch_new_instance()
> ? File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
> line 406, in launch_new_instance
> ? ? app.start()
> ? File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
> line 376, in start
> ? ? return self.subapp.start()
> ? File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/html/notebook/notebookapp.py",
> line 447, in start
> ? ? browser = webbrowser.get(self.browser)
> ? File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
> line 47, in get
> ? ? command = _synthesize(browser)
> ? File
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
> line 84, in _synthesize
> ? ? cmd = browser.split()[0]
> IndexError: list index out of range
>
> What might be the problem?
>
> Thanks
>
> -Gerardo
>
> _______________________________________________
> 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


From glacycr at gmail.com  Mon Feb 20 04:43:11 2012
From: glacycr at gmail.com (Gerardo Lacy Mora)
Date: Mon, 20 Feb 2012 11:43:11 +0200
Subject: [IPython-dev] error initiating ipython notebook
In-Reply-To: <CAH4pYpRj0F8DZOTXZ1hw7LT5k6D8gWaeNBx4XBjfDU+AAVCOVA@mail.gmail.com>
References: <CACkYsR6itcg24iAP5e_nVAVCOaze_wfu_1qMp1Mt9JDYMhidyw@mail.gmail.com>
	<CAH4pYpRj0F8DZOTXZ1hw7LT5k6D8gWaeNBx4XBjfDU+AAVCOVA@mail.gmail.com>
Message-ID: <CACkYsR6GQLwOiTuspFg7UH1EXm1Vi_dXRPaSN43sHrtf=R1vfA@mail.gmail.com>

Hi!

I am following the development branch for ipython, and seems that the
problem was with the commit

https://github.com/ipython/ipython/commit/2a436aee039c5cf851d045062142371876685ad3

changing back to

if len(self.browser) == 0:

makes my notebook work again...

Cheers,

Gerardo





On Sun, Feb 19, 2012 at 11:25 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> By default, the notebook with open a web browser.  There appears to be
> a problem in that part of the code on your system. Not sure what would
> cause that failure, but this should get you around it:
>
> ipython notebook --no-browser
>
> Cheers,
>
> Brian
>
> On Sun, Feb 19, 2012 at 1:22 PM, Gerardo Lacy Mora <glacycr at gmail.com>
> wrote:
> > Hi!
> >
> > I am getting the following error when trying to open a notebook:
> >
> > Traceback (most recent call last):
> >   File "/Library/Frameworks/Python.framework/Versions/2.6/bin/./ipython",
> > line 7, in <module>
> >     launch_new_instance()
> >   File
> >
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
> > line 406, in launch_new_instance
> >     app.start()
> >   File
> >
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
> > line 376, in start
> >     return self.subapp.start()
> >   File
> >
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/html/notebook/notebookapp.py",
> > line 447, in start
> >     browser = webbrowser.get(self.browser)
> >   File
> >
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
> > line 47, in get
> >     command = _synthesize(browser)
> >   File
> >
> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
> > line 84, in _synthesize
> >     cmd = browser.split()[0]
> > IndexError: list index out of range
> >
> > What might be the problem?
> >
> > Thanks
> >
> > -Gerardo
> >
> > _______________________________________________
> > 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/20120220/5589cfed/attachment.html>

From benjaminrk at gmail.com  Mon Feb 20 10:02:47 2012
From: benjaminrk at gmail.com (MinRK)
Date: Mon, 20 Feb 2012 10:02:47 -0500
Subject: [IPython-dev] error initiating ipython notebook
In-Reply-To: <CACkYsR6GQLwOiTuspFg7UH1EXm1Vi_dXRPaSN43sHrtf=R1vfA@mail.gmail.com>
References: <CACkYsR6itcg24iAP5e_nVAVCOaze_wfu_1qMp1Mt9JDYMhidyw@mail.gmail.com>
	<CAH4pYpRj0F8DZOTXZ1hw7LT5k6D8gWaeNBx4XBjfDU+AAVCOVA@mail.gmail.com>
	<CACkYsR6GQLwOiTuspFg7UH1EXm1Vi_dXRPaSN43sHrtf=R1vfA@mail.gmail.com>
Message-ID: <CAHNn8BXEJjF5dSsism4RShA8invXgaTwM-0=LUfPr9TR02LyDw@mail.gmail.com>

Yes, I just saw this, and pushed the fix.  The logic got reversed, so 'if
self.browser' should have been 'if not self.browser'.

On Mon, Feb 20, 2012 at 04:43, Gerardo Lacy Mora <glacycr at gmail.com> wrote:

> Hi!
>
> I am following the development branch for ipython, and seems that the
> problem was with the commit
>
>
> https://github.com/ipython/ipython/commit/2a436aee039c5cf851d045062142371876685ad3
>
> changing back to
>
> if len(self.browser) == 0:
>
> makes my notebook work again...
>
> Cheers,
>
> Gerardo
>
>
>
>
>
> On Sun, Feb 19, 2012 at 11:25 PM, Brian Granger <ellisonbg at gmail.com>wrote:
>
>> By default, the notebook with open a web browser.  There appears to be
>> a problem in that part of the code on your system. Not sure what would
>> cause that failure, but this should get you around it:
>>
>> ipython notebook --no-browser
>>
>> Cheers,
>>
>> Brian
>>
>> On Sun, Feb 19, 2012 at 1:22 PM, Gerardo Lacy Mora <glacycr at gmail.com>
>> wrote:
>> > Hi!
>> >
>> > I am getting the following error when trying to open a notebook:
>> >
>> > Traceback (most recent call last):
>> >   File
>> "/Library/Frameworks/Python.framework/Versions/2.6/bin/./ipython",
>> > line 7, in <module>
>> >     launch_new_instance()
>> >   File
>> >
>> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
>> > line 406, in launch_new_instance
>> >     app.start()
>> >   File
>> >
>> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/terminal/ipapp.py",
>> > line 376, in start
>> >     return self.subapp.start()
>> >   File
>> >
>> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/frontend/html/notebook/notebookapp.py",
>> > line 447, in start
>> >     browser = webbrowser.get(self.browser)
>> >   File
>> >
>> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
>> > line 47, in get
>> >     command = _synthesize(browser)
>> >   File
>> >
>> "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/webbrowser.py",
>> > line 84, in _synthesize
>> >     cmd = browser.split()[0]
>> > IndexError: list index out of range
>> >
>> > What might be the problem?
>> >
>> > Thanks
>> >
>> > -Gerardo
>> >
>> > _______________________________________________
>> > 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
>>
>
>
> _______________________________________________
> 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/20120220/44ec8a0b/attachment.html>

From fperez.net at gmail.com  Mon Feb 20 23:44:30 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 20 Feb 2012 20:44:30 -0800
Subject: [IPython-dev] Interactive help on QtConsole
In-Reply-To: <AC93FB4A0CD45945A7011F0466F6D764266FDA95@EXCHMBX01.fed.cclrc.ac.uk>
References: <AC93FB4A0CD45945A7011F0466F6D764266FDA95@EXCHMBX01.fed.cclrc.ac.uk>
Message-ID: <CAHAreOrqQkOWJmusDXAV3R0hFVbQxQQ6R15Y1kUCkYhRiOcvVg@mail.gmail.com>

On Fri, Feb 17, 2012 at 4:35 AM,  <matt.clarke at stfc.ac.uk> wrote:
> Sorry if this has already been reported, but there is a problem with the
> interactive help.
>
> If I try to use the interactive help, it returns the same help page for
> anything I type.
>
>

Could you be more specific?  I don't see the problem you report with
the help() command, nor with ipython's own '?/??' forms.

Cheers,

f


From satra at mit.edu  Tue Feb 21 08:38:13 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Tue, 21 Feb 2012 08:38:13 -0500
Subject: [IPython-dev] FYI: Task parallelism
Message-ID: <CA+A4wOmvMYeLpBPbH_NBwNJj7A9sjnuwcKDUN7=9mr=awHyVGw@mail.gmail.com>

FYI: a thesis on task parallelism built into python language constructs.

---------- Forwarded message ----------
From: Pierre Bellec
Date: Mon, Feb 20, 2012 at 11:45 PM
Subject: reference
To: Satrajit Ghosh


Dear Satrajit,

I thought you might find the following work interesting (and it's developed
in Python !):
http://people.cs.uchicago.edu/~tga/pubs/armstrong-masters.pdf

Best,

Pierre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120221/23b0860c/attachment.html>

From jorgen.stenarson at bostream.nu  Tue Feb 21 13:49:50 2012
From: jorgen.stenarson at bostream.nu (=?ISO-8859-1?Q?J=F6rgen_Stenarson?=)
Date: Tue, 21 Feb 2012 19:49:50 +0100
Subject: [IPython-dev] Slow testsuite?
Message-ID: <4F43E74E.8040305@bostream.nu>

How long does the testsuite take to run on an average linux machine? On 
my windows machine it takes 125s with 100s for the parallel stuff. Is 
that normal? The reason I'm asking is that I think the running time for 
the parallel stuff has increased significantly from the last time I ran 
tests. (is there a way to just skip the parallel tests but run all the 
others?)

/J?rgen


From fperez.net at gmail.com  Tue Feb 21 14:00:04 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 21 Feb 2012 11:00:04 -0800
Subject: [IPython-dev] Slow testsuite?
In-Reply-To: <4F43E74E.8040305@bostream.nu>
References: <4F43E74E.8040305@bostream.nu>
Message-ID: <CAHAreOq8EugE-R5b0frR-P9a-kNXtvaYrF=Ru5E-7+avbuTAjA@mail.gmail.com>

On Tue, Feb 21, 2012 at 10:49 AM, J?rgen Stenarson
<jorgen.stenarson at bostream.nu> wrote:
> How long does the testsuite take to run on an average linux machine? On
> my windows machine it takes 125s with 100s for the parallel stuff. Is
> that normal? The reason I'm asking is that I think the running time for


On my fairly new and fast linux desktop, I get nearly identical results:

IPython test group: IPython.parallel
Ran 121 tests in 98.502s
...
Ran 10 test groups in 125.719s

> the parallel stuff has increased significantly from the last time I ran
> tests. (is there a way to just skip the parallel tests but run all the
> others?)

No, we don't currently have an easy way to skip one group.  We do have
an easy way to *include* one or more:

iptest IPython.core IPython.lib

will do just core and lib, for example.  But there's no way to spell
'everything but X'.  But in a pinch, you could make  a simple shell
alias/batch file that does

iptest IPython.core IPython.lib IPython....

listing manually everything but parallel.  The list of groups hardly
changes, so it's not a big deal to maintain that alias.

We do need to start tagging tests as slow (nose supports labeling), so
that it's easier to have a 'quick tests'  that gets run in < 30s, and
a 'full suite' that can take much longer.

Cheers,

f


From jorgen.stenarson at bostream.nu  Tue Feb 21 17:07:51 2012
From: jorgen.stenarson at bostream.nu (=?ISO-8859-1?Q?J=F6rgen_Stenarson?=)
Date: Tue, 21 Feb 2012 23:07:51 +0100
Subject: [IPython-dev] Slow testsuite?
In-Reply-To: <CAHAreOq8EugE-R5b0frR-P9a-kNXtvaYrF=Ru5E-7+avbuTAjA@mail.gmail.com>
References: <4F43E74E.8040305@bostream.nu>
	<CAHAreOq8EugE-R5b0frR-P9a-kNXtvaYrF=Ru5E-7+avbuTAjA@mail.gmail.com>
Message-ID: <4F4415B7.8090404@bostream.nu>

Fernando Perez skrev 2012-02-21 20:00:
> On Tue, Feb 21, 2012 at 10:49 AM, J?rgen Stenarson
> <jorgen.stenarson at bostream.nu>  wrote:
>>  How long does the testsuite take to run on an average linux machine? On
>>  my windows machine it takes 125s with 100s for the parallel stuff. Is
>>  that normal? The reason I'm asking is that I think the running time for
>
>
> On my fairly new and fast linux desktop, I get nearly identical results:
>
> IPython test group: IPython.parallel
> Ran 121 tests in 98.502s
> ...
> Ran 10 test groups in 125.719s
>

Ok good to know, then there isn't anything wrong in my setup.

/J?rgen


From cekees at gmail.com  Tue Feb 21 18:37:43 2012
From: cekees at gmail.com (Chris Kees)
Date: Tue, 21 Feb 2012 17:37:43 -0600
Subject: [IPython-dev] latex writer
In-Reply-To: <CAOVFbFj2u7E1k18EuncJgtNqwTuxJg7Ef2eTxZau5AVuXLh8ug@mail.gmail.com>
References: <CAOVFbFhXv2m2RPF+dZdDDtD3M__ECnu71o+GMEurd9SCEG9QHg@mail.gmail.com>
	<CAH4pYpQjVgmxk2dUpSuM5GwTY57usyZJx1B1oP=rnYiyAsnBCg@mail.gmail.com>
	<CAOVFbFj2u7E1k18EuncJgtNqwTuxJg7Ef2eTxZau5AVuXLh8ug@mail.gmail.com>
Message-ID: <CAOVFbFhihXCgZBg7YmizC5u64SBpe29tS1YT9B35U_2bMi5EHA@mail.gmail.com>

That's what I needed. It's nice to see how to grab the contents with
IPython.nbformat.current.read.  Somebody with time on their hands and some
latex and pdf expertise could really go to town on making functionality
from the notebook available to a pdf document.

Thanks,
Chris

On Sun, Feb 19, 2012 at 3:24 AM, Chris Kees <cekees at gmail.com> wrote:

> Brian,
>
> Thanks a lot. I'll let you know how it turns out.
>
> Chris
>
>
> On Fri, Feb 17, 2012 at 11:05 PM, Brian Granger <ellisonbg at gmail.com>wrote:
>
>> Chris,
>>
>> I am already writing a paper in this way.  Here is the simple latex
>> exporter that I have:
>>
>>
>> https://github.com/ellisonbg/sympy-qcpaper/blob/master/notebooks/exportlatex.py
>>
>> Some changes that could be made:
>>
>> * I would put the latex in plaintext cells instead of Markdown cells.
>> * Images could easily be exported into standalone files and the latex
>> for inclusion could be autogenerated.
>>
>> But the script is super simple and should be quite easy to adapt to your
>> needs.
>>
>> Cheers,
>>
>> Brian
>>
>> On Fri, Feb 17, 2012 at 9:56 AM, Chris Kees <cekees at gmail.com> wrote:
>> > Has anybody considered developing a latex or pdf writer for the
>>  notebook?
>> > I'm trying to finish a report, and it would be nice if i could just
>> stick
>> > the entire notebook in the appendix. I was going to try
>> > \usepackage{pdfpages} (the notebook is about 20 pages so I can't
>> include it
>> > as a floating figure), but then I noticed that none of my web browsers
>> do a
>> > very good job generating a pdf of the  notebook.   -Chris
>> > _______________________________________________
>> > 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/20120221/0d40fe57/attachment.html>

From fperez.net at gmail.com  Tue Feb 21 18:53:09 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 21 Feb 2012 15:53:09 -0800
Subject: [IPython-dev] latex writer
In-Reply-To: <CAOVFbFhihXCgZBg7YmizC5u64SBpe29tS1YT9B35U_2bMi5EHA@mail.gmail.com>
References: <CAOVFbFhXv2m2RPF+dZdDDtD3M__ECnu71o+GMEurd9SCEG9QHg@mail.gmail.com>
	<CAH4pYpQjVgmxk2dUpSuM5GwTY57usyZJx1B1oP=rnYiyAsnBCg@mail.gmail.com>
	<CAOVFbFj2u7E1k18EuncJgtNqwTuxJg7Ef2eTxZau5AVuXLh8ug@mail.gmail.com>
	<CAOVFbFhihXCgZBg7YmizC5u64SBpe29tS1YT9B35U_2bMi5EHA@mail.gmail.com>
Message-ID: <CAHAreOrBGQTJR+3guHMtqPEjNecXLNAOB8qmfwUpqTePOJ6noA@mail.gmail.com>

On Tue, Feb 21, 2012 at 3:37 PM, Chris Kees <cekees at gmail.com> wrote:
> Somebody with time on their hands and some latex and pdf expertise could
> really go to town on making functionality from the notebook available to a
> pdf document.

Here's the start of a more structured writer:

https://gist.github.com/1569580

This one produces rst, so you could easily run it through sphinx to
produce a PDF using sphinx's latex export capabilities.  It handles
export of figures into image tags already.

What it doesn't have yet is any nice style/CSS support for a prettier output.

It would be both fun and easy to take this and start building a more
structured exporter library that can take a notebook and produce:

- pure latex meant for standalone compilation with pdflatex
- rst for standalone docutils conversion
- rst for sphinx conversion into html or pdf.

Cheers

f


From benjaminrk at gmail.com  Wed Feb 22 01:32:56 2012
From: benjaminrk at gmail.com (MinRK)
Date: Wed, 22 Feb 2012 01:32:56 -0500
Subject: [IPython-dev] Slow testsuite?
In-Reply-To: <4F4415B7.8090404@bostream.nu>
References: <4F43E74E.8040305@bostream.nu>
	<CAHAreOq8EugE-R5b0frR-P9a-kNXtvaYrF=Ru5E-7+avbuTAjA@mail.gmail.com>
	<4F4415B7.8090404@bostream.nu>
Message-ID: <CAHNn8BUwdVGdpcLouZd1sX+Uag14GM6adhXm9jHmCc5ORGGTzQ@mail.gmail.com>

Much of the reason the parallel test suite is slow is that it starts
engines at many points, since numerous tests involve the behavior during
changes of the number of engines.  Further, the reason the test suite has
become slower is the recent increase of the default heartbeat period from
1s to 3s.  This means it can take 6s from starting an engine to the Hub
confirming that the engine is up on its first heartbeat response.  I can
shorten the heartbeat time in the test suite quite easily (via the `--ping`
argument to the controller).  It's still slow, due to the starting of many
processes, and various waiting periods, but adding `--ping=100`
(milliseconds) to the controller args, shaved ~60s off my runtime.

Very nearly all of the time in the parallel test suite is spent waiting for
something or other, so a fast machine will make approximately no difference.

-MinRK

On Tue, Feb 21, 2012 at 17:07, J?rgen Stenarson <
jorgen.stenarson at bostream.nu> wrote:

> Fernando Perez skrev 2012-02-21 20:00:
> > On Tue, Feb 21, 2012 at 10:49 AM, J?rgen Stenarson
> > <jorgen.stenarson at bostream.nu>  wrote:
> >>  How long does the testsuite take to run on an average linux machine? On
> >>  my windows machine it takes 125s with 100s for the parallel stuff. Is
> >>  that normal? The reason I'm asking is that I think the running time for
> >
> >
> > On my fairly new and fast linux desktop, I get nearly identical results:
> >
> > IPython test group: IPython.parallel
> > Ran 121 tests in 98.502s
> > ...
> > Ran 10 test groups in 125.719s
> >
>
> Ok good to know, then there isn't anything wrong in my setup.
>
> /J?rgen
> _______________________________________________
> 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/20120222/2f617e57/attachment.html>

From fperez.net at gmail.com  Wed Feb 22 01:38:37 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 21 Feb 2012 22:38:37 -0800
Subject: [IPython-dev] Slow testsuite?
In-Reply-To: <CAHNn8BUwdVGdpcLouZd1sX+Uag14GM6adhXm9jHmCc5ORGGTzQ@mail.gmail.com>
References: <4F43E74E.8040305@bostream.nu>
	<CAHAreOq8EugE-R5b0frR-P9a-kNXtvaYrF=Ru5E-7+avbuTAjA@mail.gmail.com>
	<4F4415B7.8090404@bostream.nu>
	<CAHNn8BUwdVGdpcLouZd1sX+Uag14GM6adhXm9jHmCc5ORGGTzQ@mail.gmail.com>
Message-ID: <CAHAreOqMzVm1pA_DOf_LDLdPkL5JPWiP=itpAULGWPGttdC9CA@mail.gmail.com>

On Tue, Feb 21, 2012 at 10:32 PM, MinRK <benjaminrk at gmail.com> wrote:
> Much of the reason the parallel test suite is slow is that it starts engines
> at many points, since numerous tests involve the behavior during changes of
> the number of engines. ?Further, the reason the test suite has become slower
> is the recent increase of the default heartbeat period from 1s to 3s. ?This
> means it can take 6s from starting an engine to the Hub confirming that the
> engine is up on its first heartbeat response. ?I can shorten the heartbeat
> time in the test suite quite easily (via the `--ping` argument to the
> controller). ?It's still slow, due to the starting of many processes, and
> various waiting periods, but adding `--ping=100` (milliseconds) to the
> controller args, shaved ~60s off my runtime.

+1, go for it.

> Very nearly all of the time in the parallel test suite is spent waiting for
> something or other, so a fast machine will make approximately no difference.

Yup, that was clear from the near-zero cpu activity during that part.

Cheers,

f


From takowl at gmail.com  Wed Feb 22 08:20:18 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 22 Feb 2012 13:20:18 +0000
Subject: [IPython-dev] ShiningPanda email notification
Message-ID: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>

Now that we've got ShiningPanda running smoothly, I've just configured
it to run the tests on all Python versions every day (rather than
every other day). I think we should consider setting up e-mail alerts
- these would fire whenever the tests failed, and with the first
successful build after tests have been failing.

There are a few routes we could take:

- Send e-mails to the core developers.
- Have a new ipython-build mailing list which interested parties can
subscribe to.
- Send e-mails here (ipython-dev) - downside: some extra mail for
subscribers. upside: greater incentive to fix test failures quickly.
- Have some service automatically turn e-mails into Github issues. I
don't know of anything to do this, but I imagine we could write one if
needs be.

Thanks,
Thomas


From fperez.net at gmail.com  Wed Feb 22 13:44:59 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 22 Feb 2012 10:44:59 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
Message-ID: <CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>

On Wed, Feb 22, 2012 at 5:20 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> - Have a new ipython-build mailing list which interested parties can
> subscribe to.
> - Send e-mails here (ipython-dev) - downside: some extra mail for
> subscribers. upside: greater incentive to fix test failures quickly.

These two are my favorites, with a slight preference for the first.
While I see the upside you point out in #2, I tend to prefer
separating human-driven from machine-driven lists by default... But
maybe that's a very XX century view :)

I guess we could try pushing to ipython-dev for a while, and check in
a few weeks to see if the extra traffic bothers people; if it does we
move it out to a separate list.

That seems like the path of least effort.  Thoughts?

f


From benjaminrk at gmail.com  Wed Feb 22 14:01:49 2012
From: benjaminrk at gmail.com (Min RK)
Date: Wed, 22 Feb 2012 11:01:49 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
Message-ID: <624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>


On Feb 22, 2012, at 10:44, Fernando Perez <fperez.net at gmail.com> wrote:

> On Wed, Feb 22, 2012 at 5:20 AM, Thomas Kluyver <takowl at gmail.com> wrote:
>> - Have a new ipython-build mailing list which interested parties can
>> subscribe to.
>> - Send e-mails here (ipython-dev) - downside: some extra mail for
>> subscribers. upside: greater incentive to fix test failures quickly.
> 
> These two are my favorites, with a slight preference for the first.
> While I see the upside you point out in #2, I tend to prefer
> separating human-driven from machine-driven lists by default... But
> maybe that's a very XX century view :)
> 
> I guess we could try pushing to ipython-dev for a while, and check in
> a few weeks to see if the extra traffic bothers people; if it does we
> move it out to a separate list.
> 
> That seems like the path of least effort.  Thoughts?

The path of least effort is to just use the  rss feed ShiningPanda already provides.  This is how I'm following build failures.

> 
> f
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From takowl at gmail.com  Wed Feb 22 14:11:43 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 22 Feb 2012 19:11:43 +0000
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
Message-ID: <CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>

On 22 February 2012 19:01, Min RK <benjaminrk at gmail.com> wrote:
> The path of least effort is to just use the ?rss feed ShiningPanda already provides. ?This is how I'm following build failures.

I no longer regularly look at an RSS reader, but I do generally notice
new e-mails. So I'd like e-mail notifications at least for myself.

Thomas


From fperez.net at gmail.com  Wed Feb 22 15:17:13 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 22 Feb 2012 12:17:13 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
Message-ID: <CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>

On Wed, Feb 22, 2012 at 11:11 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> I no longer regularly look at an RSS reader, but I do generally notice
> new e-mails. So I'd like e-mail notifications at least for myself.

Same here, I've stopped using RSS years ago, though it's good that Min
reminds us of that option, for those who have a regular RSS workflow.

Cheers,

f


From benjaminrk at gmail.com  Wed Feb 22 16:02:05 2012
From: benjaminrk at gmail.com (MinRK)
Date: Wed, 22 Feb 2012 13:02:05 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
	<CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
Message-ID: <CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>

On Wed, Feb 22, 2012 at 12:17, Fernando Perez <fperez.net at gmail.com> wrote:

> On Wed, Feb 22, 2012 at 11:11 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> > I no longer regularly look at an RSS reader, but I do generally notice
> > new e-mails. So I'd like e-mail notifications at least for myself.
>
> Same here, I've stopped using RSS years ago, though it's good that Min
> reminds us of that option, for those who have a regular RSS workflow.
>

Okay, then I would vote for a new mailing list, because I'd rather not need
to add a filter to auto-delete any ShiningPanda emails to ipython-dev.

-MinRK


>
> Cheers,
>
> f
> _______________________________________________
> 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/20120222/8c1d51aa/attachment.html>

From fperez.net at gmail.com  Wed Feb 22 16:04:32 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 22 Feb 2012 13:04:32 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
	<CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
	<CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>
Message-ID: <CAHAreOqVJ_KFXvokLc+9ntj8-WpCEp5A3=7i+z3rNUkH7t_VTw@mail.gmail.com>

On Wed, Feb 22, 2012 at 1:02 PM, MinRK <benjaminrk at gmail.com> wrote:
> Okay, then I would vote for a new mailing list, because I'd rather not need
> to add a filter to auto-delete any ShiningPanda emails to ipython-dev.

OK, I'll look into creating ipython-build at ipython.org.  Does that
sound like a good name, or would people prefer ipython-autotests or
something else?  Not a big deal, so unless anyone feels really
strongly about it, let's just go with ipython-build.

Cheers,

f


From fperez.net at gmail.com  Wed Feb 22 16:17:59 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 22 Feb 2012 13:17:59 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAHAreOqVJ_KFXvokLc+9ntj8-WpCEp5A3=7i+z3rNUkH7t_VTw@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
	<CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
	<CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>
	<CAHAreOqVJ_KFXvokLc+9ntj8-WpCEp5A3=7i+z3rNUkH7t_VTw@mail.gmail.com>
Message-ID: <CAHAreOoVzQJto6i6oOg-vOeva8WGbOXsf4e9xxrDD2zfyzd++g@mail.gmail.com>

On Wed, Feb 22, 2012 at 1:04 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> OK, I'll look into creating ipython-build at ipython.org. ?Does that
> sound like a good name, or would people prefer ipython-autotests or
> something else? ?Not a big deal, so unless anyone feels really
> strongly about it, let's just go with ipython-build.

Done, the new list is at:

http://lists.ipython.org/listinfo.cgi/ipython-build-ipython.org

I've made Brian, Min and Thomas list admins as well, so I'm not the
bottleneck on this.

I'd appreciate it if someone can update the main page with a link to
this list, as well as putting a mention of it in the dev guide part of
the docs.

Cheers,

f


From takowl at gmail.com  Wed Feb 22 16:28:00 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 22 Feb 2012 21:28:00 +0000
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAHAreOoVzQJto6i6oOg-vOeva8WGbOXsf4e9xxrDD2zfyzd++g@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
	<CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
	<CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>
	<CAHAreOqVJ_KFXvokLc+9ntj8-WpCEp5A3=7i+z3rNUkH7t_VTw@mail.gmail.com>
	<CAHAreOoVzQJto6i6oOg-vOeva8WGbOXsf4e9xxrDD2zfyzd++g@mail.gmail.com>
Message-ID: <CAOvn4qhpJuiLFoFpzPZ_pe=iOFwP-3VJH3B-LfaQe6RdBBR1HA@mail.gmail.com>

On 22 February 2012 21:17, Fernando Perez <fperez.net at gmail.com> wrote:
> Done, the new list is at:
>
> http://lists.ipython.org/listinfo.cgi/ipython-build-ipython.org

I've set up ShiningPanda to send e-mails to the list, but the first
one won't come through because I don't know what address it will come
from. Once I've seen the first e-mail (it will go directly to me as
well), I'll whitelist it so it can send to the list.

Thomas


From pivanov314 at gmail.com  Wed Feb 22 19:18:29 2012
From: pivanov314 at gmail.com (Paul Ivanov)
Date: Wed, 22 Feb 2012 16:18:29 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <CAHAreOoVzQJto6i6oOg-vOeva8WGbOXsf4e9xxrDD2zfyzd++g@mail.gmail.com>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
	<CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
	<CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>
	<CAHAreOqVJ_KFXvokLc+9ntj8-WpCEp5A3=7i+z3rNUkH7t_VTw@mail.gmail.com>
	<CAHAreOoVzQJto6i6oOg-vOeva8WGbOXsf4e9xxrDD2zfyzd++g@mail.gmail.com>
Message-ID: <20120223001829.GA4540@ykcyc>

Fernando Perez, on 2012-02-22 13:17,  wrote:
> Done, the new list is at:
> 
> http://lists.ipython.org/listinfo.cgi/ipython-build-ipython.org

"(The current archive is only available to the list members.)" -
that should probably be changed, especially since all of these
messages will be auto-generated.

> I'd appreciate it if someone can update the main page with a link to
> this list, as well as putting a mention of it in the dev guide part of
> the docs.

Here you go:

https://github.com/ipython/ipython-website/pull/6

best,
-- 
Paul Ivanov
314 address only used for lists,  off-list direct email at:
http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 


From fperez.net at gmail.com  Wed Feb 22 20:03:15 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 22 Feb 2012 17:03:15 -0800
Subject: [IPython-dev] ShiningPanda email notification
In-Reply-To: <20120223001829.GA4540@ykcyc>
References: <CAOvn4qjQVvMmehawFV6f2Cet_=-Vyki5yxWk73yq4fP4APbuuA@mail.gmail.com>
	<CAHAreOrSeRAM=p74w2OJ2cpQx855yi7iY3C8_jhm2LGBszuzGA@mail.gmail.com>
	<624C03EE-602F-4D6A-A8FD-2DF7C118E406@gmail.com>
	<CAOvn4qi7NJCvqS2FWtdGwA6g88gijQQ16y7QTEmRX-jF1fu6Aw@mail.gmail.com>
	<CAHAreOpGCCPTmtBMf1xqzJR0p+POnDPrqkgQMEyAnZOqB8W6sA@mail.gmail.com>
	<CAHNn8BUf=DUM+sgxPR0EyyaNF3Rcd+gQxzw0w8vaxLGf14beng@mail.gmail.com>
	<CAHAreOqVJ_KFXvokLc+9ntj8-WpCEp5A3=7i+z3rNUkH7t_VTw@mail.gmail.com>
	<CAHAreOoVzQJto6i6oOg-vOeva8WGbOXsf4e9xxrDD2zfyzd++g@mail.gmail.com>
	<20120223001829.GA4540@ykcyc>
Message-ID: <CAHAreOp2zm-C2qM6cQGabkKP-eCcKUA=BJxdfv3AKFoM+6vQsQ@mail.gmail.com>

On Wed, Feb 22, 2012 at 4:18 PM, Paul Ivanov <pivanov314 at gmail.com> wrote:
>
> "(The current archive is only available to the list members.)" -
> that should probably be changed, especially since all of these
> messages will be auto-generated.

Fixed.

>> I'd appreciate it if someone can update the main page with a link to
>> this list, as well as putting a mention of it in the dev guide part of
>> the docs.
>
> Here you go:
>
> https://github.com/ipython/ipython-website/pull/6

Great, thanks!

f


From matt.terry at gmail.com  Fri Feb 24 02:04:51 2012
From: matt.terry at gmail.com (Matt Terry)
Date: Thu, 23 Feb 2012 23:04:51 -0800
Subject: [IPython-dev] interrupting local kernels
Message-ID: <CAKn7svqHQh9vswt97EUDOOEt=+FLAmHCPyRYSC4r7G7qo1vvLA@mail.gmail.com>

I want to be able to interrupt an ipython kernel that is local to my
machine, but not owned by the current process.  I recognize that the
general problem of interrupting a truly remote kernel is a harder
problem and i'm not explicitly not addressing that.  However, I think
interrupting a local kernel is worth having a special case.

All you need to interrupt a local kernel is its pid, so you can send a
SIGINT to the appropriate process.  The only way I can think of to get
that information is to ask the remote kernel (over the shell channel)
to return the output of "os.getpid()".  The kernel might restart and
change pid, so you'd have to poll.  This seems ugly and failure prone.

What you need is
A) the kernel to have a nanny that always knows what the kernel's pid is
or
B) the kernel to communicate its pid someway other than over the shell channel

What about using the heartbeat channel to echo the pid?  To my
understanding, the heart beats even if the kernel is chugging away.
We could have the heartbeat channel return the pid instead of the
uuid, or we could return them both.  Alternatively, we could pid
information in a file in .ipython/somewhere, but that seems
potentially contentious.

-matt


From mirage007 at gmail.com  Fri Feb 24 09:15:12 2012
From: mirage007 at gmail.com (Ivan Zhang)
Date: Fri, 24 Feb 2012 09:15:12 -0500
Subject: [IPython-dev] using ipkernel to provide access to an application's
	internals
Message-ID: <CAAmwedFvOfBAgAXK-n9Ou2VhytM2QUD=hKhsGLvvTvjouiYfpg@mail.gmail.com>

Hi dev list,
I thought this place more appropriate as I am looking to change the
internals of IPKernel, or perhaps just extend it. Perhaps I am simply not
experienced enough with the code and this is already done and obvious,
forgive me in this case.

Say I have a typical python gui that creates some python objects, modifies
them, etc...Now instead of just running this code directly, say I want to
run this inside the IPKernel so that all of its data can then be inspected
by someone connecting an qtconsole to it.

i.e.  I envision something like this rough pseudocode below:

>from ipython.zmq.ipkernel import *
>
>class someGui():
>
>                 controller = Controller()
>
>
>
>                 def onSomeEvent(self):
>
>                                 self.controller.doSomething()
>
>
>
> class Controller():
>
>
>
>                 def __init__(self):
>
> self.app = IPKernelApp.instance()
>
> self.app.initialize()
>
> self.app.start() //make this a returning call so that this doesn?t hang
forever.
>
>
>
> def doSomething(self):
>
>                 self.app. execRequest (?a = 5?)
>
>
>
> def doSomethingElse(self):
>
>                 return self.app.evalRequest (?a?)
>
>
>
> def main():
>
> gui = someGui()
>
> gui.show()
>
> ____________________
Now somewhere else, someone starts a qtconsole and type in ?a? to check
that it?s 5.

It?s fairly obvious that the implementation of qtconsole already does
something similar, but it was my understanding that it communicates to the
kernel through zmq (perhaps I am mistaken?) In my example, I kind of want
to give this gui special status, i.e. it is in the same process as the
ipkernel itself (maybe another thread) but it would talk to ipkernel
directly instead of via zmq.
So basically my 2 basic questions are:

1.       How to make the ipkernelapp.start() non blocking, or dispatch it
as another thread that I can call additional functions on.

2.       How to make a simplified exec/evalRequest a blocking call that
would evaluate the code on the spot and return or maybe after waiting to
acquiring some lock, i.e. not interweaved as an iteration of the ipkernel
event loop to make it as responsive as a regular application as possible.

3.       How to create the option to broadcast any errors(or print
statements) to connected qtconsole instances.

If anyone can provide some clues as how to get started towards this
direction, it would be greatly appreciated.

-i

-- 
Ivan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120224/6fdf3130/attachment.html>

From benjaminrk at gmail.com  Fri Feb 24 13:58:51 2012
From: benjaminrk at gmail.com (MinRK)
Date: Fri, 24 Feb 2012 10:58:51 -0800
Subject: [IPython-dev] interrupting local kernels
In-Reply-To: <CAKn7svqHQh9vswt97EUDOOEt=+FLAmHCPyRYSC4r7G7qo1vvLA@mail.gmail.com>
References: <CAKn7svqHQh9vswt97EUDOOEt=+FLAmHCPyRYSC4r7G7qo1vvLA@mail.gmail.com>
Message-ID: <CAHNn8BWi_JDSPOUnWVCrD0nEN_gAJaxOods_wm2K4QtrFFitCQ@mail.gmail.com>

The nanny process is ultimately  the way we need to go, otherwise you won't
ever be able to interrupt remote kernels.

On Thu, Feb 23, 2012 at 23:04, Matt Terry <matt.terry at gmail.com> wrote:

> I want to be able to interrupt an ipython kernel that is local to my
> machine, but not owned by the current process.  I recognize that the
> general problem of interrupting a truly remote kernel is a harder
> problem and i'm not explicitly not addressing that.  However, I think
> interrupting a local kernel is worth having a special case.
>
> All you need to interrupt a local kernel is its pid, so you can send a
> SIGINT to the appropriate process.  The only way I can think of to get
> that information is to ask the remote kernel (over the shell channel)
> to return the output of "os.getpid()".  The kernel might restart and
> change pid, so you'd have to poll.  This seems ugly and failure prone.
>
> What you need is
> A) the kernel to have a nanny that always knows what the kernel's pid is
> or
> B) the kernel to communicate its pid someway other than over the shell
> channel
>
> What about using the heartbeat channel to echo the pid?  To my
> understanding, the heart beats even if the kernel is chugging away.
> We could have the heartbeat channel return the pid instead of the
> uuid, or we could return them both.  Alternatively, we could pid
> information in a file in .ipython/somewhere, but that seems
> potentially contentious.
>
> -matt
> _______________________________________________
> 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/20120224/581bf8f2/attachment.html>

From matt.terry at gmail.com  Fri Feb 24 14:33:11 2012
From: matt.terry at gmail.com (Matt Terry)
Date: Fri, 24 Feb 2012 11:33:11 -0800
Subject: [IPython-dev] interrupting local kernels
In-Reply-To: <CAHNn8BWi_JDSPOUnWVCrD0nEN_gAJaxOods_wm2K4QtrFFitCQ@mail.gmail.com>
References: <CAKn7svqHQh9vswt97EUDOOEt=+FLAmHCPyRYSC4r7G7qo1vvLA@mail.gmail.com>
	<CAHNn8BWi_JDSPOUnWVCrD0nEN_gAJaxOods_wm2K4QtrFFitCQ@mail.gmail.com>
Message-ID: <CAKn7svp2brTP9RdUqRgfVpMEj-MECGXZwijq2B4++ebxUYpOGQ@mail.gmail.com>

I agree, but i think local interrupts would be a very useful stop gap
until the nanny process is implemented.  Personally, I'm willing to
hack on local interrupt issue, but I don't have the spare attention
for the more general problem.

-matt

On Fri, Feb 24, 2012 at 10:58 AM, MinRK <benjaminrk at gmail.com> wrote:
> The nanny process is?ultimately ?the way we need to go, otherwise you won't
> ever be able to interrupt remote kernels.
>
> On Thu, Feb 23, 2012 at 23:04, Matt Terry <matt.terry at gmail.com> wrote:
>>
>> I want to be able to interrupt an ipython kernel that is local to my
>> machine, but not owned by the current process. ?I recognize that the
>> general problem of interrupting a truly remote kernel is a harder
>> problem and i'm not explicitly not addressing that. ?However, I think
>> interrupting a local kernel is worth having a special case.
>>
>> All you need to interrupt a local kernel is its pid, so you can send a
>> SIGINT to the appropriate process. ?The only way I can think of to get
>> that information is to ask the remote kernel (over the shell channel)
>> to return the output of "os.getpid()". ?The kernel might restart and
>> change pid, so you'd have to poll. ?This seems ugly and failure prone.
>>
>> What you need is
>> A) the kernel to have a nanny that always knows what the kernel's pid is
>> or
>> B) the kernel to communicate its pid someway other than over the shell
>> channel
>>
>> What about using the heartbeat channel to echo the pid? ?To my
>> understanding, the heart beats even if the kernel is chugging away.
>> We could have the heartbeat channel return the pid instead of the
>> uuid, or we could return them both. ?Alternatively, we could pid
>> information in a file in .ipython/somewhere, but that seems
>> potentially contentious.
>>
>> -matt
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>


From fperez.net at gmail.com  Sat Feb 25 21:01:52 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sat, 25 Feb 2012 18:01:52 -0800
Subject: [IPython-dev] Introduction to contributing to IPython
In-Reply-To: <CAOvn4qif=93UN8=AejneyfC4R4skXbvG6VwiW1o8=JzwOT0Tag@mail.gmail.com>
References: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>
	<CAOvn4qh8oYYo8diBmwGtCU_cepmWX2LSzZBhGDtjnSYchCbbCg@mail.gmail.com>
	<CAHAreOrWxq1BUSDz-JBDU5CTwkwGN1xps7dOnvxd+6mQwEzzqQ@mail.gmail.com>
	<CAOvn4qgz3L2Cs3dscGgWq3mceBenF=oNcJ2e+1kaGnGV-PsY6w@mail.gmail.com>
	<CAOvn4qif=93UN8=AejneyfC4R4skXbvG6VwiW1o8=JzwOT0Tag@mail.gmail.com>
Message-ID: <CAHAreOoj2bgpauZg8KXmgsoekkYm9Wq=FdfZdc-U8Az-mA-5Aw@mail.gmail.com>

On Fri, Feb 24, 2012 at 2:45 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> Just a quick reminder about this: I'll be preparing at the weekend, so
> any tips would be greatly appreciated!

Mmh, it's unfortunately true that we've done a poor job with
organizing small, newcomer-friendly tasks.  The big event I had of
this kind was in India, and because of this problem I ended up
directing most people to just do docstring fixes in magics.  This
isn't necessarily a bad idea, BTW, for people who may be completely
new to the github worfklow, as it's pretty safe and leads to very easy
to review requests.  So you should keep it in mind as an option in
case you have some absolute newbies in the group.  But for more
experienced developers, just fixing a docstring isn't really too
interesting...

A few other things that come to mind:

- helping review existing PRs.  This is genuinely useful, they can run
the test suite, report on it and then comment on the code.  It will
require reading the code, which is a good way to learn up, and helps
the project.  Not super interesting perhaps, but doing one or two
before diving into a feature may be a good warmup.

- Starting to write the notebook export code.  My quick script
(https://gist.github.com/1569580) is just a start, but this is a nice
isolated project that would be very useful.  I'd call it 'nbexport' to
start with, and later we can turn it into a standalone sub-command
'ipython nbexport'.  A reasonably modular architecture with options to
export to rest for sphinx (html and latex), pure docutils html, and
direct latex, would be great to have.

- Starting something for testing the web notebook with selenium.
Stefan and a Berkeley student have been planning to tackle this one,
but if you get a head start on the problem, it would be great.  We
*really* need to get a grip on testing the notebook before long.

- Integrating the sympy bot with our PRs.  I'd *love* it if every PR
had automatically a link to a report from the bot with the test
results.  Initially it could be just on one platform, though
ultimately the best would be to have a summary of tests on various
buildbots.  This would make the review process even quicker, as one
would know that the tests are already in good shape.  Aaron gave a
great description of their system a few weeks ago.

- Tagging groups and tests in our test suite with 'slow', so that it's
easy to have a 'quick tests' option in addition to the full suite.
Eventually I hope we'll have three levels: default, 'quick' and
'full', where default takes at most 2 minutes, quick is < 30s, and
'full' takes however long is necessary.

I'm afraid these aren't all super newbie-level, unfortunately, but
it's the best I can come up with right now...

Anyone else have other ideas?

Cheers,

f


From takowl at gmail.com  Sun Feb 26 07:40:09 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Sun, 26 Feb 2012 12:40:09 +0000
Subject: [IPython-dev] Introduction to contributing to IPython
In-Reply-To: <CAHAreOoj2bgpauZg8KXmgsoekkYm9Wq=FdfZdc-U8Az-mA-5Aw@mail.gmail.com>
References: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>
	<CAOvn4qh8oYYo8diBmwGtCU_cepmWX2LSzZBhGDtjnSYchCbbCg@mail.gmail.com>
	<CAHAreOrWxq1BUSDz-JBDU5CTwkwGN1xps7dOnvxd+6mQwEzzqQ@mail.gmail.com>
	<CAOvn4qgz3L2Cs3dscGgWq3mceBenF=oNcJ2e+1kaGnGV-PsY6w@mail.gmail.com>
	<CAOvn4qif=93UN8=AejneyfC4R4skXbvG6VwiW1o8=JzwOT0Tag@mail.gmail.com>
	<CAHAreOoj2bgpauZg8KXmgsoekkYm9Wq=FdfZdc-U8Az-mA-5Aw@mail.gmail.com>
Message-ID: <CAOvn4qh7pPe5+_jUfOy4f3L4wHWcLj0kg+7XXvN+TnkKUHLCEg@mail.gmail.com>

On 26 February 2012 02:01, Fernando Perez <fperez.net at gmail.com> wrote:
> Mmh, it's unfortunately true that we've done a poor job with
> organizing small, newcomer-friendly tasks. ?The big event I had of
> this kind was in India, and because of this problem I ended up
> directing most people to just do docstring fixes in magics. ?This
> isn't necessarily a bad idea, BTW, for people who may be completely
> new to the github worfklow, as it's pretty safe and leads to very easy
> to review requests. ?So you should keep it in mind as an option in
> case you have some absolute newbies in the group. ?But for more
> experienced developers, just fixing a docstring isn't really too
> interesting...

My current thinking is to get each group to attempt to fix one of the
quickfix bugs from the issue tracker. This will take them through the
workflow of forking, branching, committing changes and submitting a
pull request, but with something a bit more meaty than changing a
docstring. Hopefully there'll also be time to add a test for each
issue.

Brief thoughts on the other ideas:

- Reviewing pull requests: I may get people doing this if there's
spare time at the end, but I think it's less satisfying, as there's
only so much you can say without being familiar with the codebase.
- Notebook export/Selenium/PRbot: I think you'd need to know the
relevant architecture to make much headway with these during the
meeting. My experience is that the time goes by very quickly, and
there'll be an overhead for getting set up with the repository,
virtualenv, etc.
- Test tagging: something else that I may well hold in reserve.

Thanks,
Thomas


From bussonniermatthias at gmail.com  Sun Feb 26 08:57:17 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Sun, 26 Feb 2012 14:57:17 +0100
Subject: [IPython-dev] Introduction to contributing to IPython
In-Reply-To: <CAHAreOoj2bgpauZg8KXmgsoekkYm9Wq=FdfZdc-U8Az-mA-5Aw@mail.gmail.com>
References: <CAOvn4qidnvbqc8ivUKY8xmHE2TE-dPkxB9OWcfGffBtUat_TEQ@mail.gmail.com>
	<CAOvn4qh8oYYo8diBmwGtCU_cepmWX2LSzZBhGDtjnSYchCbbCg@mail.gmail.com>
	<CAHAreOrWxq1BUSDz-JBDU5CTwkwGN1xps7dOnvxd+6mQwEzzqQ@mail.gmail.com>
	<CAOvn4qgz3L2Cs3dscGgWq3mceBenF=oNcJ2e+1kaGnGV-PsY6w@mail.gmail.com>
	<CAOvn4qif=93UN8=AejneyfC4R4skXbvG6VwiW1o8=JzwOT0Tag@mail.gmail.com>
	<CAHAreOoj2bgpauZg8KXmgsoekkYm9Wq=FdfZdc-U8Az-mA-5Aw@mail.gmail.com>
Message-ID: <CFB9F933-7186-4CD0-B78C-3BCB02D0DDA7@gmail.com>


Le 26 f?vr. 2012 ? 03:01, Fernando Perez a ?crit :

> On Fri, Feb 24, 2012 at 2:45 PM, Thomas Kluyver <takowl at gmail.com> wrote:
>> Just a quick reminder about this: I'll be preparing at the weekend, so
>> any tips would be greatly appreciated!
> 
> 
> - Starting to write the notebook export code.  My quick script
> (https://gist.github.com/1569580) is just a start, but this is a nice
> isolated project that would be very useful.  I'd call it 'nbexport' to
> start with, and later we can turn it into a standalone sub-command
> 'ipython nbexport'.  A reasonably modular architecture with options to
> export to rest for sphinx (html and latex), pure docutils html, and
> direct latex, would be great to have.
> [...]
> Anyone else have other ideas?

A nbv3-> nbv2 converter ? Either as an export option of the current notebook or as a standalone.

Update current example notebook to use Heading cells and all the new stuff ? Write other examples.

On the QtConsole, in a few places code deal with tabs numbers(int) because of Qt. It should be possible to change it to use reference of the widget inside the tabs.
We then could allow reordering of the tabs by drag and drop. 

The "All magics..." menu does not update if new magic are added to the kernel, like when starting the parallel code. It might not be to hard to update the list at some action like changing tab/ executing code.

Clean the closing tab logic. Splitting the close_tab function into internal_close_request and user_close_request might allow to have a much simpler code.

I can try to open some issues on github giving a few pointer on to which file to look for that in the next few days.

Good luck for PyCon, I regret not being able to come.
-- 
Matthias
(aka Carreau)




From hans_meine at gmx.net  Mon Feb 27 04:57:50 2012
From: hans_meine at gmx.net (Hans Meine)
Date: Mon, 27 Feb 2012 10:57:50 +0100
Subject: [IPython-dev] interrupting local kernels
In-Reply-To: <CAKn7svp2brTP9RdUqRgfVpMEj-MECGXZwijq2B4++ebxUYpOGQ@mail.gmail.com>
References: <CAKn7svqHQh9vswt97EUDOOEt=+FLAmHCPyRYSC4r7G7qo1vvLA@mail.gmail.com>
	<CAHNn8BWi_JDSPOUnWVCrD0nEN_gAJaxOods_wm2K4QtrFFitCQ@mail.gmail.com>
	<CAKn7svp2brTP9RdUqRgfVpMEj-MECGXZwijq2B4++ebxUYpOGQ@mail.gmail.com>
Message-ID: <2945946.DVsr9iBSQi@hmeine-pc>

Am Freitag, 24. Februar 2012, 11:33:11 schrieb Matt Terry:
> I agree, but i think local interrupts would be a very useful stop gap
> until the nanny process is implemented.  Personally, I'm willing to
> hack on local interrupt issue, but I don't have the spare attention
> for the more general problem.

I would suggest to copy the nanny process idea from these mails into the 
source code such that future contributors willing to fix this will immediately 
see why it hasn?t been implemented yet, and that the consensus is indeed that 
this makes sense.

Best,
  Hans


From cekees at gmail.com  Mon Feb 27 10:39:26 2012
From: cekees at gmail.com (Chris Kees)
Date: Mon, 27 Feb 2012 09:39:26 -0600
Subject: [IPython-dev] browser support tests for HTML/JS features
Message-ID: <CAOVFbFhSzwQ5kHQUeJUsG6TTrTOxQqiQfpdAq6nSbGTYeAaPDA@mail.gmail.com>

Hi,

Has their been much discussion on how the IPython Notebook is going to
support users and developers trying to debug browser and HTML/JS issues? I
ask becauseI spent some time over the weekend fooling with some animations,
the related HTML5, and various browsers. I find that chrome, for example,
appears to display videos fine in some formats on HTML5 test pages but not
in the Notebook whereas Safari and Firefox have inconsistent support as
well.  Since the notebook is inherently dependent on browser capabilities
it seems like a strategy for differentiating between browser issues (i.e.
those that need to be pushed back to Google/Apple/Mozilla) and IPython
Notebook issues might be worthwhile.

If you're interested in the video and image display tests, I made a public
repository of some simple notebooks at
https://github.com/erdc-cm/proteus-notebooks. Most of these will not run
for most of you because they require either our PDE code Proteus and/or a
package for conservation laws called PyClaw. The one that may be of general
interest is display_test.ipynb. It brings in various image and animation
files in what I think is proper HTML5 via IPython.core.display.HTML.
Somebody handy with matplotlib could easily remove the dependency on the
files and generate the images and animations inline.

Cheers,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120227/1d4a5e00/attachment.html>

From ellisonbg at gmail.com  Mon Feb 27 13:09:59 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 27 Feb 2012 10:09:59 -0800
Subject: [IPython-dev] browser support tests for HTML/JS features
In-Reply-To: <CAOVFbFhSzwQ5kHQUeJUsG6TTrTOxQqiQfpdAq6nSbGTYeAaPDA@mail.gmail.com>
References: <CAOVFbFhSzwQ5kHQUeJUsG6TTrTOxQqiQfpdAq6nSbGTYeAaPDA@mail.gmail.com>
Message-ID: <CAH4pYpQHV=NGfdT=4x_cQPHFpjS=D24U+WrqTrc3+FEme7Mp2A@mail.gmail.com>

Chris,

On Mon, Feb 27, 2012 at 7:39 AM, Chris Kees <cekees at gmail.com> wrote:
> Hi,
>
> Has their been much discussion on how the IPython Notebook is going to
> support users and developers trying to debug browser and HTML/JS issues? I
> ask becauseI spent some time over the weekend fooling with some animations,
> the related HTML5, and various browsers. I find that chrome, for example,
> appears to display videos fine in some formats on HTML5 test pages but not
> in the Notebook whereas Safari and Firefox have inconsistent support as
> well. ?Since the notebook is inherently dependent on browser capabilities it
> seems like a strategy for differentiating between browser issues (i.e. those
> that need to be pushed back to Google/Apple/Mozilla) and IPython Notebook
> issues might be worthwhile.

We really are at the mercy of the browsers when it comes to HTML5
support.  We have followed the parts of HTML5 that affect all
notebooks (flexible box model + WebSockets) but HTML5 has many
additional features we have not tracked.  But I have no idea why
somethings would display fine in a test page but not in the notebook.
It could have to do with the fact that the HTML code generated by the
HTML object is dynamically inserted into the DOM.  Maybe some types of
HTML5 features need to be static on the page?  I will have to think
about how we could get around that.

> If you're interested in the video and image display tests, I made a public
> repository of some simple notebooks
> at?https://github.com/erdc-cm/proteus-notebooks. Most of these will not run
> for most of you because they require either our PDE code Proteus and/or a
> package for conservation laws called PyClaw. The one that may be of general
> interest is display_test.ipynb. It brings in various image and animation
> files in what I think is proper HTML5 via IPython.core.display.HTML.
> Somebody handy with matplotlib could easily remove the dependency on the
> files and generate the images and animations inline.

Oh, great!  Thanks for putting this up and playing around with these
things.  We might want to pull some of the generic ones into the
IPython examples directory.

Cheers,

Brian

> Cheers,
> Chris
>
> _______________________________________________
> 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


From takowl at gmail.com  Mon Feb 27 14:40:12 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Mon, 27 Feb 2012 19:40:12 +0000
Subject: [IPython-dev] Google Summer of Code
Message-ID: <CAOvn4qgcbWGQU2hkEPcy5yf3LmTzyfGt5tyLvv6nywzUzncuxQ@mail.gmail.com>

If we're interested in participating in Google Summer of Code this
year, we need to be thinking about it. We have a list of projects
people can have a go at here:
http://wiki.ipython.org/Potential_projects

In particular, I think these projects might be suitable:
- A curses/urwid frontend, perhaps using code from bpython.
- Flexible readline replacement (though I think we'd need to have a
clearer idea ourselves of how this would work first).

I imagine there are also things that could be done with the notebook.

**9th March** is the deadline for organisations to apply.

Thanks,
Thomas


From fperez.net at gmail.com  Tue Feb 28 17:43:23 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 28 Feb 2012 14:43:23 -0800
Subject: [IPython-dev] Google Summer of Code
In-Reply-To: <CAOvn4qgcbWGQU2hkEPcy5yf3LmTzyfGt5tyLvv6nywzUzncuxQ@mail.gmail.com>
References: <CAOvn4qgcbWGQU2hkEPcy5yf3LmTzyfGt5tyLvv6nywzUzncuxQ@mail.gmail.com>
Message-ID: <CAHAreOoO7OGwo-TY69GB4sPMnSP5=RVNKAvNojkd7EH-nPyLoA@mail.gmail.com>

Hi Thomas,

On Mon, Feb 27, 2012 at 11:40 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> If we're interested in participating in Google Summer of Code this
> year, we need to be thinking about it. We have a list of projects
> people can have a go at here:
> http://wiki.ipython.org/Potential_projects
>
> In particular, I think these projects might be suitable:
> - A curses/urwid frontend, perhaps using code from bpython.
> - Flexible readline replacement (though I think we'd need to have a
> clearer idea ourselves of how this would work first).
>
> I imagine there are also things that could be done with the notebook.
>
> **9th March** is the deadline for organisations to apply.

The real question is: how much *mentor* bandwidth do we have?  I'm
unfortunately out of the loop, unless the mentee were to be already
someone very plugged into our development process, because I'm already
maxed out on ipython work for this summer.  The DoD grant on
parallel/notebook integration will consume my available bandwidth this
summer, and whatever's left is not enough for the kind of dedicated
mentoring expected of the GSoC program.

So of the potential mentors, who is available and interested in
mentoring a student?  It's also important to note that I would want
any student coming in to have already proven to some extent their
ability to contribute actively to the codebase in its current state.
We're simply too small a team right now to do 'from scratch' mentoring
at this point.

As the codebase gets cleaner, I hope well be able (perhaps for next
year) to have a much easier 'on-ramp' for the project with
well-isolated tasks for beginners to get moving.  But we're not there
yet: the code is *much* cleaner and more modular than before, but it's
still a relatively complex project to jump into right now.

I do think that creating those 'easy on-ramps' is both feasible and
important, we just haven't done it, and it won't happen in the next 9
days for sure.

Cheers

f


From asmeurer at gmail.com  Tue Feb 28 18:49:25 2012
From: asmeurer at gmail.com (Aaron Meurer)
Date: Tue, 28 Feb 2012 16:49:25 -0700
Subject: [IPython-dev] Google Summer of Code
In-Reply-To: <CAHAreOoO7OGwo-TY69GB4sPMnSP5=RVNKAvNojkd7EH-nPyLoA@mail.gmail.com>
References: <CAOvn4qgcbWGQU2hkEPcy5yf3LmTzyfGt5tyLvv6nywzUzncuxQ@mail.gmail.com>
	<CAHAreOoO7OGwo-TY69GB4sPMnSP5=RVNKAvNojkd7EH-nPyLoA@mail.gmail.com>
Message-ID: <CAKgW=6JjECnXoqs7ooBOZevSbWYfkA3oKFxe8w_2dXrmOi7UDA@mail.gmail.com>

You might consider just working under the umbrella of the Python
Software Organization (assuming of course that they are accepted).
That's basically all they do is serve as umbrella for projects, except
for maybe a handful of core Python projects.  I'm sure they won't mind
if you put stringent restrictions on who you accept.

Aaron Meurer

On Tue, Feb 28, 2012 at 3:43 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> Hi Thomas,
>
> On Mon, Feb 27, 2012 at 11:40 AM, Thomas Kluyver <takowl at gmail.com> wrote:
>> If we're interested in participating in Google Summer of Code this
>> year, we need to be thinking about it. We have a list of projects
>> people can have a go at here:
>> http://wiki.ipython.org/Potential_projects
>>
>> In particular, I think these projects might be suitable:
>> - A curses/urwid frontend, perhaps using code from bpython.
>> - Flexible readline replacement (though I think we'd need to have a
>> clearer idea ourselves of how this would work first).
>>
>> I imagine there are also things that could be done with the notebook.
>>
>> **9th March** is the deadline for organisations to apply.
>
> The real question is: how much *mentor* bandwidth do we have? ?I'm
> unfortunately out of the loop, unless the mentee were to be already
> someone very plugged into our development process, because I'm already
> maxed out on ipython work for this summer. ?The DoD grant on
> parallel/notebook integration will consume my available bandwidth this
> summer, and whatever's left is not enough for the kind of dedicated
> mentoring expected of the GSoC program.
>
> So of the potential mentors, who is available and interested in
> mentoring a student? ?It's also important to note that I would want
> any student coming in to have already proven to some extent their
> ability to contribute actively to the codebase in its current state.
> We're simply too small a team right now to do 'from scratch' mentoring
> at this point.
>
> As the codebase gets cleaner, I hope well be able (perhaps for next
> year) to have a much easier 'on-ramp' for the project with
> well-isolated tasks for beginners to get moving. ?But we're not there
> yet: the code is *much* cleaner and more modular than before, but it's
> still a relatively complex project to jump into right now.
>
> I do think that creating those 'easy on-ramps' is both feasible and
> important, we just haven't done it, and it won't happen in the next 9
> days for sure.
>
> Cheers
>
> f
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From fperez.net at gmail.com  Tue Feb 28 18:56:52 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 28 Feb 2012 15:56:52 -0800
Subject: [IPython-dev] Google Summer of Code
In-Reply-To: <CAKgW=6JjECnXoqs7ooBOZevSbWYfkA3oKFxe8w_2dXrmOi7UDA@mail.gmail.com>
References: <CAOvn4qgcbWGQU2hkEPcy5yf3LmTzyfGt5tyLvv6nywzUzncuxQ@mail.gmail.com>
	<CAHAreOoO7OGwo-TY69GB4sPMnSP5=RVNKAvNojkd7EH-nPyLoA@mail.gmail.com>
	<CAKgW=6JjECnXoqs7ooBOZevSbWYfkA3oKFxe8w_2dXrmOi7UDA@mail.gmail.com>
Message-ID: <CAHAreOoz1B-GLP-RLc=Bx4JA9OvGcYKXvorpoqhwjh1+smWWPA@mail.gmail.com>

On Tue, Feb 28, 2012 at 3:49 PM, Aaron Meurer <asmeurer at gmail.com> wrote:
> You might consider just working under the umbrella of the Python
> Software Organization (assuming of course that they are accepted).
> That's basically all they do is serve as umbrella for projects, except
> for maybe a handful of core Python projects. ?I'm sure they won't mind
> if you put stringent restrictions on who you accept.

Oh, that's actually what I had in mind, as that's how we've operated
in the past.  I most certainly don't think we have the bandwidth right
now to be a mentoring organization ourselves, as at the most we'd have
room for one or two students.

I didn't realize Thomas' link was about being a mentoring
organization, sorry for the confusion.

Cheers,

f


From takowl at gmail.com  Wed Feb 29 07:32:51 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 29 Feb 2012 12:32:51 +0000
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
Message-ID: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>

Some thoughts on the workshop I ran in Sheffield last night, introducing
people to contributing to IPython. Hopefully this will be useful to anyone
doing a similar event in the future.

In the end we had 11 people besides me. The session was 1h45 minutes long,
and I'd asked them to make sure Python and git were installed beforehand,
and to make a github account. They worked in 5 groups of 2-3, each group
tackling one quickfix bug. I showed a few slides to introduce what we were
doing, then got them to read the bugs and pick which one they'd work on,
then circulated to help different groups.

Overall, I was very pleased with how it went. All 5 groups succeeded in
submitting pull requests (one was finished off when the author got home).
All the groups managed to get to grips with their issue, and most of them
added automated tests as well, which I'd mentioned as part of the bug
fixing process.

Technology:
* Everyone seemed to be OK with github, and there were only a couple of
difficulties with git itself. One person had a Windows laptop, so rather
than attempting to set it up with git, that pair worked on the other guy's
Linux laptop.
* The pair working with the Qt console had some difficulty getting the
dependencies installed. One had an older version of Ubuntu without the
necessary ZMQ, the other had Fedora, where I wasn't sure what the relevant
packages were called. They worked it out themselves after a while.
* Running the development version of IPython in a virtualenv proved
surprisingly difficult. I'd assumed that many people would be familiar with
virtualenv, but it caused some confusion. Clearer instructions would have
helped with this (create virtualenv, activate, install IPython, move out of
source directory, run).
* I had the repository and the bug reports on a memory stick in case the
Wifi failed, but happily it wasn't needed.

Group work:
* Group sizes of 2-3 work well: you can discuss what you're doing, but it's
small enough that everyone is involved. We did a coding event with groups
of 4 previously, and it felt like some people were just watching.
* I'm not sure what the ideal teacher:student ratio is. I was kept busy
steering people in the right direction, and I certainly wouldn't want to
mentor many more groups by myself. But with a second mentor, maybe groups
would have got help too quickly, and learned less than they did by trial
and error. So approx. 1:10 was a reasonable number.
* I think quickfix bugs were a good thing to do: small enough for newcomers
to tackle in a couple of hours, but a concrete achievement - one person, on
reproducing the bug they were working on, said "This is an *actual* bug" in
a tone of mild surprise. It also meant that people had to get the codebase
and run the development version.
* People seemed quite at ease with the idea of adding tests for their bug -
perhaps because many of them are professional coders (a number write Java
or .NET at work, and do Python as a hobby).

That's everything I can think of now - let me know if you have any
questions about it.

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120229/eea23330/attachment.html>

From fperez.net at gmail.com  Wed Feb 29 14:06:02 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 29 Feb 2012 11:06:02 -0800
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
Message-ID: <CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>

On Wed, Feb 29, 2012 at 4:32 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> Some thoughts on the workshop I ran in Sheffield last night, introducing
> people to contributing to IPython. Hopefully this will be useful to anyone
> doing a similar event in the future.

First of all, many thanks!!! It's wonderful both that you did this and
even more that you wrote this detialed report. Hopefully some of them
will get hooked on ipython and will remain active, but even if they
move on to other things, there is still value in their participation
in the process.

> In the end we had 11 people besides me. The session was 1h45 minutes long,
> and I'd asked them to make sure Python and git were installed beforehand,
> and to make a github account. They worked in 5 groups of 2-3, each group
> tackling one quickfix bug. I showed a few slides to introduce what we were
> doing, then got them to read the bugs and pick which one they'd work on,
> then circulated to help different groups.

Care to make the materials you used to introduce things available?
I'm thinking if we can make this a 'sprint in a box', we'll be more
likely to repeat these events...

> Overall, I was very pleased with how it went. All 5 groups succeeded in
> submitting pull requests (one was finished off when the author got home).

Excellent.

> Technology:

> * The pair working with the Qt console had some difficulty getting the
> dependencies installed. One had an older version of Ubuntu without the
> necessary ZMQ, the other had Fedora, where I wasn't sure what the relevant
> packages were called. They worked it out themselves after a while.

Yes, we should provide copy-paste lines for the major distros with the
right package names, to save people some time.

> * Running the development version of IPython in a virtualenv proved
> surprisingly difficult. I'd assumed that many people would be familiar with
> virtualenv, but it caused some confusion. Clearer instructions would have
> helped with this (create virtualenv, activate, install IPython, move out of
> source directory, run).

Yup, again a copy/paste mini-howto would solve this.

> * Group sizes of 2-3 work well: you can discuss what you're doing, but it's
> small enough that everyone is involved. We did a coding event with groups of
> 4 previously, and it felt like some people were just watching.

This matches my experience from multiple occasions, 4 should be
avoided for actual coding.  For a longer-term project it may be OK,
but coding-focused work does seem to break beyond 3 people.

> * I'm not sure what the ideal teacher:student ratio is. I was kept busy
> steering people in the right direction, and I certainly wouldn't want to
> mentor many more groups by myself. But with a second mentor, maybe groups
> would have got help too quickly, and learned less than they did by trial and
> error. So approx. 1:10 was a reasonable number.

Interesting and useful.  Your point about forcing enough trial and
error on their own is a very good one.

> * I think quickfix bugs were a good thing to do: small enough for newcomers
> to tackle in a couple of hours, but a concrete achievement - one person, on
> reproducing the bug they were working on, said "This is an *actual* bug" in
> a tone of mild surprise. It also meant that people had to get the codebase
> and run the development version.

Yes, we need to do more/better triage for this kind of tasks.  Many
thanks for your leadership on this front already!

> * People seemed quite at ease with the idea of adding tests for their bug -
> perhaps because many of them are professional coders (a number write Java or
> .NET at work, and do Python as a hobby).

Glad to hear that, it should indeed become second nature.

Again, many thanks for this excellent work; I'm thrilled at the amount
of work you've put into improving our development process and
community.

Best,

f


From takowl at gmail.com  Wed Feb 29 14:28:41 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 29 Feb 2012 19:28:41 +0000
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
Message-ID: <CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>

On 29 February 2012 19:06, Fernando Perez <fperez.net at gmail.com> wrote:

>  Care to make the materials you used to introduce things available?
> I'm thinking if we can make this a 'sprint in a box', we'll be more
> likely to repeat these events...


No problem. I've just put the slides (ODP) here:
http://archive.ipython.org/media/Contributing%20to%20IPython.odp

Feel free to use & adapt any of it.

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120229/eb02ad12/attachment.html>

From fperez.net at gmail.com  Wed Feb 29 14:46:25 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 29 Feb 2012 11:46:25 -0800
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
Message-ID: <CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>

On Wed, Feb 29, 2012 at 11:28 AM, Thomas Kluyver <takowl at gmail.com> wrote:
>
> No problem. I've just put the slides (ODP) here:
> http://archive.ipython.org/media/Contributing%20to%20IPython.odp

quick question: isn't it easier to run 'setup.py develop' than
'install' in the venv?  I don't use venv for ipython development and
instead run straight from the git repo, so I'm not sure.  But my
understanding was that this would help people shorten the edit/test
cycle by not requiring re-installation in the venv after any changes.

f


From takowl at gmail.com  Wed Feb 29 14:57:17 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 29 Feb 2012 19:57:17 +0000
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
	<CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
Message-ID: <CAOvn4qhD=aFUMuPg4VWzC8K3udqRnj5dWcWOmLgH87m=rVs-QQ@mail.gmail.com>

On 29 February 2012 19:46, Fernando Perez <fperez.net at gmail.com> wrote:

> quick question: isn't it easier to run 'setup.py develop' than
> 'install' in the venv?  I don't use venv for ipython development and
> instead run straight from the git repo, so I'm not sure.  But my
> understanding was that this would help people shorten the edit/test
> cycle by not requiring re-installation in the venv after any changes.
>

I never use 'setup.py develop' myself, and I'm never entirely sure how it
works (some symlinking, I guess), so went with what I knew. Also, I know it
doesn't work when using Python 3 via the 2to3 install step, and I wanted to
keep things consistent.

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120229/a43db662/attachment.html>

From fperez.net at gmail.com  Wed Feb 29 15:02:56 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Wed, 29 Feb 2012 12:02:56 -0800
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAOvn4qhD=aFUMuPg4VWzC8K3udqRnj5dWcWOmLgH87m=rVs-QQ@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
	<CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
	<CAOvn4qhD=aFUMuPg4VWzC8K3udqRnj5dWcWOmLgH87m=rVs-QQ@mail.gmail.com>
Message-ID: <CAHAreOoSJGtLNY4w0TCa42=e7EVz78+SU-C+ZJ=haTKnf-=mBw@mail.gmail.com>

On Wed, Feb 29, 2012 at 11:57 AM, Thomas Kluyver <takowl at gmail.com> wrote:
>
> I never use 'setup.py develop' myself, and I'm never entirely sure how it
> works (some symlinking, I guess), so went with what I knew. Also, I know it
> doesn't work when using Python 3 via the 2to3 install step, and I wanted to
> keep things consistent.

Understood.  I think for py2 use it's OK, but your poinnt about py3 is
100% valid, and given the need to run 2to3, I don't think there's a
way out of using 'install' for py3 then.

Cheers,

f


From asmeurer at gmail.com  Wed Feb 29 15:22:30 2012
From: asmeurer at gmail.com (Aaron Meurer)
Date: Wed, 29 Feb 2012 13:22:30 -0700
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
	<CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
Message-ID: <CAKgW=6Lh86m6J3a-bi4quV-0GvcGnVoV=ti6ssgMqPgdi1D9nA@mail.gmail.com>

I agree with this.  Virtualenv is for more hardcore development than
was likely to be encountered at something like this.  It's useful if
you want to completely isolate yourself from your work, either because
you want to test dependencies (or lack thereof), or because you need
to keep a working environment even while you develop.  For something
like this, I would think that in most cases, installing would not be
necessary at all, but it should be sufficient to just work straight
out of the git directory.

Aaron Meurer

On Wed, Feb 29, 2012 at 12:46 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> On Wed, Feb 29, 2012 at 11:28 AM, Thomas Kluyver <takowl at gmail.com> wrote:
>>
>> No problem. I've just put the slides (ODP) here:
>> http://archive.ipython.org/media/Contributing%20to%20IPython.odp
>
> quick question: isn't it easier to run 'setup.py develop' than
> 'install' in the venv? ?I don't use venv for ipython development and
> instead run straight from the git repo, so I'm not sure. ?But my
> understanding was that this would help people shorten the edit/test
> cycle by not requiring re-installation in the venv after any changes.
>
> f
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From takowl at gmail.com  Wed Feb 29 15:27:09 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 29 Feb 2012 20:27:09 +0000
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAKgW=6Lh86m6J3a-bi4quV-0GvcGnVoV=ti6ssgMqPgdi1D9nA@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
	<CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
	<CAKgW=6Lh86m6J3a-bi4quV-0GvcGnVoV=ti6ssgMqPgdi1D9nA@mail.gmail.com>
Message-ID: <CAOvn4qiTOLyUp1PqoD4FgvnXYYPp3T3ZSBXBHGPQ1nfyJE-51g@mail.gmail.com>

On 29 February 2012 20:22, Aaron Meurer <asmeurer at gmail.com> wrote:

> I would think that in most cases, installing would not be
> necessary at all, but it should be sufficient to just work straight
> out of the git directory.
>

I'm not sure that our test suite can be run without installing - and at
least two of the five groups (those working on Python 3, and on the Qt
console), needed to install it even to replicate their bug.

Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120229/8b21b48d/attachment.html>

From takowl at gmail.com  Wed Feb 29 15:28:15 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 29 Feb 2012 20:28:15 +0000
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAOvn4qiTOLyUp1PqoD4FgvnXYYPp3T3ZSBXBHGPQ1nfyJE-51g@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
	<CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
	<CAKgW=6Lh86m6J3a-bi4quV-0GvcGnVoV=ti6ssgMqPgdi1D9nA@mail.gmail.com>
	<CAOvn4qiTOLyUp1PqoD4FgvnXYYPp3T3ZSBXBHGPQ1nfyJE-51g@mail.gmail.com>
Message-ID: <CAOvn4qjCcE9GYvF3XxvzPnbTHnCSJdM2r0AXzs-ntD_J+EdsEQ@mail.gmail.com>

On 29 February 2012 20:27, Thomas Kluyver <takowl at gmail.com> wrote:

> I'm not sure that our test suite can be run without installing - and at
> least two of the five groups (those working on Python 3, and on the Qt
> console), needed to install it even to replicate their bug.


Where 'installing' includes setup.py develop (as far as I understand it).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120229/9f7f0408/attachment.html>

From jtaylor.debian at googlemail.com  Wed Feb 29 16:12:11 2012
From: jtaylor.debian at googlemail.com (Julian Taylor)
Date: Wed, 29 Feb 2012 22:12:11 +0100
Subject: [IPython-dev] Introduction to Contributing workshop (Python
	Sheffield)
In-Reply-To: <CAOvn4qiTOLyUp1PqoD4FgvnXYYPp3T3ZSBXBHGPQ1nfyJE-51g@mail.gmail.com>
References: <CAOvn4qifUdyXzPgMx6htUZeJ0cWC0S6rcdvUe77udp_kRDpP0g@mail.gmail.com>
	<CAHAreOp_n_GnFBVjpr0af1tNNGvF-W22Of-uBNOz=v+sSL2w8Q@mail.gmail.com>
	<CAOvn4qioe_JjpjzhDND5EC5d2LbGk-OutuU4hANRYLOMC_L4hw@mail.gmail.com>
	<CAHAreOo9kD8wqAj1nDUbVif+dE6GKCvNvtu01cwv59M5Ofa4nA@mail.gmail.com>
	<CAKgW=6Lh86m6J3a-bi4quV-0GvcGnVoV=ti6ssgMqPgdi1D9nA@mail.gmail.com>
	<CAOvn4qiTOLyUp1PqoD4FgvnXYYPp3T3ZSBXBHGPQ1nfyJE-51g@mail.gmail.com>
Message-ID: <4F4E94AB.20607@googlemail.com>

On 02/29/2012 09:27 PM, Thomas Kluyver wrote:
> On 29 February 2012 20:22, Aaron Meurer <asmeurer at gmail.com
> <mailto:asmeurer at gmail.com>> wrote:
> 
>     I would think that in most cases, installing would not be
>     necessary at all, but it should be sufficient to just work straight
>     out of the git directory.
> 
> 
> I'm not sure that our test suite can be run without installing - and at
> least two of the five groups (those working on Python 3, and on the Qt
> console), needed to install it even to replicate their bug.
> 
> Thomas
> 

you can run py2 the testsuite without installing and even without X with:
LC_ALL=C.UTF-8 PATH=$PWD/IPython/scripts/:$PATH PYTHONPATH=$PWD xvfb-run -s "-screen 0 1280x1024x24 -noreset" python $PWD/IPython/scripts/iptest -v;

this is what the debian package does.
I still did not have time to look at running py3 tests but it should be possible to run it from the build directory with a little wrapper script to call the entry point.
Now that debian has py3 nose I should have a look at that.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120229/94ec68b0/attachment.sig>

From ellisonbg at gmail.com  Wed Feb 29 19:17:00 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Wed, 29 Feb 2012 16:17:00 -0800
Subject: [IPython-dev] MathJax 2.0 support
Message-ID: <CAH4pYpT_tY1jytHE-UQCQ93iFuqydeKZMZHmV3_JOfg_=+ziSA@mail.gmail.com>

Two MathJax related warnings:

* MathJax v2.0 (the release) will NOT work with the notebook.  I don't
know what is wrong, but it is completely borked.  But, the CDN latest
2.0.2 does work.
* If you update your MathJax, you need to do a full browser cache
clearing.  A simple page reload will not work (at least in Chrome).

Here is an issue to follow these things:

https://github.com/ipython/ipython/issues/1313

Cheers,

Brian

-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com