From erik.m.bray at gmail.com  Mon Oct  1 10:51:11 2012
From: erik.m.bray at gmail.com (Erik Bray)
Date: Mon, 1 Oct 2012 10:51:11 -0400
Subject: [IPython-dev] Weird PYTHONPATH, etc. issue
In-Reply-To: <CALc6Xo56AWo_gm675bX5P=jDt6Qs7KCq0EW_pUm1X=y_5jZZWw@mail.gmail.com>
References: <CALc6Xo7a4Eu8mBe-_Jrgm0GPs9oFXEYAp=jbc5qTdYGGve+ucA@mail.gmail.com>
	<CAOvn4qh+wVD6fZnwBU6xGPE4xY070Gbn5bainrSWm9==M+_XAQ@mail.gmail.com>
	<CALc6Xo4f1wtPOVg5gcmh9ouW91DRegfEpqidTcikZ-MJOoW-JQ@mail.gmail.com>
	<CAHAreOpbDauDfoRtgknNT_0A8JuDwZYRuXoCgrav+sbfYRzNRQ@mail.gmail.com>
	<CALc6Xo56XLGmKkxaGByM_YGcvHsz2JZ8+i=X7p6zjFjQJ=LrMA@mail.gmail.com>
	<CALc6Xo4416ZWS_BsC6Rn0MJF-M30vUk1POq6CdcOecfG=qHiDg@mail.gmail.com>
	<CALc6Xo60S3WcRRLjgA=CNJC1c2+ycp1B1X05g_ey8AU_=dHa3g@mail.gmail.com>
	<CAHAreOqHfsyxYb2eYutihcfRKx_26jjzbZPAsDepGeoe4dJNWg@mail.gmail.com>
	<CAE4GLsu4Yyp8ER2H91vzZM9UFYnq32ZW__wcBN_3hXS+8a5btg@mail.gmail.com>
	<CAHAreOp-rv5NZW2DyU3z35vy7YNgQLj0PqrUPHL_wC1M1K+3kA@mail.gmail.com>
	<CALc6Xo4pPdpC_1dE=Lux3P2N20MG7Dhrodv2rsFrA=mVXqy8yA@mail.gmail.com>
	<CAOTD34YGTDA=SH_m+EOG2+op-W32z-V5a73j0D5C_QpLbTe=0Q@mail.gmail.com>
	<CALc6Xo56AWo_gm675bX5P=jDt6Qs7KCq0EW_pUm1X=y_5jZZWw@mail.gmail.com>
Message-ID: <CAOTD34Y=+=92Rd4czuLyH8XVesJo3Nf_Nq-fm3Q5ohO=W19eZQ@mail.gmail.com>

On Thu, Sep 27, 2012 at 3:12 PM, David Warde-Farley
<d.warde.farley at gmail.com> wrote:
> On Thu, Sep 27, 2012 at 8:59 AM, Erik Bray <erik.m.bray at gmail.com> wrote:
>
>> I don't really see this so much as a setuptools problem though.  Your
>> sysadmin shouldn't be using PYTHONPATH for this.  I've had to battle
>> this a bit at my own institution.  The problem with using PYTHONPATH
>> to add site-specific site-packages directories are many-fold.  For
>> one, if the user then messes with their PYTHONPATH they suddenly can't
>> `import numpy` anymore and come complaining that numpy broke or
>> something like that.  PYTHONPATH should be there as an easy way for
>> the user to optionally add additional paths to the front of their
>> sys.path.  So when it's used like this it basically takes away your
>> freedom to customize anything on your path at all since the contents
>> of PYTHONPATH come first.  Sure you can always add your stuff to the
>> front of PYTHONPATH too, but a lot of users get confused by that.
>
> Prepending to an environment variable to override things is a pretty
> standard UNIXy thing to do. Same thing appears in Java with CLASSPATH,
> etc., and it pretty much mirrors PATH in that respect. I guess it
> could confuse novices, you're right.

I agree that it's a pretty standard UNIXy thing to do; and that fact
was tugging on the back of my mind as I wrote that. Python, however,
really does not need to rely on PYTHONPATH as much as Java, for
example, relies on CLASSPATH.  And this is a Good Thing.  Python is
designed so that lots of things can be added to its import path
(through sitecustomize.py, usercustomize.py, and other mechanisms)
while keeping PYTHONPATH completely clean, allowing it to be used
easily as a mechanism for run-time user overrides *without* requiring
the user to take great care to keep all the correct items in it, and
carefully restore in when they're done with this.

That's one of the great things about virtualenv--it often surprises
people when I show them virtualenv for the first time that it doesn't
put anything on their PYTHONPATH (although it does modify $PATH).
Relying on PYTHONPATH makes virtualenv less useful because you can't
install something into the virtualenv (a different version of Numpy
for example) and have it override the Numpy imported via the
PYTHONPATH entries.  But I digress.

>> What the sysadmin *should* be doing is adding a sitecustomize.py
>> somewhere on the standard sys.path (in lib/pythonX.Y/site-packages for
>> example) and adding any custom paths there, while leaving your
>> PYTHONPATH alone.  As mentioned elsewhere in this thread
>> usercustomize.py can also be used.
>
> Are you sure this would solve the issue? If all of the stuff in all of
> the site-packages directories is processed before PYTHONPATH is even
> touched, then I guess it might.
>
> David

Generally speaking, yes.  Though I would still believe it if, as
Fernando wrote, setuptools is doing something that even messes
up/overrides PYTHONPATH.  I'm just not sure what that would be as I've
never run into any problems like that.  But I'm not saying they don't
exist, or even denying that they're likely to exist :)

Erik


From brad.froehle at gmail.com  Mon Oct  1 22:05:19 2012
From: brad.froehle at gmail.com (Bradley M. Froehle)
Date: Mon, 1 Oct 2012 19:05:19 -0700
Subject: [IPython-dev] IPEP-4: Python 3 Compatibility
Message-ID: <CAHXv-MiNtnfQK5g0QubPp=1Km42uE+zL-6+O8rbOfwsGAa0j=A@mail.gmail.com>

Hi,

I'd like to introduce "IPEP-4: Python 3 Compatibility", the fourth IPython
Enhancement Proposal.

https://github.com/ipython/ipython/wiki/IPython-Enhancement-Proposals-(IPEPs)
https://github.com/ipython/ipython/wiki/IPEP-4:-Python-3-Compatibility

As you likely know, currently running ``python3 ipython.py`` does not work
out of the box, as the source code we ship is only natively compatible with
Python 2.6 and 2.7. Our excellent support for Python 3.2 and 3.3 relies on
first running the source code through 2to3 (i.e., ``python3 setup,py build``).

This proposal suggests a number of modifications to the IPython source
to allow the code to be run in Python 2.6, 2.7 and 3.3 without the use of
2to3.  Python 3.2 compatibility would be maintained through continued use
of 2to3.

If you are interested in fulfilling the "instant running" promise
``python3.3 ipython.py`` or detest the (invasive?) required source code
changes and think we should defer this project until a later date, here is
what you should do:

1. Read the draft IPEP:

https://github.com/ipython/ipython/wiki/IPEP-4:-Python-3-Compatibility

2. Discuss the IPEP in this email thread and/or in the Github issue queue:

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

3. Help us edit the IPEP as the discussion moves along.

Cheers,
Brad


From satra at mit.edu  Mon Oct  1 22:50:12 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Mon, 1 Oct 2012 22:50:12 -0400
Subject: [IPython-dev] how to deal with really large cell output
Message-ID: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>

hi all,

i ran into a scenario recently, where the stdout from a command resulted in
a notebook file that was 23MB large and it brought the browser to a halt
and the same when loading the notebook. are there ways around this?

cheers,

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

From bussonniermatthias at gmail.com  Tue Oct  2 04:00:13 2012
From: bussonniermatthias at gmail.com (Matthias Bussonnier)
Date: Tue, 2 Oct 2012 10:00:13 +0200
Subject: [IPython-dev] how to deal with really large cell output
In-Reply-To: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
References: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
Message-ID: <CANJQusVg22wbj1VzZ0ik6PfMgxjWaeHUQoJb0ut0HL7-TMGZXg@mail.gmail.com>

We plan on adding progressive load/ unload of un necessary part, cell by
cell. This need refactor, but should fix most of the issues of huge
notebooks loading.

Sorry for the inconvenience.
Le 2 oct. 2012 04:50, "Satrajit Ghosh" <satra at mit.edu> a ?crit :

> hi all,
>
> i ran into a scenario recently, where the stdout from a command resulted
> in a notebook file that was 23MB large and it brought the browser to a halt
> and the same when loading the notebook. are there ways around this?
>
> cheers,
>
> satra
>
> _______________________________________________
> 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/20121002/01156f9d/attachment.html>

From satra at mit.edu  Tue Oct  2 08:00:56 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Tue, 2 Oct 2012 08:00:56 -0400
Subject: [IPython-dev] how to deal with really large cell output
In-Reply-To: <CANJQusVg22wbj1VzZ0ik6PfMgxjWaeHUQoJb0ut0HL7-TMGZXg@mail.gmail.com>
References: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
	<CANJQusVg22wbj1VzZ0ik6PfMgxjWaeHUQoJb0ut0HL7-TMGZXg@mail.gmail.com>
Message-ID: <CA+A4wO=ZkZNfRktjcT1LuizpkZL3LWkNE3vYkmC+VUO+u2MvAA@mail.gmail.com>

thanks matthias. for the time being i loaded the notebook in emacs and
removed the output from the cell.

cheers,

satra



On Tue, Oct 2, 2012 at 4:00 AM, Matthias Bussonnier <
bussonniermatthias at gmail.com> wrote:

> We plan on adding progressive load/ unload of un necessary part, cell by
> cell. This need refactor, but should fix most of the issues of huge
> notebooks loading.
>
> Sorry for the inconvenience.
> Le 2 oct. 2012 04:50, "Satrajit Ghosh" <satra at mit.edu> a ?crit :
>
>>  hi all,
>>
>> i ran into a scenario recently, where the stdout from a command resulted
>> in a notebook file that was 23MB large and it brought the browser to a halt
>> and the same when loading the notebook. are there ways around this?
>>
>> cheers,
>>
>> satra
>>
>> _______________________________________________
>> 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/20121002/baf85d7f/attachment.html>

From hans_meine at gmx.net  Tue Oct  2 08:40:58 2012
From: hans_meine at gmx.net (Hans Meine)
Date: Tue, 02 Oct 2012 14:40:58 +0200
Subject: [IPython-dev] how to deal with really large cell output
In-Reply-To: <CA+A4wO=ZkZNfRktjcT1LuizpkZL3LWkNE3vYkmC+VUO+u2MvAA@mail.gmail.com>
References: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
	<CANJQusVg22wbj1VzZ0ik6PfMgxjWaeHUQoJb0ut0HL7-TMGZXg@mail.gmail.com>
	<CA+A4wO=ZkZNfRktjcT1LuizpkZL3LWkNE3vYkmC+VUO+u2MvAA@mail.gmail.com>
Message-ID: <4384350.bmmOWs1VgD@hmeine-pc>

Am Dienstag, 2. Oktober 2012, 08:00:56 schrieb Satrajit Ghosh:
> thanks matthias. for the time being i loaded the notebook in emacs and
> removed the output from the cell.

Have you tried the Emacs IPython notebook?
http://tkf.github.com/emacs-ipython-notebook/

It was incredibly straight-forward to setup and use, and finally offers *both* 
the fabulous IPython notebook *and* your favorite code editor.

Just sayin'. ;-)

Best regards,
  Hans



From satra at mit.edu  Tue Oct  2 11:39:13 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Tue, 2 Oct 2012 11:39:13 -0400
Subject: [IPython-dev] traitlets instance metadata
Message-ID: <CA+A4wOk9UtRjcC=Xzgnw=TPs6ix127ZmUJ-AY+gFOjFPd5v-2g@mail.gmail.com>

hi devs,

does the traitlets implementation allow metadata modification on a per
instance basis?

cheers,

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

From ellisonbg at gmail.com  Tue Oct  2 12:21:00 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 2 Oct 2012 09:21:00 -0700
Subject: [IPython-dev] how to deal with really large cell output
In-Reply-To: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
References: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
Message-ID: <CAH4pYpQH0s-gnqfJ1hbTur4sCWnq-tD+24ZTFfqPHBjJKfGf7w@mail.gmail.com>

It is difficult for any environment to handle that about of stdout -
not just the notebook.  So my first answer is don't do that.  But I
realize that these things to happen occasionally (sometimes you don't
know how big something really is - it is pretty easy for this to
happen accidentally).  What we should do is put a limit on how much
gets sent back to the browser and then have an API/UI for getting more
if you want.

On Mon, Oct 1, 2012 at 7:50 PM, Satrajit Ghosh <satra at mit.edu> wrote:
> hi all,
>
> i ran into a scenario recently, where the stdout from a command resulted in
> a notebook file that was 23MB large and it brought the browser to a halt and
> the same when loading the notebook. are there ways around this?
>
> cheers,
>
> satra
>
> _______________________________________________
> 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 Oct  2 12:21:00 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 2 Oct 2012 09:21:00 -0700
Subject: [IPython-dev] how to deal with really large cell output
In-Reply-To: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
References: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
Message-ID: <CAH4pYpQH0s-gnqfJ1hbTur4sCWnq-tD+24ZTFfqPHBjJKfGf7w@mail.gmail.com>

It is difficult for any environment to handle that about of stdout -
not just the notebook.  So my first answer is don't do that.  But I
realize that these things to happen occasionally (sometimes you don't
know how big something really is - it is pretty easy for this to
happen accidentally).  What we should do is put a limit on how much
gets sent back to the browser and then have an API/UI for getting more
if you want.

On Mon, Oct 1, 2012 at 7:50 PM, Satrajit Ghosh <satra at mit.edu> wrote:
> hi all,
>
> i ran into a scenario recently, where the stdout from a command resulted in
> a notebook file that was 23MB large and it brought the browser to a halt and
> the same when loading the notebook. are there ways around this?
>
> cheers,
>
> satra
>
> _______________________________________________
> 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 asmeurer at gmail.com  Tue Oct  2 14:18:17 2012
From: asmeurer at gmail.com (Aaron Meurer)
Date: Tue, 2 Oct 2012 12:18:17 -0600
Subject: [IPython-dev] how to deal with really large cell output
In-Reply-To: <4384350.bmmOWs1VgD@hmeine-pc>
References: <CA+A4wOkJe8NgDdyZjHTPcw1isjx2158auW8z8EuA-ra56R-PiA@mail.gmail.com>
	<CANJQusVg22wbj1VzZ0ik6PfMgxjWaeHUQoJb0ut0HL7-TMGZXg@mail.gmail.com>
	<CA+A4wO=ZkZNfRktjcT1LuizpkZL3LWkNE3vYkmC+VUO+u2MvAA@mail.gmail.com>
	<4384350.bmmOWs1VgD@hmeine-pc>
Message-ID: <6564895197062025063@unknownmsgid>

On Oct 2, 2012, at 6:41 AM, Hans Meine <hans_meine at gmx.net> wrote:

> Am Dienstag, 2. Oktober 2012, 08:00:56 schrieb Satrajit Ghosh:
>> thanks matthias. for the time being i loaded the notebook in emacs and
>> removed the output from the cell.
>
> Have you tried the Emacs IPython notebook?
> http://tkf.github.com/emacs-ipython-notebook/
>
> It was incredibly straight-forward to setup and use, and finally offers *both*
> the fabulous IPython notebook *and* your favorite code editor.

I'm actually curious how the emacs notebook would have handled that
file. Emacs can handle enormous files with a breeze because it is able
to load the file dynamically (though certain extensions or lines in
.emacs can negate this). I've used it to edit files that are a
gigabyte large, which crashed my best GUI editor. So if it was just an
issue of JavaScript and the browser, perhaps emacs could have fared
better.

Aaron Meurer

>
> Just sayin'. ;-)
>
> Best regards,
>  Hans
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From dpquigl at davequigley.com  Tue Oct  2 15:43:44 2012
From: dpquigl at davequigley.com (David Quigley)
Date: Tue, 02 Oct 2012 15:43:44 -0400
Subject: [IPython-dev] =?utf-8?q?Anyone_done_anything_like_this_before=3F?=
Message-ID: <d238009f0423a6aae52156d9effc8011@countercultured.net>

I want to use ipython as a shell which will receive commands and then 
task a process to do things. The trick here is that I want to start the 
process from within ipython and monitor its stdin/stdout for commands. 
It is a message passing interface so events will come in async and I 
need the shell to be able to handle them. Is there something similar to 
this out there somewhere that I can look at for inspiration? Is this 
even possible?

Dave


From aron at ahmadia.net  Tue Oct  2 15:47:00 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Tue, 2 Oct 2012 22:47:00 +0300
Subject: [IPython-dev] Anyone done anything like this before?
In-Reply-To: <d238009f0423a6aae52156d9effc8011@countercultured.net>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
Message-ID: <CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>

Absolutely, you want the subprocess module, and in particular, the
subprocess.communicate() method.

http://docs.python.org/library/subprocess.html

This is core Python functionality, but it wil work from IPython as well.

A

On Tue, Oct 2, 2012 at 10:43 PM, David Quigley <dpquigl at davequigley.com>wrote:

> I want to use ipython as a shell which will receive commands and then
> task a process to do things. The trick here is that I want to start the
> process from within ipython and monitor its stdin/stdout for commands.
> It is a message passing interface so events will come in async and I
> need the shell to be able to handle them. Is there something similar to
> this out there somewhere that I can look at for inspiration? Is this
> even possible?
>
> Dave
> _______________________________________________
> 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/20121002/db19e889/attachment.html>

From dpquigl at davequigley.com  Tue Oct  2 15:51:02 2012
From: dpquigl at davequigley.com (David Quigley)
Date: Tue, 02 Oct 2012 15:51:02 -0400
Subject: [IPython-dev]
 =?utf-8?q?Anyone_done_anything_like_this_before=3F?=
In-Reply-To: <CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
	<CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
Message-ID: <ca6d32d91559dbb39585b16e59dcd097@countercultured.net>

On 10/02/2012 15:47, Aron Ahmadia wrote:
> Absolutely, you want the subprocess module, and in particular, the
> subprocess.communicate() method.
>
> http://docs.python.org/library/subprocess.html [3]
>
> This is core Python functionality, but it wil work from IPython as 
> well.
>
> A
>
> On Tue, Oct 2, 2012 at 10:43 PM, David Quigley
> <dpquigl at davequigley.com> wrote:
>
>> I want to use ipython as a shell which will receive commands and 
>> then
>> task a process to do things. The trick here is that I want to start 
>> the
>> process from within ipython and monitor its stdin/stdout for 
>> commands.
>> It is a message passing interface so events will come in async and I
>> need the shell to be able to handle them. Is there something similar 
>> to
>> this out there somewhere that I can look at for inspiration? Is this
>> even possible?
>>
>> Dave
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev [2]
>
>
>
> Links:
> ------
> [1] http://mail.scipy.org/mailman/listinfo/ipython-dev
> [2] http://docs.python.org/library/subprocess.html
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


I've started down that path and I'm hoping I can select on the pipes 
for STDIN and STDOUT. I'm just wondering how this fits in with ipython's 
event model. Maybe its my lack of knowledge of python but our custom 
shell we already have written uses an io event loop to just listen for 
messages on the two pipes and process and send over them as needed. I 
guess the better way of phrasing the question would be, do I have to 
worry about decoupling an IO loop for the subprocess from the io loop 
for ipython?


From aron at ahmadia.net  Tue Oct  2 15:57:06 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Tue, 2 Oct 2012 22:57:06 +0300
Subject: [IPython-dev] Anyone done anything like this before?
In-Reply-To: <ca6d32d91559dbb39585b16e59dcd097@countercultured.net>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
	<CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
	<ca6d32d91559dbb39585b16e59dcd097@countercultured.net>
Message-ID: <CAPhiW4h4GGxKm3YGTRk8C2meSQM=LihsKPF2M_eZ8mitHou9cg@mail.gmail.com>

I've started down that path and I'm hoping I can select on the pipes

> for STDIN and STDOUT. I'm just wondering how this fits in with ipython's
> event model. Maybe its my lack of knowledge of python but our custom
> shell we already have written uses an io event loop to just listen for
> messages on the two pipes and process and send over them as needed. I
> guess the better way of phrasing the question would be, do I have to
> worry about decoupling an IO loop for the subprocess from the io loop
> for ipython?
>
>
Fair enough, this goes deeper into the IPython internals than I'm familiar
with, so you might need to wait for one of the real experts to reply :)

A
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121002/5a2a3569/attachment.html>

From ellisonbg at gmail.com  Tue Oct  2 16:21:01 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 2 Oct 2012 13:21:01 -0700
Subject: [IPython-dev] Policy for closing pull requests
In-Reply-To: <CAHAreOrnqfYV4WHTMGLrbYHm+AFofBV0dUa1-9vHtF+q4XnxWQ@mail.gmail.com>
References: <CAH4pYpQO=5Khyu_KBW+7E5bEuLWF3VduWowSpnh51nr8y230Xw@mail.gmail.com>
	<CAKgW=6KQWmY+6cimjOK5C2s=Mcw+hvrZkHYNR9172t+4=pZWhw@mail.gmail.com>
	<CAHAreOqCpzqvyEdbtNTbA1WdOTYwOGZuVQuf4R6VDHew6krL5Q@mail.gmail.com>
	<CAH4pYpSqPZCxLZvw2hqFvk_dRvoO7=j8uoBxbQd-kjstv5FNXg@mail.gmail.com>
	<CAHAreOo7rswY-qGGbNyNpp8UQc1=X=r0okh8jMvkTawVo38-=g@mail.gmail.com>
	<CAH4pYpSwLKoPwjAoZfz08VimJ3fg3BvS0K38kHTvygex72_tiQ@mail.gmail.com>
	<CAHAreOrnqfYV4WHTMGLrbYHm+AFofBV0dUa1-9vHtF+q4XnxWQ@mail.gmail.com>
Message-ID: <CAH4pYpTwE2Tx-3xJa2AfiC+9qZuzN=sp4wShD6vVG8hf3oTy1Q@mail.gmail.com>

https://github.com/ipython/ipython/wiki/Policy:-Closing-pull-requests

Please make edits if I have missed anything.

On Mon, Aug 13, 2012 at 8:29 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> On Mon, Aug 13, 2012 at 8:14 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>> On Sun, Aug 12, 2012 at 11:36 PM, Fernando Perez <fperez.net at gmail.com> wrote:
>
>>>> * What do we do about PRs that sit for a month waiting for review?
>>>
>>> We flog ourselves with a nail-studded whip and we review them :)
>>
>> I went back and forth of this one.  I mostly agree with you.  But our
>> busy schedules and the large number of PRs definitely makes it a
>> challenge to review everything promptly.
>
> I know, this one is terrible.  I really hope we never reach that
> point, and that's why at least I think we can ask the wider list to
> pitch in with review if we're falling behind badly.  Because if it's
> only up to the core committers to keep the queue moving, we'll hit
> this bad scenario way too often.
>
>>> I want IPython to be a project where, if we have *one* policy, it's
>>> that intelligent discussion comes *always* before policy.
>>
>> Yes, but part of my goal is that we can come up with a guidelines for
>> closing PRs that are simple, and don't require long discussions.  If I
>
> Oh, certainly: I think having guidelines like this *is* useful, as it
> lets us make frequent decisions fluidly.  This is similar to how we
> have other good dev guidelines that make the process easier for
> everyone.  I just don't want to go too far in the direction of policy
> overriding the notion that we're open to discussion *when discussion
> is really necessary*.  But if the guidelines are sensible, in the vast
> majority of cases they can just be applied/followed, no discussion is
> necessary and they just help keep the gears in motion.
>
>> or someone else adheres to these guidelines are you OK with PRs being
>> closed without first running it by all interested parties?  To
>> summarize, here are the main points:
>>
>> * PRs that haven't been reviewed for a month should prompt us to kick
>> each other into gear.  We should ping each other, the list and
>> specific people if necessary to get the review going.  The PR remains
>> open and we apologize to the author for our slowness.
>> * PRs that have been reviewed, but that sit for a month waiting for
>> code get closed.
>> * PRs that spawn larger discussions that are not resolved after a
>> month get closed.
>> * The person who closes an issue must open an issue that links to the
>
> you mean 'who closes a  PR'
>
>> PR and tell the author that we welcome them to reopen the PR when they
>> start to work on it again.  If appropriate we can even give details of
>> the work that needs to be done.  But the tone must be one of
>> encouragement.  We can even site this guideline and our desire to keep
>> PRs moving.
>
> Yup, I think this is a *very* sensible set of guidelines, and I bet
> you we'll be able to follow them more or less automatically in most
> cases.
>
> And furthermore, it means we can have a little script that runs as a
> cron job somewhere and updates a little dashboard on the future wiki
> showing perhaps the state of the PR queue as a green/yellow/red grid:
> red ones are over one month of inactivity (hence candidates to go and
> close with the above process), yellow ones have say > 2 weeks of
> inactivity, and those with activity in the last two weeks are green.
>
> I'd really like to have a birds-eye view of the PR queue like that :)
> If in practice we find that it's too easy to 'refresh' a PR to green
> status because of an innocent comment that doesn't really add
> anything, we could tweak the above to be time since last pushed commit
> instead of time since last comment...  Just an idea...
>
> In any case, that was just me thinking about workflow tools.  But back
> to the basic point of this discussion, I'm +1 on the above summary.
>
> Thanks for taking this on!  It will help us to organize the flow better.
>
> 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 takowl at gmail.com  Tue Oct  2 16:42:08 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Tue, 2 Oct 2012 21:42:08 +0100
Subject: [IPython-dev] Anyone done anything like this before?
In-Reply-To: <CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
	<CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
Message-ID: <CAOvn4qjnWWd_5PEgjBtoMxrexiYXWtMGx8YmN0Vok+A2WWW71A@mail.gmail.com>

On 2 October 2012 20:47, Aron Ahmadia <aron at ahmadia.net> wrote:
> Absolutely, you want the subprocess module, and in particular, the
> subprocess.communicate() method.
>
> http://docs.python.org/library/subprocess.html

I'm not sure that that is the best thing here. The docs for
communicate() say "...Wait for process to terminate...", whereas it
sounds like David wants to repeatedly communicate with a process.

I'm not entirely sure from the description, but I'd point you to
pexpect, which is designed to wait for particular output patterns from
a process and respond with input.

http://www.noah.org/wiki/pexpect#Description_of_Pexpect

Thomas


From dpquigl at davequigley.com  Tue Oct  2 16:45:46 2012
From: dpquigl at davequigley.com (David Quigley)
Date: Tue, 02 Oct 2012 16:45:46 -0400
Subject: [IPython-dev]
 =?utf-8?q?Anyone_done_anything_like_this_before=3F?=
In-Reply-To: <CAOvn4qjnWWd_5PEgjBtoMxrexiYXWtMGx8YmN0Vok+A2WWW71A@mail.gmail.com>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
	<CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
	<CAOvn4qjnWWd_5PEgjBtoMxrexiYXWtMGx8YmN0Vok+A2WWW71A@mail.gmail.com>
Message-ID: <f062976bce01a7cb012557f97c766a4a@countercultured.net>

On 10/02/2012 16:42, Thomas Kluyver wrote:
> On 2 October 2012 20:47, Aron Ahmadia <aron at ahmadia.net> wrote:
>> Absolutely, you want the subprocess module, and in particular, the
>> subprocess.communicate() method.
>>
>> http://docs.python.org/library/subprocess.html
>
> I'm not sure that that is the best thing here. The docs for
> communicate() say "...Wait for process to terminate...", whereas it
> sounds like David wants to repeatedly communicate with a process.
>
> I'm not entirely sure from the description, but I'd point you to
> pexpect, which is designed to wait for particular output patterns 
> from
> a process and respond with input.
>
> http://www.noah.org/wiki/pexpect#Description_of_Pexpect
>
> Thomas
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

I ran into that problem before. If you don't want to wait for it to 
terminate you can use the IO pipes directly instead. Select on the STDIN 
or STDOUT that you get from the popen call and use those to communicate 
with the process.


From takowl at gmail.com  Tue Oct  2 17:00:32 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Tue, 2 Oct 2012 22:00:32 +0100
Subject: [IPython-dev] Anyone done anything like this before?
In-Reply-To: <f062976bce01a7cb012557f97c766a4a@countercultured.net>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
	<CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
	<CAOvn4qjnWWd_5PEgjBtoMxrexiYXWtMGx8YmN0Vok+A2WWW71A@mail.gmail.com>
	<f062976bce01a7cb012557f97c766a4a@countercultured.net>
Message-ID: <CAOvn4qhXn_5YJ=MvCkO3hu7h3qiNXDHUYEG9F7jahPQ=3Qk5Hw@mail.gmail.com>

On 2 October 2012 21:45, David Quigley <dpquigl at davequigley.com> wrote:
> I ran into that problem before. If you don't want to wait for it to
> terminate you can use the IO pipes directly instead. Select on the STDIN
> or STDOUT that you get from the popen call and use those to communicate
> with the process.

The subprocess docs caution against using stdin/stdout directly, but
the reasoning is something to do with buffers and deadlocks that I
don't understand. If you're happy with it, go ahead.

I'm not quite sure what you're asking about IPython. The basic
terminal IPython doesn't have an event loop: it just calls the
raw_input() function to get user commands, i.e. it's blocking. The
two-process model (for the Qt console, the notebook, etc.), uses the
event loop in pyzmq, which is based on the Tornado event loop. Details
here:
http://zeromq.github.com/pyzmq/eventloop.html

Thomas


From takowl at gmail.com  Tue Oct  2 17:45:34 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Tue, 2 Oct 2012 22:45:34 +0100
Subject: [IPython-dev] Extension loading
In-Reply-To: <CAOvn4qiVjXipNNRVWqROKgsPDwwZS-eUCcCVN5vrV7C3ubXvuA@mail.gmail.com>
References: <CAOvn4qiVjXipNNRVWqROKgsPDwwZS-eUCcCVN5vrV7C3ubXvuA@mail.gmail.com>
Message-ID: <CAOvn4qghrMRR3dkaeiNwu4i5V-Pyp3rfdTRdnjZrXPV3bNiYOg@mail.gmail.com>

On 29 September 2012 16:42, Thomas Kluyver <takowl at gmail.com> wrote:
> Some of our default extensions contain a global flag to prevent the
> extension being loaded more than once. This is rather ugly, and fixes
> us to the singleton model of one IPython shell per process. I'd like
> to clear that up before more third parties copy the pattern.

I've now started this in PR #2462
https://github.com/ipython/ipython/pull/2462

Thanks,
Thomas


From jason-sage at creativetrax.com  Tue Oct  2 18:34:10 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Tue, 02 Oct 2012 17:34:10 -0500
Subject: [IPython-dev] Anyone done anything like this before?
In-Reply-To: <CAOvn4qjnWWd_5PEgjBtoMxrexiYXWtMGx8YmN0Vok+A2WWW71A@mail.gmail.com>
References: <d238009f0423a6aae52156d9effc8011@countercultured.net>
	<CAPhiW4iQmpVNh=h4Q4cvfNONEHf+QRfQSAdgC=_hVDegXLsa7w@mail.gmail.com>
	<CAOvn4qjnWWd_5PEgjBtoMxrexiYXWtMGx8YmN0Vok+A2WWW71A@mail.gmail.com>
Message-ID: <506B6BE2.6090504@creativetrax.com>

On 10/2/12 3:42 PM, Thomas Kluyver wrote:
> On 2 October 2012 20:47, Aron Ahmadia <aron at ahmadia.net> wrote:
>> Absolutely, you want the subprocess module, and in particular, the
>> subprocess.communicate() method.
>>
>> http://docs.python.org/library/subprocess.html
>
> I'm not sure that that is the best thing here. The docs for
> communicate() say "...Wait for process to terminate...", whereas it
> sounds like David wants to repeatedly communicate with a process.

That note in the communicate docs:

http://docs.python.org/library/subprocess.html#subprocess.Popen.communicate

indicates you should use Popen with a stdin/stdout pipe to be able to do 
what you want.

Thanks,

Jason




From satra at mit.edu  Wed Oct  3 14:17:44 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Wed, 3 Oct 2012 14:17:44 -0400
Subject: [IPython-dev] multiprocessing from within notebook crashes
	kernel
In-Reply-To: <CAHNn8BV+gEZ5OxLF=KQztkm=0Hh2V=tM_Zt2sxokowev_-s+PQ@mail.gmail.com>
References: <CA+A4wOmg85DrpZYnwx_WSZUZ8y9fR9pTdK5-KZJisb0KsYfQmA@mail.gmail.com>
	<CAHNn8BV+gEZ5OxLF=KQztkm=0Hh2V=tM_Zt2sxokowev_-s+PQ@mail.gmail.com>
Message-ID: <CA+A4wOnSaXm5CumJJg0Ys6SbgK+0WoP4+E-oPGQKgGEnucXMfg@mail.gmail.com>

hi min,

just getting back to this error. turns out that this error results from an
interaction between our library's logging mechanism (using python logging
module), the ipython kernel (happens with notebook and console but not with
ipython on terminal) and multiprocessing. i don't get the same error
running the same set of commands in the ipython terminal. i suspect it has
to do with how logging output is trapped and conveyed in the
multiprocessing context back to the browser.

cheers,

satra

On Sun, Sep 9, 2012 at 2:22 PM, MinRK <benjaminrk at gmail.com> wrote:

> What version of pyzmq?  If it's less than 2.2.0.1, try upgrading.
> -MinRK
>
> On Sun, Sep 9, 2012 at 6:35 AM, Satrajit Ghosh <satra at mit.edu> wrote:
>
>> hi all,
>>
>> we are using a workflow library that internally uses multiprocessing to
>> distribute jobs locally. when we run this from the notebook, it crashes the
>> kernel.
>>
>> any thoughts as to why this might happen.
>>
>> here is the code from the library:
>>
>>
>> https://github.com/nipy/nipype/blob/master/nipype/pipeline/plugins/multiproc.py
>>
>> cheers,
>>
>> satra
>>
>>
>> _______________________________________________
>> 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/20121003/89e3ae64/attachment.html>

From benjaminrk at gmail.com  Wed Oct  3 14:26:27 2012
From: benjaminrk at gmail.com (MinRK)
Date: Wed, 3 Oct 2012 11:26:27 -0700
Subject: [IPython-dev] multiprocessing from within notebook crashes
	kernel
In-Reply-To: <CA+A4wOnSaXm5CumJJg0Ys6SbgK+0WoP4+E-oPGQKgGEnucXMfg@mail.gmail.com>
References: <CA+A4wOmg85DrpZYnwx_WSZUZ8y9fR9pTdK5-KZJisb0KsYfQmA@mail.gmail.com>
	<CAHNn8BV+gEZ5OxLF=KQztkm=0Hh2V=tM_Zt2sxokowev_-s+PQ@mail.gmail.com>
	<CA+A4wOnSaXm5CumJJg0Ys6SbgK+0WoP4+E-oPGQKgGEnucXMfg@mail.gmail.com>
Message-ID: <CAHNn8BXBgLL+mU_wib_XoF8N_mH7-jYa_YVEMr1xDVX++7BeiQ@mail.gmail.com>

On Wed, Oct 3, 2012 at 11:17 AM, Satrajit Ghosh <satra at mit.edu> wrote:

> hi min,
>
> just getting back to this error. turns out that this error results from an
> interaction between our library's logging mechanism (using python logging
> module), the ipython kernel (happens with notebook and console but not with
> ipython on terminal) and multiprocessing. i don't get the same error
> running the same set of commands in the ipython terminal. i suspect it has
> to do with how logging output is trapped and conveyed in the
> multiprocessing context back to the browser.
>

Anything that tries to write to sys.stdout/err from a fork will definitely
crash the process: https://github.com/ipython/ipython/issues/2438


>
> cheers,
>
> satra
>
>
> On Sun, Sep 9, 2012 at 2:22 PM, MinRK <benjaminrk at gmail.com> wrote:
>
>> What version of pyzmq?  If it's less than 2.2.0.1, try upgrading.
>> -MinRK
>>
>> On Sun, Sep 9, 2012 at 6:35 AM, Satrajit Ghosh <satra at mit.edu> wrote:
>>
>>> hi all,
>>>
>>> we are using a workflow library that internally uses multiprocessing to
>>> distribute jobs locally. when we run this from the notebook, it crashes the
>>> kernel.
>>>
>>> any thoughts as to why this might happen.
>>>
>>> here is the code from the library:
>>>
>>>
>>> https://github.com/nipy/nipype/blob/master/nipype/pipeline/plugins/multiproc.py
>>>
>>> cheers,
>>>
>>> satra
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
> _______________________________________________
> 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/20121003/d56f754a/attachment.html>

From satra at mit.edu  Wed Oct  3 16:56:47 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Wed, 3 Oct 2012 16:56:47 -0400
Subject: [IPython-dev] multiprocessing from within notebook crashes
	kernel
In-Reply-To: <CAHNn8BXBgLL+mU_wib_XoF8N_mH7-jYa_YVEMr1xDVX++7BeiQ@mail.gmail.com>
References: <CA+A4wOmg85DrpZYnwx_WSZUZ8y9fR9pTdK5-KZJisb0KsYfQmA@mail.gmail.com>
	<CAHNn8BV+gEZ5OxLF=KQztkm=0Hh2V=tM_Zt2sxokowev_-s+PQ@mail.gmail.com>
	<CA+A4wOnSaXm5CumJJg0Ys6SbgK+0WoP4+E-oPGQKgGEnucXMfg@mail.gmail.com>
	<CAHNn8BXBgLL+mU_wib_XoF8N_mH7-jYa_YVEMr1xDVX++7BeiQ@mail.gmail.com>
Message-ID: <CA+A4wOmY8NDN=MPdN9PeooCdRFdSdzWGdecY4N9Kbx31u88tzw@mail.gmail.com>

thanks min. that's exactly it.

cheers,

satra

On Wed, Oct 3, 2012 at 2:26 PM, MinRK <benjaminrk at gmail.com> wrote:

>
>
> On Wed, Oct 3, 2012 at 11:17 AM, Satrajit Ghosh <satra at mit.edu> wrote:
>
>> hi min,
>>
>> just getting back to this error. turns out that this error results from
>> an interaction between our library's logging mechanism (using python
>> logging module), the ipython kernel (happens with notebook and console but
>> not with ipython on terminal) and multiprocessing. i don't get the same
>> error running the same set of commands in the ipython terminal. i suspect
>> it has to do with how logging output is trapped and conveyed in the
>> multiprocessing context back to the browser.
>>
>
> Anything that tries to write to sys.stdout/err from a fork will definitely
> crash the process: https://github.com/ipython/ipython/issues/2438
>
>
>>
>> cheers,
>>
>> satra
>>
>>
>> On Sun, Sep 9, 2012 at 2:22 PM, MinRK <benjaminrk at gmail.com> wrote:
>>
>>> What version of pyzmq?  If it's less than 2.2.0.1, try upgrading.
>>> -MinRK
>>>
>>> On Sun, Sep 9, 2012 at 6:35 AM, Satrajit Ghosh <satra at mit.edu> wrote:
>>>
>>>> hi all,
>>>>
>>>> we are using a workflow library that internally uses multiprocessing to
>>>> distribute jobs locally. when we run this from the notebook, it crashes the
>>>> kernel.
>>>>
>>>> any thoughts as to why this might happen.
>>>>
>>>> here is the code from the library:
>>>>
>>>>
>>>> https://github.com/nipy/nipype/blob/master/nipype/pipeline/plugins/multiproc.py
>>>>
>>>> cheers,
>>>>
>>>> satra
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>>
>>>
>>
>> _______________________________________________
>> 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/20121003/da04d3aa/attachment.html>

From ellisonbg at gmail.com  Thu Oct  4 13:16:22 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 4 Oct 2012 10:16:22 -0700
Subject: [IPython-dev] SWC using IPython Notebook
Message-ID: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>

HI,

Software Carpentry just announced that they are going to transition
all of their materials to the IPython Notebook.  This is a huge
victory for us, congrats everyone!

Matthias - an important part of the story for them was having
notebooks viewable online using nbviewer - again, great work on that.

Cheers,

Brian

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


From takowl at gmail.com  Thu Oct  4 13:29:12 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Thu, 4 Oct 2012 18:29:12 +0100
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
Message-ID: <CAOvn4qgUUv_9tgno00Rr3kUZrYsiETH8O9X2eFOAP+Xadd_iTQ@mail.gmail.com>

On 4 October 2012 18:16, Brian Granger <ellisonbg at gmail.com> wrote:
> Software Carpentry just announced that they are going to transition
> all of their materials to the IPython Notebook.  This is a huge
> victory for us, congrats everyone!

Excellent! Congratulations to everyone who's worked on it.

For reference, here's the blog post:
http://software-carpentry.org/2012/10/transitioning-to-the-ipython-notebook/

Best wishes,
Thomas


From ellisonbg at gmail.com  Thu Oct  4 13:40:41 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 4 Oct 2012 10:40:41 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAOvn4qgUUv_9tgno00Rr3kUZrYsiETH8O9X2eFOAP+Xadd_iTQ@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAOvn4qgUUv_9tgno00Rr3kUZrYsiETH8O9X2eFOAP+Xadd_iTQ@mail.gmail.com>
Message-ID: <CAH4pYpTbRzz=3g3MeMAt6i48QQvN8z+rSeXzZn_cNtfBh7n1Yw@mail.gmail.com>

Doh, forgot to add the link, thanks Thomas!

On Thu, Oct 4, 2012 at 10:29 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 4 October 2012 18:16, Brian Granger <ellisonbg at gmail.com> wrote:
>> Software Carpentry just announced that they are going to transition
>> all of their materials to the IPython Notebook.  This is a huge
>> victory for us, congrats everyone!
>
> Excellent! Congratulations to everyone who's worked on it.
>
> For reference, here's the blog post:
> http://software-carpentry.org/2012/10/transitioning-to-the-ipython-notebook/
>
> Best wishes,
> Thomas
> _______________________________________________
> 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  Thu Oct  4 13:46:02 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Thu, 4 Oct 2012 18:46:02 +0100
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAH4pYpTbRzz=3g3MeMAt6i48QQvN8z+rSeXzZn_cNtfBh7n1Yw@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAOvn4qgUUv_9tgno00Rr3kUZrYsiETH8O9X2eFOAP+Xadd_iTQ@mail.gmail.com>
	<CAH4pYpTbRzz=3g3MeMAt6i48QQvN8z+rSeXzZn_cNtfBh7n1Yw@mail.gmail.com>
Message-ID: <CAOvn4qhs1-cp79+hAYRi85Ovy6Suu7yoWRSTsmBd+wFp60cY0w@mail.gmail.com>

On 4 October 2012 18:40, Brian Granger <ellisonbg at gmail.com> wrote:
> Doh, forgot to add the link, thanks Thomas!

You're welcome. Have you already left a comment on the blog post? If
not, I'll write one like "Thanks on behalf of the IPython team, don't
hesitate to let us know if you run into any problems."

Thomas


From ellisonbg at gmail.com  Thu Oct  4 13:49:16 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 4 Oct 2012 10:49:16 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAOvn4qhs1-cp79+hAYRi85Ovy6Suu7yoWRSTsmBd+wFp60cY0w@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAOvn4qgUUv_9tgno00Rr3kUZrYsiETH8O9X2eFOAP+Xadd_iTQ@mail.gmail.com>
	<CAH4pYpTbRzz=3g3MeMAt6i48QQvN8z+rSeXzZn_cNtfBh7n1Yw@mail.gmail.com>
	<CAOvn4qhs1-cp79+hAYRi85Ovy6Suu7yoWRSTsmBd+wFp60cY0w@mail.gmail.com>
Message-ID: <CAH4pYpSkYafgJcXQsBa7eS0p61deoOgFbcopx8Maa1FdtjqLVg@mail.gmail.com>

I haven't, but will do that now.  But I think all of us who want
should leave comments to show our excitement and support.

On Thu, Oct 4, 2012 at 10:46 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 4 October 2012 18:40, Brian Granger <ellisonbg at gmail.com> wrote:
>> Doh, forgot to add the link, thanks Thomas!
>
> You're welcome. Have you already left a comment on the blog post? If
> not, I'll write one like "Thanks on behalf of the IPython team, don't
> hesitate to let us know if you run into any problems."
>
> Thomas
> _______________________________________________
> 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 jiffyclub at gmail.com  Thu Oct  4 17:28:34 2012
From: jiffyclub at gmail.com (Matt Davis)
Date: Thu, 4 Oct 2012 17:28:34 -0400
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
Message-ID: <CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>

Hi all,

Thank you for putting together this great tool! (I'll admit to being pretty
blas? on IPython until you came out with the Notebook.)  We've also got a
PyCon proposal in on the topic of teaching with Notebooks.

There is already a lot of communication between SWC and the IPython devs so
none of these requests are exactly news, but here are some things we'd like
for the teaching side:

- Integration with pythontutor.com
- A way for an instructor to make a notebook then strip out code for
distribution to students (so they can see our annotations but have to type
their own code).
- A way to put hints into Markdown cells, e.g. collapsed by default but
expandable if students want help.

I do pretty much all my in-person teaching with live typing but the slide
show abilities also look quite cool and I'm sure we'll put those to use too!

Thanks again for all your hard work! Hopefully one of these days I'll have
some time to give back.

Best,

Matt Davis

On Thu, Oct 4, 2012 at 1:16 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> HI,
>
> Software Carpentry just announced that they are going to transition
> all of their materials to the IPython Notebook.  This is a huge
> victory for us, congrats everyone!
>
> Matthias - an important part of the story for them was having
> notebooks viewable online using nbviewer - again, great work on that.
>
> Cheers,
>
> Brian
>
> --
> 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/20121004/75ee8538/attachment.html>

From ellisonbg at gmail.com  Thu Oct  4 17:41:16 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 4 Oct 2012 14:41:16 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
Message-ID: <EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>

Hi,

Sent from my iPad

On Oct 4, 2012, at 2:28 PM, Matt Davis <jiffyclub at gmail.com> wrote:

> Hi all,
> 
> Thank you for putting together this great tool! (I'll admit to being pretty blas? on IPython until you came out with the Notebook.)  We've also got a PyCon proposal in on the topic of teaching with Notebooks.

Very nice!

> 
> There is already a lot of communication between SWC and the IPython devs so none of these requests are exactly news, but here are some things we'd like for the teaching side:
> 
> - Integration with pythontutor.com

Haha, I actually started to work on this yesterday.  Not working yet, but it should be possible.  The main challenge will be to allow the code run using opt to run in the same namespace as ipython.  That is going to be messy and will require working closely with the opt authors.

> - A way for an instructor to make a notebook then strip out code for distribution to students (so they can see our annotations but have to type their own code).

So basically just remove all code cells, right?  That won't be too difficult.

> - A way to put hints into Markdown cells, e.g. collapsed by default but expandable if students want help.

What about having md cells be collapsible and just show the first line when collapsed?

> 
> I do pretty much all my in-person teaching with live typing but the slide show abilities also look quite cool and I'm sure we'll put those to use too!
> 
> Thanks again for all your hard work! Hopefully one of these days I'll have some time to give back.
> 
> Best,
> 
> Matt Davis
> 
> On Thu, Oct 4, 2012 at 1:16 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> HI,
> 
> Software Carpentry just announced that they are going to transition
> all of their materials to the IPython Notebook.  This is a huge
> victory for us, congrats everyone!
> 
> Matthias - an important part of the story for them was having
> notebooks viewable online using nbviewer - again, great work on that.
> 
> Cheers,
> 
> Brian
> 
> --
> 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/20121004/2f8ab7a3/attachment.html>

From fperez.net at gmail.com  Thu Oct  4 17:57:48 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 4 Oct 2012 14:57:48 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
Message-ID: <CAHAreOqfFkdecXdmmoxh=1C2XbN=QZhPeDpduW6OD7yqeGpuBA@mail.gmail.com>

Hey,

On Thu, Oct 4, 2012 at 2:28 PM, Matt Davis <jiffyclub at gmail.com> wrote:
> Thank you for putting together this great tool! (I'll admit to being pretty
> blas? on IPython until you came out with the Notebook.)  We've also got a

It's important to clarify why it took us so long to come out with the
notebook: because we always viewed it as something that we wanted to
be part of a fully coherent architecture.  And we first had to build
that foundation, which took us a *long* time.  Once the foundation was
in place, and with the years of false starts (failures we learned a
lot from), then the notebook could develop naturally and fluidly.
Brian started writing the first notebook code in early summer 2011 and
by August I was demoing it at EuroScipy: that speed of development
would have been impossible if the underlying foundation, architecture
and protocols hadn't been something solid enough to put a heavy load
on.

Hopefully now the payoff of that approach is clear: a unified
experience across clients, the ability to have things like the qt
console or terminal supporting the same syntax, a protocol that
enables third-party uses (the Julia guys just announced publicly
they'll use ipython notebook for Julia  -
https://github.com/JuliaLang/julia/issues/1330), etc.

> PyCon proposal in on the topic of teaching with Notebooks.

Fantastic.

> There is already a lot of communication between SWC and the IPython devs so
> none of these requests are exactly news, but here are some things we'd like
> for the teaching side:
>
> - Integration with pythontutor.com

Min and I are meeting with Philip Guo, its author, in two weeks.
We'll have a good chance to discuss all of this in person.

> - A way for an instructor to make a notebook then strip out code for
> distribution to students (so they can see our annotations but have to type
> their own code).

Very easy addition to nbconvert, and something we've had in mind from
the start (actually with even more complex cases possible, such as
generating both 'homework' and 'solution' versions of a notebook from
a single source file).

> - A way to put hints into Markdown cells, e.g. collapsed by default but
> expandable if students want help.

That's already possible, Matthias had an example lying around that he
wrote for Josh Bloom at Scipy, or maybe it was Stefan... Ping...

> I do pretty much all my in-person teaching with live typing but the slide
> show abilities also look quite cool and I'm sure we'll put those to use too!

For many contexts, the slideshow support will be very useful indeed.

Cheers,

f


From benjaminrk at gmail.com  Thu Oct  4 18:34:14 2012
From: benjaminrk at gmail.com (MinRK)
Date: Thu, 4 Oct 2012 15:34:14 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
	<EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>
Message-ID: <CAHNn8BWQkRBHCBWp2dtiiW7HuntvtZvq0huFduYyM4FiPw5j1A@mail.gmail.com>

On Thu, Oct 4, 2012 at 2:41 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> Hi,
>
> Sent from my iPad
>
> On Oct 4, 2012, at 2:28 PM, Matt Davis <jiffyclub at gmail.com> wrote:
>
> Hi all,
>
> Thank you for putting together this great tool! (I'll admit to being
> pretty blas? on IPython until you came out with the Notebook.)  We've also
> got a PyCon proposal in on the topic of teaching with Notebooks.
>
>
> Very nice!
>
>
> There is already a lot of communication between SWC and the IPython devs
> so none of these requests are exactly news, but here are some things we'd
> like for the teaching side:
>
> - Integration with pythontutor.com
>
>
> Haha, I actually started to work on this yesterday.  Not working yet, but
> it should be possible.  The main challenge will be to allow the code run
> using opt to run in the same namespace as ipython.  That is going to be
> messy and will require working closely with the opt authors.
>
> - A way for an instructor to make a notebook then strip out code for
> distribution to students (so they can see our annotations but have to type
> their own code).
>
>
> So basically just remove all code cells, right?  That won't be too
> difficult.
>
> - A way to put hints into Markdown cells, e.g. collapsed by default but
> expandable if students want help.
>
>
> What about having md cells be collapsible and just show the first line
> when collapsed?
>

Here's a demo Notebook and script, which allow you to show/hide hint cells
with buttons, as well as easily scrub solution code from your notebook:

https://gist.github.com/3836889



>
>
> I do pretty much all my in-person teaching with live typing but the slide
> show abilities also look quite cool and I'm sure we'll put those to use too!
>
> Thanks again for all your hard work! Hopefully one of these days I'll have
> some time to give back.
>
> Best,
>
> Matt Davis
>
> On Thu, Oct 4, 2012 at 1:16 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>
>> HI,
>>
>> Software Carpentry just announced that they are going to transition
>> all of their materials to the IPython Notebook.  This is a huge
>> victory for us, congrats everyone!
>>
>> Matthias - an important part of the story for them was having
>> notebooks viewable online using nbviewer - again, great work on that.
>>
>> Cheers,
>>
>> Brian
>>
>> --
>> 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
>
>
> _______________________________________________
> 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/20121004/8ceef4c0/attachment.html>

From ellisonbg at gmail.com  Thu Oct  4 22:34:12 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 4 Oct 2012 19:34:12 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAHNn8BWQkRBHCBWp2dtiiW7HuntvtZvq0huFduYyM4FiPw5j1A@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
	<EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>
	<CAHNn8BWQkRBHCBWp2dtiiW7HuntvtZvq0huFduYyM4FiPw5j1A@mail.gmail.com>
Message-ID: <CAH4pYpT6Re1m146un_ixBb144H5HOAAwN4PHhsQpcAZbChb=KQ@mail.gmail.com>

Thanks for posting this Min.  The moral of the story is this - writing
Python code to manipulate notebooks is super simple!

Cheers,

Brian

On Thu, Oct 4, 2012 at 3:34 PM, MinRK <benjaminrk at gmail.com> wrote:
>
>
> On Thu, Oct 4, 2012 at 2:41 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>>
>> Hi,
>>
>> Sent from my iPad
>>
>> On Oct 4, 2012, at 2:28 PM, Matt Davis <jiffyclub at gmail.com> wrote:
>>
>> Hi all,
>>
>> Thank you for putting together this great tool! (I'll admit to being
>> pretty blas? on IPython until you came out with the Notebook.)  We've also
>> got a PyCon proposal in on the topic of teaching with Notebooks.
>>
>>
>> Very nice!
>>
>>
>> There is already a lot of communication between SWC and the IPython devs
>> so none of these requests are exactly news, but here are some things we'd
>> like for the teaching side:
>>
>> - Integration with pythontutor.com
>>
>>
>> Haha, I actually started to work on this yesterday.  Not working yet, but
>> it should be possible.  The main challenge will be to allow the code run
>> using opt to run in the same namespace as ipython.  That is going to be
>> messy and will require working closely with the opt authors.
>>
>> - A way for an instructor to make a notebook then strip out code for
>> distribution to students (so they can see our annotations but have to type
>> their own code).
>>
>>
>> So basically just remove all code cells, right?  That won't be too
>> difficult.
>>
>> - A way to put hints into Markdown cells, e.g. collapsed by default but
>> expandable if students want help.
>>
>>
>> What about having md cells be collapsible and just show the first line
>> when collapsed?
>
>
> Here's a demo Notebook and script, which allow you to show/hide hint cells
> with buttons, as well as easily scrub solution code from your notebook:
>
> https://gist.github.com/3836889
>
>
>>
>>
>>
>> I do pretty much all my in-person teaching with live typing but the slide
>> show abilities also look quite cool and I'm sure we'll put those to use too!
>>
>> Thanks again for all your hard work! Hopefully one of these days I'll have
>> some time to give back.
>>
>> Best,
>>
>> Matt Davis
>>
>> On Thu, Oct 4, 2012 at 1:16 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>>>
>>> HI,
>>>
>>> Software Carpentry just announced that they are going to transition
>>> all of their materials to the IPython Notebook.  This is a huge
>>> victory for us, congrats everyone!
>>>
>>> Matthias - an important part of the story for them was having
>>> notebooks viewable online using nbviewer - again, great work on that.
>>>
>>> Cheers,
>>>
>>> Brian
>>>
>>> --
>>> 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
>>
>>
>> _______________________________________________
>> 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 bussonniermatthias at gmail.com  Fri Oct  5 03:41:18 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Fri, 5 Oct 2012 09:41:18 +0200
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAHAreOqfFkdecXdmmoxh=1C2XbN=QZhPeDpduW6OD7yqeGpuBA@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
	<CAHAreOqfFkdecXdmmoxh=1C2XbN=QZhPeDpduW6OD7yqeGpuBA@mail.gmail.com>
Message-ID: <DFDAAEC5-55D1-458D-A8CD-4511872D1D5F@gmail.com>


Le 4 oct. 2012 ? 23:57, Fernando Perez a ?crit :

> Hey,
> 
>> - A way to put hints into Markdown cells, e.g. collapsed by default but
>> expandable if students want help.
> 
> That's already possible, Matthias had an example lying around that he
> wrote for Josh Bloom at Scipy, or maybe it was Stefan... Ping?

I though collapsible was Min's work with the 'hint' button.

I did encrypted cells that could be decrypted with passwords.

https://github.com/Carreau/ipython/tree/cryptcell

Josh Bloom asked that to be able to ship notebook with solution and only publish the password later.
-- 
Matthias

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

From carl.input at gmail.com  Fri Oct  5 04:27:27 2012
From: carl.input at gmail.com (Carl Smith)
Date: Fri, 5 Oct 2012 09:27:27 +0100
Subject: [IPython-dev] Fwd: [Python Central] Python book
In-Reply-To: <506e9687d715a_59a2113c29c8725a@jobs-08.mail>
References: <506e9687d715a_59a2113c29c8725a@jobs-08.mail>
Message-ID: <CAP-uhDfLE_LuiSBUBhyEAHk_Sf=kM9TEaTD4KhagqVF6Ta5PtQ@mail.gmail.com>

Hi all

I just received this email from Jackson at Python Central, who I do a bit
of blogging for. It's a mail he forwarded to the Python Central authors,
apparently from a publishing company. I just thought I'd pass it on here in
case anyone was interested in what they're doing.

The email seems genuine, in that the domain is registered to Packt
Publishing, and they seem to have works on Safari Books.

Maybe a letter from Fernando could convince them to base their *Python Data
Visualization Cookbook* on IPython Notebook.

I dunno, it's early here ~ I need another cup of tea before I start
thinking about anything ~ just a heads-up really.

Cheers

Carl


---------- Forwarded message ----------
From: Jackson Cooper <notifications at aztechmedia.basecamphq.com>
Date: 5 October 2012 09:12
Subject: [Python Central] Python book
To: Carl Smith <carl.input at gmail.com>


   Reply ABOVE THIS LINE to add a comment to this message
   Project: Python
Central<https://aztechmedia.basecamphq.com/projects/8726444-python-central>
Company: Aztech Media Pty Ltd
    Jackson Cooper posted a new message:
Python book <https://aztechmedia.basecamphq.com/P68055878>
Hi all

I got an email from someone called Shrutika Kalbag from a book publishing
company called Packt Publishing, as follows:

My name is Shrutika Kalbag and I'm an Author Relationship Executive at
Packt Publishing. Packt  is an  IT publishing company that publishes
focused  IT and allied technology books.

*We are planning to publish an  book on Python, titled,  Python Data
Visualization Cookbook and I am looking for potential authors to write this
book.
*
*This book is about visualizing data with a selection of popular Python
tools.*

*I came across your website on Python and see you are experienced in this
domain. Your expertise will be valuable to our readers.*

*I look forward to the possibility of working together to publish this book
and make it a success.*
*Do let me know if you are interested in this project and if you have any
queries or doubts.*
*
*
If you're interested, contact her here: shrutikak at packtpub.com.

This message was sent to Carl Smith, Jackson Cooper, Joanna Alonzo, Les D,
Makkalot Makkalot, Nathan Smith, Sergio Tapia, Shafiul Azam, and Taka
Muraoka.

Stop receiving emails<https://aztechmedia.basecamphq.com/posts/68055878/subscription/unsubscribe>when
comments are posted to this message. Prefer
plain text emails?<https://aztechmedia.basecamphq.com/people/9303872/prefers_text_emails?v=1>
   Delivered by Basecamp <http://basecamphq.com/?source=notice>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121005/00290a1e/attachment.html>

From erik.m.bray at gmail.com  Fri Oct  5 14:38:59 2012
From: erik.m.bray at gmail.com (Erik Bray)
Date: Fri, 5 Oct 2012 14:38:59 -0400
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
	<EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>
Message-ID: <CAOTD34aBYMBjp++gJ3GKX5_0W2O9rVDU=cvKtDksfQO-CFwOZA@mail.gmail.com>

On Thu, Oct 4, 2012 at 5:41 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> - A way for an instructor to make a notebook then strip out code for
> distribution to students (so they can see our annotations but have to type
> their own code).
>
>
> So basically just remove all code cells, right?  That won't be too
> difficult.

Maybe.  More useful, for me anyways, would be to leave the code cells
in but strip everything out of them except for comments.  I've been
thinking of writing a little script to do this, because I have a
couple notebooks I would like to do that to for the purposes of
teaching.  For simplicity's sake it would only work on code cells that
actually contain Python code :)

Erik


From benjaminrk at gmail.com  Fri Oct  5 15:38:58 2012
From: benjaminrk at gmail.com (MinRK)
Date: Fri, 5 Oct 2012 12:38:58 -0700
Subject: [IPython-dev] SWC using IPython Notebook
In-Reply-To: <CAOTD34aBYMBjp++gJ3GKX5_0W2O9rVDU=cvKtDksfQO-CFwOZA@mail.gmail.com>
References: <CAH4pYpR3U_uyTV8O3U-zqC7zk0S69mtMYEAJaVKk74uFkC1ERQ@mail.gmail.com>
	<CAMqnrZrpaTq12qDM1Vfm+ZwQCRQNW5X2qgiYA+D_pbDDjNvCRg@mail.gmail.com>
	<EDE0D825-F5D4-477C-9618-E225FDC38F5F@gmail.com>
	<CAOTD34aBYMBjp++gJ3GKX5_0W2O9rVDU=cvKtDksfQO-CFwOZA@mail.gmail.com>
Message-ID: <CAHNn8BX0f-FCP8W0OjaRwEEkgh7aXyqk2O=DLPXoJWuMtLB9BA@mail.gmail.com>

On Fri, Oct 5, 2012 at 11:38 AM, Erik Bray <erik.m.bray at gmail.com> wrote:

> On Thu, Oct 4, 2012 at 5:41 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> > - A way for an instructor to make a notebook then strip out code for
> > distribution to students (so they can see our annotations but have to
> type
> > their own code).
> >
> >
> > So basically just remove all code cells, right?  That won't be too
> > difficult.
>
> Maybe.  More useful, for me anyways, would be to leave the code cells
> in but strip everything out of them except for comments.  I've been
> thinking of writing a little script to do this, because I have a
> couple notebooks I would like to do that to for the purposes of
> teaching.  For simplicity's sake it would only work on code cells that
> actually contain Python code :)
>

The script I linked above is close: https://gist.github.com/3836889

It empties out code cells that start with a particular comment.
It should be straightforward to modify it to perform any transformation you
want.

-MinRK


>
> Erik
> _______________________________________________
> 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/20121005/d23ea889/attachment.html>

From matthewturk at gmail.com  Fri Oct  5 17:31:57 2012
From: matthewturk at gmail.com (Matthew Turk)
Date: Fri, 5 Oct 2012 14:31:57 -0700
Subject: [IPython-dev] Push cell contents to the notebook
Message-ID: <CALO3=5G7FSLsWM-XE21VPS_k3b9mkd0_WHWZMcPX1Wfo-0p9AA@mail.gmail.com>

Hi all,

Is there a way to push cell contents to a notebook?  (Without
executing them.)  For instance, this would be useful for grabbing a
script from a pastebin and appending it as an additional cell.

Thanks!

-Matt


From takowl at gmail.com  Fri Oct  5 18:08:17 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Fri, 5 Oct 2012 23:08:17 +0100
Subject: [IPython-dev] Push cell contents to the notebook
In-Reply-To: <CALO3=5G7FSLsWM-XE21VPS_k3b9mkd0_WHWZMcPX1Wfo-0p9AA@mail.gmail.com>
References: <CALO3=5G7FSLsWM-XE21VPS_k3b9mkd0_WHWZMcPX1Wfo-0p9AA@mail.gmail.com>
Message-ID: <CAOvn4qgPOACuXYbROTTitDQnqWQZ=rYLrBER7xucQA2yO6HQ3g@mail.gmail.com>

On 5 October 2012 22:31, Matthew Turk <matthewturk at gmail.com> wrote:
> Is there a way to push cell contents to a notebook?  (Without
> executing them.)  For instance, this would be useful for grabbing a
> script from a pastebin and appending it as an additional cell.

I think what you're after is the %load magic command. You can do this:

%load http://example.com/12345/foo.py

It also works with local files.

Thomas


From matthewturk at gmail.com  Fri Oct  5 18:13:30 2012
From: matthewturk at gmail.com (Matthew Turk)
Date: Fri, 5 Oct 2012 15:13:30 -0700
Subject: [IPython-dev] Push cell contents to the notebook
In-Reply-To: <CAOvn4qgPOACuXYbROTTitDQnqWQZ=rYLrBER7xucQA2yO6HQ3g@mail.gmail.com>
References: <CALO3=5G7FSLsWM-XE21VPS_k3b9mkd0_WHWZMcPX1Wfo-0p9AA@mail.gmail.com>
	<CAOvn4qgPOACuXYbROTTitDQnqWQZ=rYLrBER7xucQA2yO6HQ3g@mail.gmail.com>
Message-ID: <CALO3=5Gut1s2O_W-ghg+QzsKT4RERR7xCo3ykmFpiMxmONuwUg@mail.gmail.com>

Hi Thomas,

On Fri, Oct 5, 2012 at 3:08 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 5 October 2012 22:31, Matthew Turk <matthewturk at gmail.com> wrote:
>> Is there a way to push cell contents to a notebook?  (Without
>> executing them.)  For instance, this would be useful for grabbing a
>> script from a pastebin and appending it as an additional cell.
>
> I think what you're after is the %load magic command. You can do this:
>
> %load http://example.com/12345/foo.py
>
> It also works with local files.

That's exactly what I was looking for.  I knew about loading local
files, but I didn't realize it could load remote files!  Thank you!

Also, I realized now I sent this to the developers' list instead of
the users' list -- apologies for that.

-Matt

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


From j.reid at mail.cryst.bbk.ac.uk  Sat Oct  6 12:24:44 2012
From: j.reid at mail.cryst.bbk.ac.uk (John Reid)
Date: Sat, 06 Oct 2012 17:24:44 +0100
Subject: [IPython-dev] Ipython unicode error
Message-ID: <k4pm0b$cb8$1@ger.gmane.org>

Apologies if this is a duplicate post, the first one didn't seem to
appear...

Hi,

I tried to do a ls from within ipython and it exited:

In [30]: ls Output/scan-T=001
Traceback (most recent call last):
  File "/usr/bin/ipython", line 8, in <module>
    launch_new_instance()
  File
"/usr/lib/python2.7/dist-packages/IPython/frontend/terminal/ipapp.py",
line 403, in launch_new_instance
    app.start()
  File
"/usr/lib/python2.7/dist-packages/IPython/frontend/terminal/ipapp.py",
line 377, in start
    self.shell.mainloop()
  File
"/usr/lib/python2.7/dist-packages/IPython/frontend/terminal/interactiveshell.py",
line 290, in mainloop
    self.interact(display_banner=display_banner)
  File
"/usr/lib/python2.7/dist-packages/IPython/frontend/terminal/interactiveshell.py",
line 409, in interact
    self.run_cell(source_raw, store_history=True)
  File
"/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py",
line 2393, in run_cell
    self.logger.log(cell, raw_cell)
  File "/usr/lib/python2.7/dist-packages/IPython/core/logger.py", line
183, in log
    self.log_write(line_mod)
  File "/usr/lib/python2.7/dist-packages/IPython/core/logger.py", line
195, in log_write
    write(data)
UnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in
position 0: ordinal not in range(128)

If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev at scipy.org

You can print a more detailed traceback right now with "%tb", or use
"%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    %config Application.verbose_crash=True


I'm running 0.12.1. Is this a known problem? I'm reporting it as
requested. Let me know if you want more info.

John.




From takowl at gmail.com  Sat Oct  6 14:19:29 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Sat, 6 Oct 2012 19:19:29 +0100
Subject: [IPython-dev] Ipython unicode error
In-Reply-To: <k4pm0b$cb8$1@ger.gmane.org>
References: <k4pm0b$cb8$1@ger.gmane.org>
Message-ID: <CAOvn4qgmAAGW19UPCMMHWqGA+Uf0fK2nXJFdLBFc5MVDjxv5KQ@mail.gmail.com>

Hi John,

On 6 October 2012 17:24, John Reid <j.reid at mail.cryst.bbk.ac.uk> wrote:
>   File "/usr/lib/python2.7/dist-packages/IPython/core/logger.py", line
> 195, in log_write
>     write(data)
> UnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in
> position 0: ordinal not in range(128)

Thanks for the report, I think that looks similar to this error:
https://github.com/ipython/ipython/issues/1777

The fix for that is in 0.13 - can you try upgrading? If you're using
Ubuntu, you can use this PPA:
https://launchpad.net/~jtaylor/+archive/ipython

Thanks,
Thomas


From fperez.net at gmail.com  Mon Oct  8 18:35:38 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 8 Oct 2012 15:35:38 -0700
Subject: [IPython-dev] IPython Hydra from Stanford
Message-ID: <CAHAreOo16hSf6F9wJuE3-=W-j8x84r=wQgBsiNarZ_qBNCGG9A@mail.gmail.com>

Hey folks,

our friends at the Stanford Center for Cognitive and Neurobiological
Imaging (CNI), the team behind http://ipython.stanford.edu, just put
up the script collection they wrote to deploy their notebook server:

https://github.com/cni/ipython-hydra

I had suggested the name ipython-ghettoblaster, but Bob is too much of
a gentleman to go along with that :)

This is a collection of scripts to let you deploy a notebook server in
a group unix environment, hiding the drudgery of port management from
your users.  Since we know for a fact that a real multiuser solution
for IPython will take some time to develop, this is an excellent
stop-gap solution.

We hope a cleaner solution will happen by next year, but Bob needed
something right away, so a few weeks ago we had a little brainstorm
about this and his team quickly came back with a working
implementation.

We hope this will serve people who'd like to deploy the notebook for
their research group or a small set of students, for example, in an
environment where they can assume that everyone already has Unix
accounts.

Many thanks to Bob and the rest of the CNI team at Stanford for making
this available, I suspect it will be quite useful until we can build a
 production solution in IPython itself.

Cheers,

f


From fperez.net at gmail.com  Mon Oct  8 19:13:53 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 8 Oct 2012 16:13:53 -0700
Subject: [IPython-dev] IPython Hydra from Stanford
In-Reply-To: <CAHAreOo16hSf6F9wJuE3-=W-j8x84r=wQgBsiNarZ_qBNCGG9A@mail.gmail.com>
References: <CAHAreOo16hSf6F9wJuE3-=W-j8x84r=wQgBsiNarZ_qBNCGG9A@mail.gmail.com>
Message-ID: <CAHAreOqjW9cRz_NvDNgwXpGpuj7Mu+tb06A0x575dijkJnJfBA@mail.gmail.com>

On Mon, Oct 8, 2012 at 3:35 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> our friends at the Stanford Center for Cognitive and Neurobiological
> Imaging (CNI), the team behind http://ipython.stanford.edu,

ps - for the curious, I mistyped the URL as it's https://, but
furthermore, that only works if you're inside the Stanford network or
VPN.  So you can't really see it from the outside, sorry :)


From nawijn at gmail.com  Thu Oct 11 10:03:25 2012
From: nawijn at gmail.com (Marco Nawijn)
Date: Thu, 11 Oct 2012 16:03:25 +0200
Subject: [IPython-dev] Proposal for small change in dir2() function to
	handle XMLRPC Server Proxies
Message-ID: <CA+pnd0mWXjA3xadS+QbAm3+6ZnDtmKKqAW5KkDB6MR_jJBVO9w@mail.gmail.com>

Dear All,

I would to propose that a small change is made to the dir2() function
in IPython to better handle tab completion on a xmlrpclib.ServerProxy
object.

Currently if you do tab completion on a xmlrpclib.ServerProxy it a
traceback like the following is generated:

=== BEGIN TRACEBACK =====
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/IPython/core/completer.py",
line 847, in complete
    self.matches.extend(matcher(text))
  File "/usr/lib/python2.7/site-packages/IPython/core/completer.py",
line 641, in python_matches
    matches = self.attr_matches(text)
  File "/usr/lib/python2.7/site-packages/IPython/core/completer.py",
line 393, in attr_matches
    words = dir2(obj)
  File "/usr/lib/python2.7/site-packages/IPython/utils/dir2.py", line
64, in dir2
    words.extend(obj.trait_names())
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1578, in __request
    verbose=self.__verbose
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1297, in single_request
    return self.parse_response(response)
  File "/usr/lib64/python2.7/xmlrpclib.py", line 1473, in parse_response
    return u.close()
  File "/usr/lib64/python2.7/xmlrpclib.py", line 793, in close
    raise Fault(**self._stack[0])
Fault: <Fault 1: '<type \'exceptions.Exception\'>:method "trait_names"
is not supported'>

If you suspect this is an IPython bug, please report it at:
    https://github.com/ipython/ipython/issues
or send an email to the mailing list at ipython-dev at scipy.org

You can print a more detailed traceback right now with "%tb", or use "%debug"
to interactively debug it.

Extra-detailed tracebacks for bug-reporting purposes can be enabled via:
    %config Application.verbose_crash=True

===== END TRACEBACK ======

The source of this as can be seen from the traceback is in the dir2() function.
Since the main purpose of dir2 seems to be to handle border cases, I
would like to propose that an additional case is implemented to handle
 xmlrpclib.ServerProxy objects.

I have implemented it (as a proof of concept) as follows:

    import xmlrpclib
    if isinstance(obj, xmlrpclib.ServerProxy):
        words = obj.system.listMethods()
        return words
    else:
        words = dir(obj)      <- this is already there

It works like a charm :).

Any comments on this?

Kind regards,

Marco Nawijn


From jason-sage at creativetrax.com  Thu Oct 11 15:56:45 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Thu, 11 Oct 2012 14:56:45 -0500
Subject: [IPython-dev] IPython Hydra from Stanford
In-Reply-To: <CAHAreOo16hSf6F9wJuE3-=W-j8x84r=wQgBsiNarZ_qBNCGG9A@mail.gmail.com>
References: <CAHAreOo16hSf6F9wJuE3-=W-j8x84r=wQgBsiNarZ_qBNCGG9A@mail.gmail.com>
Message-ID: <5077247D.4020508@creativetrax.com>

On 10/8/12 5:35 PM, Fernando Perez wrote:
> We hope a cleaner solution will happen by next year

Are there definitive plans to work on the multi-user aspect (e.g., 
committed resources or a rough schedule)?  I've been thinking a lot 
lately about the future of the Sage notebook as well, and one idea is to 
pursue a replacement based on the ipython notebook.

Thanks,

Jason



From jtaylor.debian at googlemail.com  Thu Oct 11 16:04:13 2012
From: jtaylor.debian at googlemail.com (Julian Taylor)
Date: Thu, 11 Oct 2012 22:04:13 +0200
Subject: [IPython-dev] 0.13.1
In-Reply-To: <CAHAreOr0NTN7ouqXozwmiW5WyJRKwTT0ujCb2b8Wr8fsG776pg@mail.gmail.com>
References: <CAHNn8BXQ+u8jDNQCjmLoiiXuE9hRP8m8CzhPGyvVfwy78dpHXA@mail.gmail.com>
	<72959517721A4CACA7384B462A944B70@gmail.com>
	<CAHAreOr0NTN7ouqXozwmiW5WyJRKwTT0ujCb2b8Wr8fsG776pg@mail.gmail.com>
Message-ID: <5077263D.4060504@googlemail.com>

On 08/31/2012 05:39 AM, Fernando Perez wrote:
> On Thu, Aug 30, 2012 at 3:09 PM, Bradley M. Froehle
> <brad.froehle at gmail.com> wrote:
>> I'm in favor of deferring the event loop issue to 0.14.
> 
> I've just merged #2365, which was an easy fix. But I agree with you on
> this one: event loop code is super delicate, so any fixes on that
> front should be made early in the release cycle to have ample time for
> field testing.  Since a lot of problems with that type of code only
> manifest themselves under interactive usage, we really shouldn't be
> merging any such changes close to a release.
> 
> Thanks a ton to Min for keeping 0.13.1 moving forward!  We're not
> likely to see 0.14 for a couple more months, so having a solid version
> of 0.13 out will be great.
> 

Any news on the 0.13.1 release?

I just got reply from the debian release team that its suitable for
wheezy but it should be done soonish.
Unfortunately it might be a bit late for ubuntu 12.10 which closes on
tuesday.


From benjaminrk at gmail.com  Thu Oct 11 16:21:48 2012
From: benjaminrk at gmail.com (MinRK)
Date: Thu, 11 Oct 2012 13:21:48 -0700
Subject: [IPython-dev] Last call for 0.13.1
Message-ID: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>

There is currently only one (trivial) PR outstanding for 0.13.1, so I think
this is last call for anything that should go in before we cut a release.

If anyone thinks that something not already covered belongs in an 0.13.1
release, speak up now.

Obviously, if anything doesn't make it, there's no reason we can't have
0.13.2 in another month or two.

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

From mdroe at stsci.edu  Thu Oct 11 17:49:14 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Thu, 11 Oct 2012 17:49:14 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
Message-ID: <50773EDA.4070609@stsci.edu>

I have a proof-of-concept way to make interactive plots in the browser 
work using transparent PNGs described here:

http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/

No PRs yet, because this is miles from ready for that, but it would be 
helpful to get some feedback about how this works in different 
browsers/platforms/network environments etc.

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

From jason-sage at creativetrax.com  Thu Oct 11 17:57:00 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Thu, 11 Oct 2012 16:57:00 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50773EDA.4070609@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
Message-ID: <507740AC.4070409@creativetrax.com>

On 10/11/12 4:49 PM, Michael Droettboom wrote:
> I have a proof-of-concept way to make interactive plots in the browser
> work using transparent PNGs described here:
>
> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>
> No PRs yet, because this is miles from ready for that, but it would be
> helpful to get some feedback about how this works in different
> browsers/platforms/network environments etc.

Would you mind CCing the sage-notebook mailing list [1] on these sorts 
of posts?  We're *very* interested in having this capability as well 
(especially in augmenting the Sage interact functionality).  I'll 
forward this message, but bringing the sage-notebook community into the 
discussion would be more natural than me pushing messages back and forth 
between the lists.

Thanks,

Jason


[1] https://groups.google.com/forum/?fromgroups#!forum/sage-notebook



From jason-sage at creativetrax.com  Thu Oct 11 18:08:19 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Thu, 11 Oct 2012 17:08:19 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50773EDA.4070609@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
Message-ID: <50774353.1090800@creativetrax.com>

On 10/11/12 4:49 PM, Michael Droettboom wrote:
> I have a proof-of-concept way to make interactive plots in the browser
> work using transparent PNGs described here:
>
> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>
> No PRs yet, because this is miles from ready for that, but it would be
> helpful to get some feedback about how this works in different
> browsers/platforms/network environments etc.

When I try to run this with matplotlib 1.1.0, I get:

Traceback (most recent call last):
   File 
"/Users/grout/sage-trees/sage-5.4.rc1/local/lib/python2.7/site-packages/tornado-2.4-py2.7.egg/tornado/web.py", 
line 1042, in _execute
     getattr(self, self.request.method.lower())(*args, **kwargs)
   File "/Users/grout/projects/matplotlib-live/serve_figure.py", line 
174, in get
     np.frombuffer(renderer.buffer_rgba(), dtype=np.uint32),
TypeError: buffer_rgba() takes exactly 3 arguments (1 given)

and the image doesn't show up.  Is this something that is fixed in an 
matplotlib upgrade?

Thanks,

Jason



From jason-sage at creativetrax.com  Thu Oct 11 18:14:16 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Thu, 11 Oct 2012 17:14:16 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50774353.1090800@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774353.1090800@creativetrax.com>
Message-ID: <507744B8.5070706@creativetrax.com>

On 10/11/12 5:08 PM, Jason Grout wrote:
> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>> I have a proof-of-concept way to make interactive plots in the browser
>> work using transparent PNGs described here:
>>
>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>
>> No PRs yet, because this is miles from ready for that, but it would be
>> helpful to get some feedback about how this works in different
>> browsers/platforms/network environments etc.
>
> When I try to run this with matplotlib 1.1.0, I get:
>
> Traceback (most recent call last):
>     File
> "/Users/grout/sage-trees/sage-5.4.rc1/local/lib/python2.7/site-packages/tornado-2.4-py2.7.egg/tornado/web.py",
> line 1042, in _execute
>       getattr(self, self.request.method.lower())(*args, **kwargs)
>     File "/Users/grout/projects/matplotlib-live/serve_figure.py", line
> 174, in get
>       np.frombuffer(renderer.buffer_rgba(), dtype=np.uint32),
> TypeError: buffer_rgba() takes exactly 3 arguments (1 given)
>
> and the image doesn't show up.  Is this something that is fixed in an
> matplotlib upgrade?
>

Making the call buffer_rgba(0,0) seems to fix it:

https://gist.github.com/3875846

Thanks,

Jason



From jason-sage at creativetrax.com  Thu Oct 11 18:50:01 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Thu, 11 Oct 2012 17:50:01 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50773EDA.4070609@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
Message-ID: <50774D19.1030900@creativetrax.com>

On 10/11/12 4:49 PM, Michael Droettboom wrote:
> I have a proof-of-concept way to make interactive plots in the browser
> work using transparent PNGs described here:
>
> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>
> No PRs yet, because this is miles from ready for that, but it would be
> helpful to get some feedback about how this works in different
> browsers/platforms/network environments etc.
>

A sample implementation using websockets instead of polling is here:

https://gist.github.com/3875846

It still requests the file, which causes a delay.  I think doing a png 
diff sounds like a great idea.  What if we also transfer the png diff 
over the websocket connection (maybe in a binary frame)?

Thanks,

Jason



From fperez.net at gmail.com  Thu Oct 11 18:49:41 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 11 Oct 2012 15:49:41 -0700
Subject: [IPython-dev] IPython Hydra from Stanford
In-Reply-To: <5077247D.4020508@creativetrax.com>
References: <CAHAreOo16hSf6F9wJuE3-=W-j8x84r=wQgBsiNarZ_qBNCGG9A@mail.gmail.com>
	<5077247D.4020508@creativetrax.com>
Message-ID: <CAHAreOooMN09aoX5-zd20_ueA5hx3z7LsQDdXgf-6yQT0MdPGg@mail.gmail.com>

Hi Jason,

On Thu, Oct 11, 2012 at 12:56 PM, Jason Grout
<jason-sage at creativetrax.com> wrote:
> Are there definitive plans to work on the multi-user aspect (e.g.,
> committed resources or a rough schedule)?  I've been thinking a lot
> lately about the future of the Sage notebook as well, and one idea is to
> pursue a replacement based on the ipython notebook.

absolutely.  I've barely slept this week putting the final touches on
a grant proposal that, if funded, will support *precisely* that, it's
specific aim #1 of the proposal.

If things go well, by Jan 1 we'll have resources to tackle this
full-time, if not we'll do our best at the slower pace that we
normally work.  But it's definitely one of our highest priorities,
it's just that the combination of me being offline due to John
Hunter's illness/death, and working on three separate grants that
involve IPython, has consumed all available bandwidth for a while.

But as these grants get sent out, we'll begin clearing time for
development work again.

Cheers,

f


From benjaminrk at gmail.com  Thu Oct 11 18:58:07 2012
From: benjaminrk at gmail.com (MinRK)
Date: Thu, 11 Oct 2012 15:58:07 -0700
Subject: [IPython-dev] Last call for 0.13.1
In-Reply-To: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>
References: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>
Message-ID: <CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>

On Thu, Oct 11, 2012 at 1:21 PM, MinRK <benjaminrk at gmail.com> wrote:

> There is currently only one (trivial) PR outstanding for 0.13.1, so I
> think this is last call for anything that should go in before we cut a
> release.
>
> If anyone thinks that something not already covered belongs in an 0.13.1
> release, speak up now.
>
> Obviously, if anything doesn't make it, there's no reason we can't have
> 0.13.2 in another month or two.
>

While we are considering last call for 0.13.1 and any further tweaks, I cut
a first release candidate from the current state:

http://archive.ipython.org/testing/0.13.1/

So we can get started with installation testing.

This is just a bugfix release, so no new features to play with.

-MinRK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121011/62d8e2ff/attachment.html>

From fperez.net at gmail.com  Thu Oct 11 19:20:47 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Thu, 11 Oct 2012 16:20:47 -0700
Subject: [IPython-dev] Last call for 0.13.1
In-Reply-To: <CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>
References: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>
	<CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>
Message-ID: <CAHAreOpsKbXGuX8aLAFyj1hpOXQBAjQshgQJhgB4Kk5JxiXWfA@mail.gmail.com>

Min, thanks a ton for your push on this!  It would be great if we can
get this in time for Ubuntu 12.10, whose cutoff date is Tuesday as
indicated by Julian.

I have some time this weekend to help out with a mini release party if
you want...

Cheers,

f

On Thu, Oct 11, 2012 at 3:58 PM, MinRK <benjaminrk at gmail.com> wrote:
>
>
> On Thu, Oct 11, 2012 at 1:21 PM, MinRK <benjaminrk at gmail.com> wrote:
>>
>> There is currently only one (trivial) PR outstanding for 0.13.1, so I
>> think this is last call for anything that should go in before we cut a
>> release.
>>
>> If anyone thinks that something not already covered belongs in an 0.13.1
>> release, speak up now.
>>
>> Obviously, if anything doesn't make it, there's no reason we can't have
>> 0.13.2 in another month or two.
>
>
> While we are considering last call for 0.13.1 and any further tweaks, I cut
> a first release candidate from the current state:
>
> http://archive.ipython.org/testing/0.13.1/
>
> So we can get started with installation testing.
>
> This is just a bugfix release, so no new features to play with.
>
> -MinRK
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>


From asmeurer at gmail.com  Thu Oct 11 19:22:27 2012
From: asmeurer at gmail.com (Aaron Meurer)
Date: Thu, 11 Oct 2012 17:22:27 -0600
Subject: [IPython-dev] Last call for 0.13.1
In-Reply-To: <CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>
References: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>
	<CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>
Message-ID: <CAKgW=6JDdJnPA7XwVWu1J2U=4+CPeTNNQeF+BuhS_sDJEmxBpQ@mail.gmail.com>

You may want to start a deprecation cycle for the SymPy printing
extension, which has been moved to SymPy itself as of 0.7.2.  I would
just have the following logic:

if SymPy version is 0.7.2 or greater: use the ipython version (or
should it use the sympy version?), but emit a deprecation warning
telling the user to just load sympy.interactive.ipythonprinting

if SymPy version is less than 0.7.2: don't do any warnings

And then, when it's been long enough that probably most people are
using SymPy 0.7.2 and IPython 0.13.1 or greater, remove it entirely.

Aaron Meurer

On Thu, Oct 11, 2012 at 4:58 PM, MinRK <benjaminrk at gmail.com> wrote:
>
>
> On Thu, Oct 11, 2012 at 1:21 PM, MinRK <benjaminrk at gmail.com> wrote:
>>
>> There is currently only one (trivial) PR outstanding for 0.13.1, so I
>> think this is last call for anything that should go in before we cut a
>> release.
>>
>> If anyone thinks that something not already covered belongs in an 0.13.1
>> release, speak up now.
>>
>> Obviously, if anything doesn't make it, there's no reason we can't have
>> 0.13.2 in another month or two.
>
>
> While we are considering last call for 0.13.1 and any further tweaks, I cut
> a first release candidate from the current state:
>
> http://archive.ipython.org/testing/0.13.1/
>
> So we can get started with installation testing.
>
> This is just a bugfix release, so no new features to play with.
>
> -MinRK
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>


From mdroe at stsci.edu  Thu Oct 11 19:57:40 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Thu, 11 Oct 2012 19:57:40 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <507744B8.5070706@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774353.1090800@creativetrax.com>
	<507744B8.5070706@creativetrax.com>
Message-ID: <50775CF4.8090206@stsci.edu>

On 10/11/2012 06:14 PM, Jason Grout wrote:
> On 10/11/12 5:08 PM, Jason Grout wrote:
>> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>>> I have a proof-of-concept way to make interactive plots in the browser
>>> work using transparent PNGs described here:
>>>
>>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>>
>>> No PRs yet, because this is miles from ready for that, but it would be
>>> helpful to get some feedback about how this works in different
>>> browsers/platforms/network environments etc.
>> When I try to run this with matplotlib 1.1.0, I get:
>>
>> Traceback (most recent call last):
>>      File
>> "/Users/grout/sage-trees/sage-5.4.rc1/local/lib/python2.7/site-packages/tornado-2.4-py2.7.egg/tornado/web.py",
>> line 1042, in _execute
>>        getattr(self, self.request.method.lower())(*args, **kwargs)
>>      File "/Users/grout/projects/matplotlib-live/serve_figure.py", line
>> 174, in get
>>        np.frombuffer(renderer.buffer_rgba(), dtype=np.uint32),
>> TypeError: buffer_rgba() takes exactly 3 arguments (1 given)
>>
>> and the image doesn't show up.  Is this something that is fixed in an
>> matplotlib upgrade?
>>
> Making the call buffer_rgba(0,0) seems to fix it:
>
> https://gist.github.com/3875846
>
Ah, yes.  That API was changed since 1.1.  Your fix is fine for 1.1, but 
it will need to be changed for 1.2.

Mike


From jason-sage at creativetrax.com  Thu Oct 11 22:06:23 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Thu, 11 Oct 2012 21:06:23 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50774D19.1030900@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
Message-ID: <50777B1F.5020501@creativetrax.com>

On 10/11/12 5:50 PM, Jason Grout wrote:
> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>> I have a proof-of-concept way to make interactive plots in the browser
>> work using transparent PNGs described here:
>>
>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>
>> No PRs yet, because this is miles from ready for that, but it would be
>> helpful to get some feedback about how this works in different
>> browsers/platforms/network environments etc.
>>
>
> A sample implementation using websockets instead of polling is here:
>
> https://gist.github.com/3875846
>
> It still requests the file, which causes a delay.  I think doing a png
> diff sounds like a great idea.  What if we also transfer the png diff
> over the websocket connection (maybe in a binary frame)?

I just updated it to transfer the image over websocket too.  More timing 
tests need to be done to see which approach is better, especially tests 
across a network.  The current version of 
https://gist.github.com/3875846 also transfers over a base64 version of 
the data; it seems like it would be better to transfer it as a binary 
message.

Also, the polling isn't very smart compared to your original example. 
Right now, I have a continuous 50ms refresh, but of course, it should be 
smarter about requesting a refresh only when we know there is a change.

Thanks,

Jason




From ellisonbg at gmail.com  Thu Oct 11 23:45:51 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 11 Oct 2012 20:45:51 -0700
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50773EDA.4070609@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
Message-ID: <CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>

It is not clear to me that the stream of PNGs will win in the end.  If
you make a single static plot of a large data set, that is way better
than trying to send the data to the browser and rendering it there.
But if you have to send hundreds or thousands of PNGs to get
interactivity, that benefit may be washed out.  Especially if you have
multiple users interacting with plots - the server could quickly grind
to a halt.  I think we should do tests to see how bad it gets, taking
into account the multiple user question.  The one performance benefit
that I can think of is that you can tune the level of interactivity to
limit the data that comes back.  For large data sets, users might be
willing to settle for less interactivity.  That option doesn't exist
when you send all the data back.

Cheers,

Brian



On Thu, Oct 11, 2012 at 2:49 PM, Michael Droettboom <mdroe at stsci.edu> wrote:
> I have a proof-of-concept way to make interactive plots in the browser work
> using transparent PNGs described here:
>
> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>
> No PRs yet, because this is miles from ready for that, but it would be
> helpful to get some feedback about how this works in different
> browsers/platforms/network environments etc.
>
> Mike
>
> _______________________________________________
> 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 jason-sage at creativetrax.com  Fri Oct 12 02:39:28 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 01:39:28 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
Message-ID: <5077BB20.5090704@creativetrax.com>

On 10/11/12 10:45 PM, Brian Granger wrote:
> It is not clear to me that the stream of PNGs will win in the end.

What do you see as alternatives?  Reimplementing matplotlib in the 
browser?  SVG-based rendering, where we send over a complete svg image 
at each step (or just the changed svd elements)?  I'm curious what other 
ideas you have.


If
> you make a single static plot of a large data set, that is way better
> than trying to send the data to the browser and rendering it there.
> But if you have to send hundreds or thousands of PNGs to get
> interactivity, that benefit may be washed out.  Especially if you have
> multiple users interacting with plots - the server could quickly grind
> to a halt.  I think we should do tests to see how bad it gets, taking
> into account the multiple user question.  The one performance benefit
> that I can think of is that you can tune the level of interactivity to
> limit the data that comes back.  For large data sets, users might be
> willing to settle for less interactivity.  That option doesn't exist
> when you send all the data back.

I implemented server-side rate-limiting (see my most recent 
modifications at https://gist.github.com/3875846, for example).  Or are 
you saying that the server might not be able to render pngs for hundreds 
or thousands of users?  I wonder if we can get a better protocol than 
just a "Motion PNG" [1].

A disappointing thing is that it seems to take about 100ms to render the 
example png image; it would sure be nice if that was a lot faster.


[1] http://en.wikipedia.org/wiki/Motion_JPEG



From takowl at gmail.com  Fri Oct 12 07:25:31 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Fri, 12 Oct 2012 12:25:31 +0100
Subject: [IPython-dev] Proposal for small change in dir2() function to
 handle XMLRPC Server Proxies
In-Reply-To: <CA+pnd0mWXjA3xadS+QbAm3+6ZnDtmKKqAW5KkDB6MR_jJBVO9w@mail.gmail.com>
References: <CA+pnd0mWXjA3xadS+QbAm3+6ZnDtmKKqAW5KkDB6MR_jJBVO9w@mail.gmail.com>
Message-ID: <CAOvn4qj+VxGJExsAkHvN16sOeFcRyUwDNXu1m5D1aOdO=J7cNw@mail.gmail.com>

On 11 October 2012 15:03, Marco Nawijn <nawijn at gmail.com> wrote:
> I would to propose that a small change is made to the dir2() function
> in IPython to better handle tab completion on a xmlrpclib.ServerProxy
> object.

I've also run into this before, and I agree that we should handle it
better, but I don't think special casing xmlrpclib objects is the
answer. Apart from anything else, we don't want to import xmlrpclib in
every process just to check for it in tab completions.

>From IPython's end, I think we should do a better job of catching
exceptions raised in tab completion. But I think it's up to xmlrpclib
to make __dir__ work properly.

Note that this is already improved in Python 3 - the implementation of
dir() now looks up __dir__ in a way that doesn't go via __getattr__,
so it falls back to the standard dir() method.

Thomas


From mdroe at stsci.edu  Fri Oct 12 10:28:31 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 10:28:31 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50777B1F.5020501@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
Message-ID: <5078290F.7050709@stsci.edu>

On 10/11/2012 10:06 PM, Jason Grout wrote:
> On 10/11/12 5:50 PM, Jason Grout wrote:
>> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>>> I have a proof-of-concept way to make interactive plots in the browser
>>> work using transparent PNGs described here:
>>>
>>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>>
>>> No PRs yet, because this is miles from ready for that, but it would be
>>> helpful to get some feedback about how this works in different
>>> browsers/platforms/network environments etc.
>>>
>> A sample implementation using websockets instead of polling is here:
>>
>> https://gist.github.com/3875846
>>
>> It still requests the file, which causes a delay.  I think doing a png
>> diff sounds like a great idea.  What if we also transfer the png diff
>> over the websocket connection (maybe in a binary frame)?
> I just updated it to transfer the image over websocket too.  More timing
> tests need to be done to see which approach is better, especially tests
> across a network.

Thanks.  That is very helpful

>    The current version of
> https://gist.github.com/3875846 also transfers over a base64 version of
> the data; it seems like it would be better to transfer it as a binary
> message.

I see -- just so I'm clear: that's because we send it over a websocket, 
and it's not obvious how else to put the binary data into the Canvas 
Image object on the browser end?  I see that that's a bit suboptimal.  I 
wonder if it makes sense to use a socket for the event communication, 
but a regular request to get the image data. Then then "push" would come 
from the event websocket as in my original example.

>
> Also, the polling isn't very smart compared to your original example.
> Right now, I have a continuous 50ms refresh, but of course, it should be
> smarter about requesting a refresh only when we know there is a change.

I don't see where this is happening -- it looks like the images are 
pushed by the server when it knows there is a change.  I'm probably 
missing something...

Thanks again,
Mike

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



From mdroe at stsci.edu  Fri Oct 12 10:31:04 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 10:31:04 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5077BB20.5090704@creativetrax.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com>
Message-ID: <507829A8.2040906@stsci.edu>

On 10/12/2012 02:39 AM, Jason Grout wrote:
>
>> you make a single static plot of a large data set, that is way better
>> than trying to send the data to the browser and rendering it there.
>> But if you have to send hundreds or thousands of PNGs to get
>> interactivity, that benefit may be washed out.  Especially if you have
>> multiple users interacting with plots - the server could quickly grind
>> to a halt.  I think we should do tests to see how bad it gets, taking
>> into account the multiple user question.  The one performance benefit
>> that I can think of is that you can tune the level of interactivity to
>> limit the data that comes back.  For large data sets, users might be
>> willing to settle for less interactivity.  That option doesn't exist
>> when you send all the data back.
> I implemented server-side rate-limiting (see my most recent
> modifications at https://gist.github.com/3875846, for example).  Or are
> you saying that the server might not be able to render pngs for hundreds
> or thousands of users?  I wonder if we can get a better protocol than
> just a "Motion PNG" [1].
>
> A disappointing thing is that it seems to take about 100ms to render the
> example png image; it would sure be nice if that was a lot faster.

Yeah -- but solving that has nothing to do with the the browser.  I 
sense that's already quite close to optimal for what it's doing.

>
>
> [1] http://en.wikipedia.org/wiki/Motion_JPEG
>
I had ruled this out initially due to the lossy artifacts and the much 
larger encoding overhead.  But perhaps it could be provided as an 
alternative...

I think Motion PNG makes sense locally, where bandwidth is high and CPU 
time is shared between the server and the client, and Motion JPEG might 
make more sense remotely.

Mike


From mdroe at stsci.edu  Fri Oct 12 13:04:49 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 13:04:49 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5078290F.7050709@stsci.edu>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com> <5078290F.7050709@stsci.edu>
Message-ID: <50784DB1.7040208@stsci.edu>

On 10/12/2012 10:28 AM, Michael Droettboom wrote:
> On 10/11/2012 10:06 PM, Jason Grout wrote:
>> On 10/11/12 5:50 PM, Jason Grout wrote:
>>> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>>>> I have a proof-of-concept way to make interactive plots in the browser
>>>> work using transparent PNGs described here:
>>>>
>>>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/ 
>>>>
>>>>
>>>> No PRs yet, because this is miles from ready for that, but it would be
>>>> helpful to get some feedback about how this works in different
>>>> browsers/platforms/network environments etc.
>>>>
>>> A sample implementation using websockets instead of polling is here:
>>>
>>> https://gist.github.com/3875846
>>>
>>> It still requests the file, which causes a delay.  I think doing a png
>>> diff sounds like a great idea.  What if we also transfer the png diff
>>> over the websocket connection (maybe in a binary frame)?
>> I just updated it to transfer the image over websocket too. More timing
>> tests need to be done to see which approach is better, especially tests
>> across a network.
>
> Thanks.  That is very helpful
>
>>    The current version of
>> https://gist.github.com/3875846 also transfers over a base64 version of
>> the data; it seems like it would be better to transfer it as a binary
>> message.
>
> I see -- just so I'm clear: that's because we send it over a 
> websocket, and it's not obvious how else to put the binary data into 
> the Canvas Image object on the browser end?  I see that that's a bit 
> suboptimal.  I wonder if it makes sense to use a socket for the event 
> communication, but a regular request to get the image data. Then then 
> "push" would come from the event websocket as in my original example.

I found a better way -- recent versions of the websockets API do support 
binary data.  The magic incantation to put load binary data into an 
image object is here:

https://github.com/binaryjs/binaryjs/blob/master/examples/helloworld/index.html

I've created a new github repo for this -- if we're going to collaborate 
on this before it develops into a real patch against matplotlib and/or 
ipython and/or sage that should be more convenient than using gists.

https://github.com/mdboom/mpl_browser_experiments

Cheers,
Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121012/9bc47595/attachment.html>

From mdroe at stsci.edu  Fri Oct 12 14:20:57 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 14:20:57 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
Message-ID: <50785F89.6090105@stsci.edu>

Yes -- let's test this in as many environments and scenarios as we can.  
Feel free to check out and kick the tires and let me know how it works.

https://github.com/mdboom/mpl_browser_experiments

Thanks to Jason's work to make this work in websockets and some further 
tweaks today, the multi-user scenario is much improved. The difference 
image is computed only once per server and then sent out to all of the 
clients.  So, yes, bandwidth usage increases O(n) (where n is the number 
of clients), but CPU time on the server should be relatively constant.  
It's conceivable that duplicating the data to multiple clients could be 
handled by some sort of multicast proxy.  Obviously, if we were just 
able to send transformation changes to each client, the bandwidth would 
be much smaller.  But that requires moving the rendering into the 
browser, or at least something local that contains all of the data.

Mike

On 10/11/2012 11:45 PM, Brian Granger wrote:
> It is not clear to me that the stream of PNGs will win in the end.  If
> you make a single static plot of a large data set, that is way better
> than trying to send the data to the browser and rendering it there.
> But if you have to send hundreds or thousands of PNGs to get
> interactivity, that benefit may be washed out.  Especially if you have
> multiple users interacting with plots - the server could quickly grind
> to a halt.  I think we should do tests to see how bad it gets, taking
> into account the multiple user question.  The one performance benefit
> that I can think of is that you can tune the level of interactivity to
> limit the data that comes back.  For large data sets, users might be
> willing to settle for less interactivity.  That option doesn't exist
> when you send all the data back.
>
> Cheers,
>
> Brian
>
>
>
> On Thu, Oct 11, 2012 at 2:49 PM, Michael Droettboom <mdroe at stsci.edu> wrote:
>> I have a proof-of-concept way to make interactive plots in the browser work
>> using transparent PNGs described here:
>>
>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>
>> No PRs yet, because this is miles from ready for that, but it would be
>> helpful to get some feedback about how this works in different
>> browsers/platforms/network environments etc.
>>
>> Mike
>>
>> _______________________________________________
>> 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/20121012/e5e6b32e/attachment.html>

From nawijn at gmail.com  Fri Oct 12 14:47:17 2012
From: nawijn at gmail.com (Marco Nawijn)
Date: Fri, 12 Oct 2012 20:47:17 +0200
Subject: [IPython-dev] Proposal for small change in dir2() function to
 handle XMLRPC Server Proxies
In-Reply-To: <CAOvn4qj+VxGJExsAkHvN16sOeFcRyUwDNXu1m5D1aOdO=J7cNw@mail.gmail.com>
References: <CA+pnd0mWXjA3xadS+QbAm3+6ZnDtmKKqAW5KkDB6MR_jJBVO9w@mail.gmail.com>
	<CAOvn4qj+VxGJExsAkHvN16sOeFcRyUwDNXu1m5D1aOdO=J7cNw@mail.gmail.com>
Message-ID: <CA+pnd0=s7CCFMUz7V7WH_NRLr7Pzo7bHAFgp6ybKcjOui-xADw@mail.gmail.com>

On Fri, Oct 12, 2012 at 1:25 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 11 October 2012 15:03, Marco Nawijn <nawijn at gmail.com> wrote:
>> I would to propose that a small change is made to the dir2() function
>> in IPython to better handle tab completion on a xmlrpclib.ServerProxy
>> object.
>
> I've also run into this before, and I agree that we should handle it
> better, but I don't think special casing xmlrpclib objects is the
> answer. Apart from anything else, we don't want to import xmlrpclib in
> every process just to check for it in tab completions.
>
> >From IPython's end, I think we should do a better job of catching
> exceptions raised in tab completion. But I think it's up to xmlrpclib
> to make __dir__ work properly.
>
> Note that this is already improved in Python 3 - the implementation of
> dir() now looks up __dir__ in a way that doesn't go via __getattr__,
> so it falls back to the standard dir() method.
>
> Thomas
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev

Hi Thomas,

I agree with you that it would be better to change the xmlrpc Proxy object
to better respond to __dir__, instead of changing dir2(). I will take a look at
it and see if I can come up with an elegant solution. It was just so cool to see
the code completion of the server side functionality from a client side terminal
just by making this small change :).

Thanks for the response and kind regards,

Marco


From ellisonbg at gmail.com  Fri Oct 12 13:06:16 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Fri, 12 Oct 2012 10:06:16 -0700
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5077BB20.5090704@creativetrax.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com>
Message-ID: <CAH4pYpSzUmtDDvy2v8sC28xYKFbGgWfoc8Bm2wGad3OXzk92TQ@mail.gmail.com>

On Thu, Oct 11, 2012 at 11:39 PM, Jason Grout
<jason-sage at creativetrax.com> wrote:
> On 10/11/12 10:45 PM, Brian Granger wrote:
>> It is not clear to me that the stream of PNGs will win in the end.
>
> What do you see as alternatives?  Reimplementing matplotlib in the
> browser?  SVG-based rendering, where we send over a complete svg image
> at each step (or just the changed svd elements)?  I'm curious what other
> ideas you have.

There are two cases:

* Small data sets and relatively simple plots types.  For these, I do
think it makes sense to send the raw JSON data to the browser and
implement a Javascript based plotting library that consumes the JSON
and has an extremely high level of interactivity.  I don't think we
need to do *all* possible plot types with the pixel perfection,
embedded math, infinite configurability.  When people are working
interactively they want: i) plots that look spectacular - pixelized
images don't cut it and ii) high levels of interactivity.
I am not suggesting that we reimplement all of Matplotlib.

Keep in mind that current situation with Matplotlib and the IPython
Notebook is not very ideal.  The pngs that are the default don't look
that great and svg is not yet good enough to use as the default.  We
really do need in browser plotting that *looks* better.

Another important aspect of the JSON data approach.  We want to enable
Notebooks to be viewed and used in contexts outside the actual
notebook interface (nbviewer for example) where there is *no* python
code that is run.  Because we save the JSON data in the notebook, JSON
based plotting can be done interactively in contexts like nbviewer.
For sharing computational results with a wide audience that is
critical.

* Large data sets

I don't really have any alternatives - this is simply a really hard
problem.  In some contexts downsampling is possible.  In other
contexts it is possible to stream subsets of JSON data at are required
for the current view.  It is my impression that the folks at Continuum
are working on this problem.  Maybe they have some insight into this
problem.


>
> If
>> you make a single static plot of a large data set, that is way better
>> than trying to send the data to the browser and rendering it there.
>> But if you have to send hundreds or thousands of PNGs to get
>> interactivity, that benefit may be washed out.  Especially if you have
>> multiple users interacting with plots - the server could quickly grind
>> to a halt.  I think we should do tests to see how bad it gets, taking
>> into account the multiple user question.  The one performance benefit
>> that I can think of is that you can tune the level of interactivity to
>> limit the data that comes back.  For large data sets, users might be
>> willing to settle for less interactivity.  That option doesn't exist
>> when you send all the data back.
>
> I implemented server-side rate-limiting (see my most recent
> modifications at https://gist.github.com/3875846, for example).  Or are
> you saying that the server might not be able to render pngs for hundreds
> or thousands of users?  I wonder if we can get a better protocol than
> just a "Motion PNG" [1].
>
> A disappointing thing is that it seems to take about 100ms to render the
> example png image; it would sure be nice if that was a lot faster.
>
>
> [1] http://en.wikipedia.org/wiki/Motion_JPEG
>
> _______________________________________________
> 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 jason-sage at creativetrax.com  Fri Oct 12 12:35:15 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 11:35:15 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50773EDA.4070609@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
Message-ID: <507846C3.9010903@creativetrax.com>

On 10/11/12 4:49 PM, Michael Droettboom wrote:
> I have a proof-of-concept way to make interactive plots in the browser
> work using transparent PNGs described here:
>
> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>
> No PRs yet, because this is miles from ready for that, but it would be
> helpful to get some feedback about how this works in different
> browsers/platforms/network environments etc.

I just want to point out that this may be another use-case for custom 
messages in IPython.  For example, a matplotlib figure, when it is 
drawn, could send the initial png over the websocket as a display_data 
message.  Matplotlib would then register a callback with IPython to 
handle any custom messages coming back from the javascript (routed 
according to the parent header).  When the javascript detects an event, 
it sends a message back to IPython, IPython calls the appropriate 
matplotlib callback, and matplotlib has the chance to send a new figure 
over.  The javascript side likewise has a callback registered to handle 
matplotlib's return messages.  These messages back and forth may make 
sense to have custom message types.

Thanks,

Jason



From mdroe at stsci.edu  Fri Oct 12 15:21:28 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 15:21:28 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <CAH4pYpSzUmtDDvy2v8sC28xYKFbGgWfoc8Bm2wGad3OXzk92TQ@mail.gmail.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com>
	<CAH4pYpSzUmtDDvy2v8sC28xYKFbGgWfoc8Bm2wGad3OXzk92TQ@mail.gmail.com>
Message-ID: <50786DB8.3040008@stsci.edu>

On 10/12/2012 01:06 PM, Brian Granger wrote:
> On Thu, Oct 11, 2012 at 11:39 PM, Jason Grout
> <jason-sage at creativetrax.com> wrote:
>> On 10/11/12 10:45 PM, Brian Granger wrote:
>>> It is not clear to me that the stream of PNGs will win in the end.
>> What do you see as alternatives?  Reimplementing matplotlib in the
>> browser?  SVG-based rendering, where we send over a complete svg image
>> at each step (or just the changed svd elements)?  I'm curious what other
>> ideas you have.
> There are two cases:
>
> * Small data sets and relatively simple plots types.  For these, I do
> think it makes sense to send the raw JSON data to the browser and
> implement a Javascript based plotting library that consumes the JSON
> and has an extremely high level of interactivity.  I don't think we
> need to do *all* possible plot types with the pixel perfection,
> embedded math, infinite configurability.  When people are working
> interactively they want: i) plots that look spectacular - pixelized
> images don't cut it and ii) high levels of interactivity.
> I am not suggesting that we reimplement all of Matplotlib.

I agree about the reduced interactivity -- but there is an 
interactivity/functionality tradeoff, as you point out.  I used to just 
think that it was a matter of implementing the missing functionality in 
Javascript, but I have since come to realize there are just things it 
can't do in a reasonable way (multiple projection types, multiple image 
interpolation modes) without another quantum leap in browser functionality.

As for image quality, the approach outlined here uses the native pixel 
resolution, so it shouldn't be any more pixelized than anything else 
displayed on screen.  I understand that Safari on Macs with a retina 
display does upsampling of images by default, but with the appropriate 
CSS we should be able to address that.  Is it the lack of subpixel 
sampling that is bothersome?  We've always eschewed that in matplotlib 
because it makes the PNGs non-portable (different displays have 
different RGB orderings), but we could flip it on in this case.

>
> Keep in mind that current situation with Matplotlib and the IPython
> Notebook is not very ideal.  The pngs that are the default don't look
> that great and svg is not yet good enough to use as the default.  We
> really do need in browser plotting that *looks* better.

What doesn't look great about the PNGs?  A lot of effort has gone in to 
antialiasing and hinting the fonts in the best possible way and rounding 
lines to pixel centers etc to make it look as good as possible.  If 
there's specific shortcomings, they can be addressed, since matplotlib 
controls the entire rendering stack.

>
> Another important aspect of the JSON data approach.  We want to enable
> Notebooks to be viewed and used in contexts outside the actual
> notebook interface (nbviewer for example) where there is *no* python
> code that is run.  Because we save the JSON data in the notebook, JSON
> based plotting can be done interactively in contexts like nbviewer.
> For sharing computational results with a wide audience that is
> critical.
>
> * Large data sets
>
> I don't really have any alternatives - this is simply a really hard
> problem.  In some contexts downsampling is possible.  In other
> contexts it is possible to stream subsets of JSON data at are required
> for the current view.  It is my impression that the folks at Continuum
> are working on this problem.  Maybe they have some insight into this
> problem.

I was actually speaking to Travis Oliphant at length about this last 
week, and the upshot of that conversation was this present approach.

Mike

>
>
>> If
>>> you make a single static plot of a large data set, that is way better
>>> than trying to send the data to the browser and rendering it there.
>>> But if you have to send hundreds or thousands of PNGs to get
>>> interactivity, that benefit may be washed out.  Especially if you have
>>> multiple users interacting with plots - the server could quickly grind
>>> to a halt.  I think we should do tests to see how bad it gets, taking
>>> into account the multiple user question.  The one performance benefit
>>> that I can think of is that you can tune the level of interactivity to
>>> limit the data that comes back.  For large data sets, users might be
>>> willing to settle for less interactivity.  That option doesn't exist
>>> when you send all the data back.
>> I implemented server-side rate-limiting (see my most recent
>> modifications at https://gist.github.com/3875846, for example).  Or are
>> you saying that the server might not be able to render pngs for hundreds
>> or thousands of users?  I wonder if we can get a better protocol than
>> just a "Motion PNG" [1].
>>
>> A disappointing thing is that it seems to take about 100ms to render the
>> example png image; it would sure be nice if that was a lot faster.
>>
>>
>> [1] http://en.wikipedia.org/wiki/Motion_JPEG
>>
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>



From jason-sage at creativetrax.com  Fri Oct 12 15:38:31 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 14:38:31 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5078290F.7050709@stsci.edu>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com> <5078290F.7050709@stsci.edu>
Message-ID: <507871B7.4000604@creativetrax.com>

On 10/12/12 9:28 AM, Michael Droettboom wrote:

>> Also, the polling isn't very smart compared to your original example.
>> Right now, I have a continuous 50ms refresh, but of course, it should be
>> smarter about requesting a refresh only when we know there is a change.
>
> I don't see where this is happening -- it looks like the images are
> pushed by the server when it knows there is a change.  I'm probably
> missing something...

I kept working on the code, so that is fixed now :).  You can look in 
the revision history for when I sent the email to see what I was 
referring to, if it matters.

Jason



From jason-sage at creativetrax.com  Fri Oct 12 15:40:52 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 14:40:52 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50784DB1.7040208@stsci.edu>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
	<5078290F.7050709@stsci.edu> <50784DB1.7040208@stsci.edu>
Message-ID: <50787244.4020209@creativetrax.com>

On 10/12/12 12:04 PM, Michael Droettboom wrote:
> I found a better way -- recent versions of the websockets API do support
> binary data.  The magic incantation to put load binary data into an
> image object is here:
>
> https://github.com/binaryjs/binaryjs/blob/master/examples/helloworld/index.html


My main obstruction was figuring out how to get the image data into the 
canvas (correctly interpreted, etc).  It seems that using putImage 
overwrites all pixels on the canvas, regardless of the transparency 
settings, at least from what I read.

>
> I've created a new github repo for this -- if we're going to collaborate
> on this before it develops into a real patch against matplotlib and/or
> ipython and/or sage that should be more convenient than using gists.
>
> https://github.com/mdboom/mpl_browser_experiments

Great.  I may be somewhat offline for a few days, but mid-next week I'll 
be looking at this more for sure.

Thanks,

Jason





From mdroe at stsci.edu  Fri Oct 12 15:49:01 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 15:49:01 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50787244.4020209@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
	<5078290F.7050709@stsci.edu> <50784DB1.7040208@stsci.edu>
	<50787244.4020209@creativetrax.com>
Message-ID: <5078742D.3000108@stsci.edu>

On 10/12/2012 03:40 PM, Jason Grout wrote:
> On 10/12/12 12:04 PM, Michael Droettboom wrote:
>> I found a better way -- recent versions of the websockets API do support
>> binary data.  The magic incantation to put load binary data into an
>> image object is here:
>>
>> https://github.com/binaryjs/binaryjs/blob/master/examples/helloworld/index.html
>
> My main obstruction was figuring out how to get the image data into the
> canvas (correctly interpreted, etc).  It seems that using putImage
> overwrites all pixels on the canvas, regardless of the transparency
> settings, at least from what I read.

True -- but rather than using putImage, I continued to use drawImage, 
and it works like a charm.  The weird bit is the way to get a special 
url to an in-memory binary object:

         imageObj.src = (window.URL || window.webkitURL).createObjectURL(
             evt.data);

(where evt.data is a Blob object).

>
>> I've created a new github repo for this -- if we're going to collaborate
>> on this before it develops into a real patch against matplotlib and/or
>> ipython and/or sage that should be more convenient than using gists.
>>
>> https://github.com/mdboom/mpl_browser_experiments
> Great.  I may be somewhat offline for a few days, but mid-next week I'll
> be looking at this more for sure.

Great.

BTW -- in the latest incantation, I have animation working.

Mike

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



From jason-sage at creativetrax.com  Fri Oct 12 16:06:21 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 15:06:21 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <507829A8.2040906@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com> <507829A8.2040906@stsci.edu>
Message-ID: <5078783D.9050306@creativetrax.com>

On 10/12/12 9:31 AM, Michael Droettboom wrote:
> I think Motion PNG makes sense locally, where bandwidth is high and CPU
> time is shared between the server and the client, and Motion JPEG might
> make more sense remotely.
>

I wasn't implying that we use MJPEG, just merely pointing out the 
precedence for encoding frames (except we use png and do differences...).

Jason




From jason-sage at creativetrax.com  Fri Oct 12 16:06:50 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 15:06:50 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5078742D.3000108@stsci.edu>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
	<5078290F.7050709@stsci.edu> <50784DB1.7040208@stsci.edu>
	<50787244.4020209@creativetrax.com> <5078742D.3000108@stsci.edu>
Message-ID: <5078785A.4080309@creativetrax.com>

On 10/12/12 2:49 PM, Michael Droettboom wrote:
> BTW -- in the latest incantation, I have animation working.

Cool!  Do you have an example?

Thanks,

Jason



From ellisonbg at gmail.com  Fri Oct 12 16:52:05 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Fri, 12 Oct 2012 13:52:05 -0700
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50786DB8.3040008@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com>
	<CAH4pYpSzUmtDDvy2v8sC28xYKFbGgWfoc8Bm2wGad3OXzk92TQ@mail.gmail.com>
	<50786DB8.3040008@stsci.edu>
Message-ID: <CAH4pYpTo76o5vHY7QmXgspAAr46hi7=HGtRJLW4H81MNW-dosw@mail.gmail.com>

On Fri, Oct 12, 2012 at 12:21 PM, Michael Droettboom <mdroe at stsci.edu> wrote:
> On 10/12/2012 01:06 PM, Brian Granger wrote:
>> On Thu, Oct 11, 2012 at 11:39 PM, Jason Grout
>> <jason-sage at creativetrax.com> wrote:
>>> On 10/11/12 10:45 PM, Brian Granger wrote:
>>>> It is not clear to me that the stream of PNGs will win in the end.
>>> What do you see as alternatives?  Reimplementing matplotlib in the
>>> browser?  SVG-based rendering, where we send over a complete svg image
>>> at each step (or just the changed svd elements)?  I'm curious what other
>>> ideas you have.
>> There are two cases:
>>
>> * Small data sets and relatively simple plots types.  For these, I do
>> think it makes sense to send the raw JSON data to the browser and
>> implement a Javascript based plotting library that consumes the JSON
>> and has an extremely high level of interactivity.  I don't think we
>> need to do *all* possible plot types with the pixel perfection,
>> embedded math, infinite configurability.  When people are working
>> interactively they want: i) plots that look spectacular - pixelized
>> images don't cut it and ii) high levels of interactivity.
>> I am not suggesting that we reimplement all of Matplotlib.
>
> I agree about the reduced interactivity -- but there is an
> interactivity/functionality tradeoff, as you point out.  I used to just
> think that it was a matter of implementing the missing functionality in
> Javascript, but I have since come to realize there are just things it
> can't do in a reasonable way (multiple projection types, multiple image
> interpolation modes) without another quantum leap in browser functionality.

Absolutely, and i don't think it makes sense to try and do those things in JS.

> As for image quality, the approach outlined here uses the native pixel
> resolution, so it shouldn't be any more pixelized than anything else
> displayed on screen.  I understand that Safari on Macs with a retina
> display does upsampling of images by default, but with the appropriate
> CSS we should be able to address that.  Is it the lack of subpixel
> sampling that is bothersome?  We've always eschewed that in matplotlib
> because it makes the PNGs non-portable (different displays have
> different RGB orderings), but we could flip it on in this case.
>
>>
>> Keep in mind that current situation with Matplotlib and the IPython
>> Notebook is not very ideal.  The pngs that are the default don't look
>> that great and svg is not yet good enough to use as the default.  We
>> really do need in browser plotting that *looks* better.
>
> What doesn't look great about the PNGs?  A lot of effort has gone in to
> antialiasing and hinting the fonts in the best possible way and rounding
> lines to pixel centers etc to make it look as good as possible.  If
> there's specific shortcomings, they can be addressed, since matplotlib
> controls the entire rendering stack.

They simply don't look at clean at vector based plots, especially now
that users can resize the images dynamically.  We could increase the
resolution of the PNGs, but because the PNGs are saved in the notebook
files, those files could get large.  We have tried to choose a
resolution/size that looks decent, but that isn't overly big.
Remember our user create notebook with up to many dozens of plots.  It
is not a shortcoming of matplotlib, just of non-vector image formats
in general.

>>
>> Another important aspect of the JSON data approach.  We want to enable
>> Notebooks to be viewed and used in contexts outside the actual
>> notebook interface (nbviewer for example) where there is *no* python
>> code that is run.  Because we save the JSON data in the notebook, JSON
>> based plotting can be done interactively in contexts like nbviewer.
>> For sharing computational results with a wide audience that is
>> critical.
>>
>> * Large data sets
>>
>> I don't really have any alternatives - this is simply a really hard
>> problem.  In some contexts downsampling is possible.  In other
>> contexts it is possible to stream subsets of JSON data at are required
>> for the current view.  It is my impression that the folks at Continuum
>> are working on this problem.  Maybe they have some insight into this
>> problem.
>
> I was actually speaking to Travis Oliphant at length about this last
> week, and the upshot of that conversation was this present approach.

Nice, I will hopefully have a chance to look at the code soon.

> Mike
>
>>
>>
>>> If
>>>> you make a single static plot of a large data set, that is way better
>>>> than trying to send the data to the browser and rendering it there.
>>>> But if you have to send hundreds or thousands of PNGs to get
>>>> interactivity, that benefit may be washed out.  Especially if you have
>>>> multiple users interacting with plots - the server could quickly grind
>>>> to a halt.  I think we should do tests to see how bad it gets, taking
>>>> into account the multiple user question.  The one performance benefit
>>>> that I can think of is that you can tune the level of interactivity to
>>>> limit the data that comes back.  For large data sets, users might be
>>>> willing to settle for less interactivity.  That option doesn't exist
>>>> when you send all the data back.
>>> I implemented server-side rate-limiting (see my most recent
>>> modifications at https://gist.github.com/3875846, for example).  Or are
>>> you saying that the server might not be able to render pngs for hundreds
>>> or thousands of users?  I wonder if we can get a better protocol than
>>> just a "Motion PNG" [1].
>>>
>>> A disappointing thing is that it seems to take about 100ms to render the
>>> example png image; it would sure be nice if that was a lot faster.
>>>
>>>
>>> [1] http://en.wikipedia.org/wiki/Motion_JPEG
>>>
>>> _______________________________________________
>>> 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  Fri Oct 12 16:53:08 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Fri, 12 Oct 2012 13:53:08 -0700
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <507846C3.9010903@creativetrax.com>
References: <50773EDA.4070609@stsci.edu>
	<507846C3.9010903@creativetrax.com>
Message-ID: <CAH4pYpRS=dqGFTsY0ppKt=fKDirLhmm7HwMWJHt+dkgWYTAg+g@mail.gmail.com>

On Fri, Oct 12, 2012 at 9:35 AM, Jason Grout
<jason-sage at creativetrax.com> wrote:
> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>> I have a proof-of-concept way to make interactive plots in the browser
>> work using transparent PNGs described here:
>>
>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>
>> No PRs yet, because this is miles from ready for that, but it would be
>> helpful to get some feedback about how this works in different
>> browsers/platforms/network environments etc.
>
> I just want to point out that this may be another use-case for custom
> messages in IPython.  For example, a matplotlib figure, when it is
> drawn, could send the initial png over the websocket as a display_data
> message.  Matplotlib would then register a callback with IPython to
> handle any custom messages coming back from the javascript (routed
> according to the parent header).  When the javascript detects an event,
> it sends a message back to IPython, IPython calls the appropriate
> matplotlib callback, and matplotlib has the chance to send a new figure
> over.  The javascript side likewise has a callback registered to handle
> matplotlib's return messages.  These messages back and forth may make
> sense to have custom message types.

We can already do this type of round tripping without any custom
messages.  That is not to say that they wouldn't be useful though,
they might be.  But they are not required.

Cheers,

Brian

> Thanks,
>
> Jason
>
> _______________________________________________
> 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 mdroe at stsci.edu  Fri Oct 12 17:52:47 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Fri, 12 Oct 2012 17:52:47 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5078785A.4080309@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
	<5078290F.7050709@stsci.edu> <50784DB1.7040208@stsci.edu>
	<50787244.4020209@creativetrax.com> <5078742D.3000108@stsci.edu>
	<5078785A.4080309@creativetrax.com>
Message-ID: <5078912F.7040209@stsci.edu>

On 10/12/2012 04:06 PM, Jason Grout wrote:
> On 10/12/12 2:49 PM, Michael Droettboom wrote:
>> BTW -- in the latest incantation, I have animation working.
> Cool!  Do you have an example?
>
Yep.  example3.py in the mdboom/mpl_browser_experiments repository.

Mike


From takowl at gmail.com  Fri Oct 12 18:44:48 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Fri, 12 Oct 2012 23:44:48 +0100
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <CAH4pYpTo76o5vHY7QmXgspAAr46hi7=HGtRJLW4H81MNW-dosw@mail.gmail.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com>
	<CAH4pYpSzUmtDDvy2v8sC28xYKFbGgWfoc8Bm2wGad3OXzk92TQ@mail.gmail.com>
	<50786DB8.3040008@stsci.edu>
	<CAH4pYpTo76o5vHY7QmXgspAAr46hi7=HGtRJLW4H81MNW-dosw@mail.gmail.com>
Message-ID: <CAOvn4qhRbg2jk9gReUyucNXS_tZV2GKNKSyaUO-yR7kK2wa1BA@mail.gmail.com>

On 12 October 2012 21:52, Brian Granger <ellisonbg at gmail.com> wrote:
> They simply don't look at clean at vector based plots, especially now
> that users can resize the images dynamically.  We could increase the
> resolution of the PNGs, but because the PNGs are saved in the notebook
> files, those files could get large.  We have tried to choose a
> resolution/size that looks decent, but that isn't overly big.

With this proposal, couldn't we hook the resize handle up to the
matplotlib rendering? So when the user resizes the image, it triggers
matplotlib to re-render it at the new size. Then the resolution/file
size trade-off is up to the user.

Thomas


From jason-sage at creativetrax.com  Fri Oct 12 19:16:32 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 18:16:32 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <CAH4pYpRS=dqGFTsY0ppKt=fKDirLhmm7HwMWJHt+dkgWYTAg+g@mail.gmail.com>
References: <50773EDA.4070609@stsci.edu> <507846C3.9010903@creativetrax.com>
	<CAH4pYpRS=dqGFTsY0ppKt=fKDirLhmm7HwMWJHt+dkgWYTAg+g@mail.gmail.com>
Message-ID: <5078A4D0.8080706@creativetrax.com>

On 10/12/12 3:53 PM, Brian Granger wrote:
> On Fri, Oct 12, 2012 at 9:35 AM, Jason Grout
> <jason-sage at creativetrax.com> wrote:
>> On 10/11/12 4:49 PM, Michael Droettboom wrote:
>>> I have a proof-of-concept way to make interactive plots in the browser
>>> work using transparent PNGs described here:
>>>
>>> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>>>
>>> No PRs yet, because this is miles from ready for that, but it would be
>>> helpful to get some feedback about how this works in different
>>> browsers/platforms/network environments etc.
>>
>> I just want to point out that this may be another use-case for custom
>> messages in IPython.  For example, a matplotlib figure, when it is
>> drawn, could send the initial png over the websocket as a display_data
>> message.  Matplotlib would then register a callback with IPython to
>> handle any custom messages coming back from the javascript (routed
>> according to the parent header).  When the javascript detects an event,
>> it sends a message back to IPython, IPython calls the appropriate
>> matplotlib callback, and matplotlib has the chance to send a new figure
>> over.  The javascript side likewise has a callback registered to handle
>> matplotlib's return messages.  These messages back and forth may make
>> sense to have custom message types.
>
> We can already do this type of round tripping without any custom
> messages.  That is not to say that they wouldn't be useful though,
> they might be.  But they are not required.

Oh good.  What would the message type be from the browser back to 
matplotlib?  A display_data message back to matplotlib?  And how would 
matplotlib be able to act on that message?

Thanks,

Jason




From jason-sage at creativetrax.com  Fri Oct 12 19:17:49 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Fri, 12 Oct 2012 18:17:49 -0500
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5078912F.7040209@stsci.edu>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
	<5078290F.7050709@stsci.edu> <50784DB1.7040208@stsci.edu>
	<50787244.4020209@creativetrax.com> <5078742D.3000108@stsci.edu>
	<5078785A.4080309@creativetrax.com> <5078912F.7040209@stsci.edu>
Message-ID: <5078A51D.1090006@creativetrax.com>

On 10/12/12 4:52 PM, Michael Droettboom wrote:
> On 10/12/2012 04:06 PM, Jason Grout wrote:
>> On 10/12/12 2:49 PM, Michael Droettboom wrote:
>>> BTW -- in the latest incantation, I have animation working.
>> Cool!  Do you have an example?
>>
> Yep.  example3.py in the mdboom/mpl_browser_experiments repository.

Did you push to github?  I don't see it there.

Thanks,

Jason



From mdroe at stsci.edu  Sat Oct 13 18:42:47 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Sat, 13 Oct 2012 18:42:47 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <CAOvn4qhRbg2jk9gReUyucNXS_tZV2GKNKSyaUO-yR7kK2wa1BA@mail.gmail.com>
References: <50773EDA.4070609@stsci.edu>
	<CAH4pYpSO1M94_r-he=3P_REPM4w6feYgHxE7Y7FRvUpb=JROfQ@mail.gmail.com>
	<5077BB20.5090704@creativetrax.com>
	<CAH4pYpSzUmtDDvy2v8sC28xYKFbGgWfoc8Bm2wGad3OXzk92TQ@mail.gmail.com>
	<50786DB8.3040008@stsci.edu>
	<CAH4pYpTo76o5vHY7QmXgspAAr46hi7=HGtRJLW4H81MNW-dosw@mail.gmail.com>
	<CAOvn4qhRbg2jk9gReUyucNXS_tZV2GKNKSyaUO-yR7kK2wa1BA@mail.gmail.com>
Message-ID: <5079EE67.6020100@stsci.edu>

On 10/12/2012 06:44 PM, Thomas Kluyver wrote:
> On 12 October 2012 21:52, Brian Granger <ellisonbg at gmail.com> wrote:
>> They simply don't look at clean at vector based plots, especially now
>> that users can resize the images dynamically.  We could increase the
>> resolution of the PNGs, but because the PNGs are saved in the notebook
>> files, those files could get large.  We have tried to choose a
>> resolution/size that looks decent, but that isn't overly big.
> With this proposal, couldn't we hook the resize handle up to the
> matplotlib rendering? So when the user resizes the image, it triggers
> matplotlib to re-render it at the new size. Then the resolution/file
> size trade-off is up to the user.
>

Absolutely -- no reason we couldn't do that.

Mike


From mdroe at stsci.edu  Sat Oct 13 18:42:58 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Sat, 13 Oct 2012 18:42:58 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <5078A51D.1090006@creativetrax.com>
References: <50773EDA.4070609@stsci.edu> <50774D19.1030900@creativetrax.com>
	<50777B1F.5020501@creativetrax.com>
	<5078290F.7050709@stsci.edu> <50784DB1.7040208@stsci.edu>
	<50787244.4020209@creativetrax.com> <5078742D.3000108@stsci.edu>
	<5078785A.4080309@creativetrax.com> <5078912F.7040209@stsci.edu>
	<5078A51D.1090006@creativetrax.com>
Message-ID: <5079EE72.1030907@stsci.edu>

On 10/12/2012 07:17 PM, Jason Grout wrote:
> On 10/12/12 4:52 PM, Michael Droettboom wrote:
>> On 10/12/2012 04:06 PM, Jason Grout wrote:
>>> On 10/12/12 2:49 PM, Michael Droettboom wrote:
>>>> BTW -- in the latest incantation, I have animation working.
>>> Cool!  Do you have an example?
>>>
>> Yep.  example3.py in the mdboom/mpl_browser_experiments repository.
> Did you push to github?  I don't see it there.
>
Oops.  Try now.

Mike


From benjaminrk at gmail.com  Sun Oct 14 17:05:20 2012
From: benjaminrk at gmail.com (MinRK)
Date: Sun, 14 Oct 2012 14:05:20 -0700
Subject: [IPython-dev] Last call for 0.13.1
In-Reply-To: <CAKgW=6JDdJnPA7XwVWu1J2U=4+CPeTNNQeF+BuhS_sDJEmxBpQ@mail.gmail.com>
References: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>
	<CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>
	<CAKgW=6JDdJnPA7XwVWu1J2U=4+CPeTNNQeF+BuhS_sDJEmxBpQ@mail.gmail.com>
Message-ID: <CAHNn8BXctPTRitQsN1sOYyjUOzjky6du-Oj9sJsA7bzQO9HuWw@mail.gmail.com>

To keep things moving along (and for packaging reasons), I am setting the
deadline at 24 hours from now (2PM PDT / 11PM GMT Monday October 15) for
any *already merged PRs* that should be backported (only candidate at this
point is 2480 <https://github.com/ipython/ipython/pull/2480>, which has not
yet been merged).  After that, only fixes to docs or catastrophic
installation bugs will be allowed.

We can then cut 0.13.1 final on Friday (10/19).

So *please* test the latest 0.13.1 RC:
http://archive.ipython.org/testing/0.13.1
and report any serious issues.

-MinRK

On Thu, Oct 11, 2012 at 4:22 PM, Aaron Meurer <asmeurer at gmail.com> wrote:

> You may want to start a deprecation cycle for the SymPy printing
> extension, which has been moved to SymPy itself as of 0.7.2.  I would
> just have the following logic:
>
> if SymPy version is 0.7.2 or greater: use the ipython version (or
> should it use the sympy version?), but emit a deprecation warning
> telling the user to just load sympy.interactive.ipythonprinting
>
> if SymPy version is less than 0.7.2: don't do any warnings
>
> And then, when it's been long enough that probably most people are
> using SymPy 0.7.2 and IPython 0.13.1 or greater, remove it entirely.
>
> Aaron Meurer
>
> On Thu, Oct 11, 2012 at 4:58 PM, MinRK <benjaminrk at gmail.com> wrote:
> >
> >
> > On Thu, Oct 11, 2012 at 1:21 PM, MinRK <benjaminrk at gmail.com> wrote:
> >>
> >> There is currently only one (trivial) PR outstanding for 0.13.1, so I
> >> think this is last call for anything that should go in before we cut a
> >> release.
> >>
> >> If anyone thinks that something not already covered belongs in an 0.13.1
> >> release, speak up now.
> >>
> >> Obviously, if anything doesn't make it, there's no reason we can't have
> >> 0.13.2 in another month or two.
> >
> >
> > While we are considering last call for 0.13.1 and any further tweaks, I
> cut
> > a first release candidate from the current state:
> >
> > http://archive.ipython.org/testing/0.13.1/
> >
> > So we can get started with installation testing.
> >
> > This is just a bugfix release, so no new features to play with.
> >
> > -MinRK
> >
> >
> > _______________________________________________
> > 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/20121014/1baf8cff/attachment.html>

From benjaminrk at gmail.com  Mon Oct 15 18:25:29 2012
From: benjaminrk at gmail.com (MinRK)
Date: Mon, 15 Oct 2012 15:25:29 -0700
Subject: [IPython-dev] Last call for 0.13.1
In-Reply-To: <CAHNn8BXctPTRitQsN1sOYyjUOzjky6du-Oj9sJsA7bzQO9HuWw@mail.gmail.com>
References: <CAHNn8BXcPi2YogwRNGSVvxHu_w7DccnH4LNR2j+ZrYxLRY4toA@mail.gmail.com>
	<CAHNn8BV4yJA0AA3Us7iZgJLzqQ5g0VTP-4q-YURfbUs7n5YMHQ@mail.gmail.com>
	<CAKgW=6JDdJnPA7XwVWu1J2U=4+CPeTNNQeF+BuhS_sDJEmxBpQ@mail.gmail.com>
	<CAHNn8BXctPTRitQsN1sOYyjUOzjky6du-Oj9sJsA7bzQO9HuWw@mail.gmail.com>
Message-ID: <CAHNn8BW=W9E4Ruxz4Ppw=ty4opGG0P_rYreJ_9AL78729dxh3Q@mail.gmail.com>

Okay, door is officially closed on 0.13.1, and rc3 is here:
http://archive.ipython.org/testing/0.13.1

Unless people report critical installation issues, rc3 will become 0.13.1
Final this weekend.  No new bugfixes will be accepted.

-MinRK

On Sun, Oct 14, 2012 at 2:05 PM, MinRK <benjaminrk at gmail.com> wrote:

> To keep things moving along (and for packaging reasons), I am setting the
> deadline at 24 hours from now (2PM PDT / 11PM GMT Monday October 15) for
> any *already merged PRs* that should be backported (only candidate at this
> point is 2480 <https://github.com/ipython/ipython/pull/2480>, which has
> not yet been merged).  After that, only fixes to docs or catastrophic
> installation bugs will be allowed.
>
> We can then cut 0.13.1 final on Friday (10/19).
>
> So *please* test the latest 0.13.1 RC:
> http://archive.ipython.org/testing/0.13.1
> and report any serious issues.
>
> -MinRK
>
>
> On Thu, Oct 11, 2012 at 4:22 PM, Aaron Meurer <asmeurer at gmail.com> wrote:
>
>> You may want to start a deprecation cycle for the SymPy printing
>> extension, which has been moved to SymPy itself as of 0.7.2.  I would
>> just have the following logic:
>>
>> if SymPy version is 0.7.2 or greater: use the ipython version (or
>> should it use the sympy version?), but emit a deprecation warning
>> telling the user to just load sympy.interactive.ipythonprinting
>>
>> if SymPy version is less than 0.7.2: don't do any warnings
>>
>> And then, when it's been long enough that probably most people are
>> using SymPy 0.7.2 and IPython 0.13.1 or greater, remove it entirely.
>>
>> Aaron Meurer
>>
>> On Thu, Oct 11, 2012 at 4:58 PM, MinRK <benjaminrk at gmail.com> wrote:
>> >
>> >
>> > On Thu, Oct 11, 2012 at 1:21 PM, MinRK <benjaminrk at gmail.com> wrote:
>> >>
>> >> There is currently only one (trivial) PR outstanding for 0.13.1, so I
>> >> think this is last call for anything that should go in before we cut a
>> >> release.
>> >>
>> >> If anyone thinks that something not already covered belongs in an
>> 0.13.1
>> >> release, speak up now.
>> >>
>> >> Obviously, if anything doesn't make it, there's no reason we can't have
>> >> 0.13.2 in another month or two.
>> >
>> >
>> > While we are considering last call for 0.13.1 and any further tweaks, I
>> cut
>> > a first release candidate from the current state:
>> >
>> > http://archive.ipython.org/testing/0.13.1/
>> >
>> > So we can get started with installation testing.
>> >
>> > This is just a bugfix release, so no new features to play with.
>> >
>> > -MinRK
>> >
>> >
>> > _______________________________________________
>> > 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/20121015/71f7a9c8/attachment.html>

From cekees at gmail.com  Thu Oct 18 17:59:33 2012
From: cekees at gmail.com (Chris Kees)
Date: Thu, 18 Oct 2012 16:59:33 -0500
Subject: [IPython-dev] interactive widgets with d3 and three.js
Message-ID: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>

Hi,

I'm trying to build some interactive representations of geometric
objects (domains of pde's) in the notebook. For now I'm using d3.js
and three.js for the interactive representation and haven't written
any callbacks to actually change the python representations so this
equations is just about display for now. I'm starting with rectangles
and rectangular cuboids. I can't seem to get the objects to display
and interact properly without separating the html from the javascript
like this:

display(d.html) #add a canvas or div element
d.javascript #get the canvas or div element and render to it with
d3.js or three.js

Shouldn't I be able to just stick the javascript in a <script> element
and get the right behavior from d.html? Or should I actually be
grabbing some element id in the javascript and just having the
javascript modify it? It's not really that big of a deal--I'll
probably add and edit() or show() function anyway. I'm more concerned
about straightening out my understanding of how ipython is interacting
with the generated html for a given notebook.

Here is the notebook:
https://github.com/erdc-cm/proteus-notebooks/blob/master/Domain%20Display.ipynb.
 You'd have to either clone my repo + submodules or clone three.js
into your notebook directory in order to run this.

Thanks,
Chris

p.s. I'd be interested in any advice on whether d3.js and three.js are
the way to go.  I would consider just working directly in svg and
webgl. I've done a little of both, and right I'm not quite sure how
much value the libraries add to the core html5 functionality.


From dpquigl at davequigley.com  Thu Oct 18 21:56:58 2012
From: dpquigl at davequigley.com (David Quigley)
Date: Thu, 18 Oct 2012 21:56:58 -0400
Subject: [IPython-dev] Have prompt redraw on async event
Message-ID: <a4785bdb68540e0669ed8ef333bcea31@countercultured.net>

The last time I posted to the list I was asking about a way to interact 
with an external data stream asynchronously. I managed to get it working 
with subprocess.Popen and a thread and its working great. One problem I 
have though is that in handling these asynchronous events data will get 
printed to the ipython shell. Sometimes this causes the prompt not to 
redraw and my message is either on the same line as the prompt or it 
goes to the next line which is blank and doesn't redraw the prompt. 
Anyone have any suggestions on how to handle this?


From ellisonbg at gmail.com  Fri Oct 19 01:06:29 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 18 Oct 2012 22:06:29 -0700
Subject: [IPython-dev] interactive widgets with d3 and three.js
In-Reply-To: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>
References: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>
Message-ID: <CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>

Chris,

> I'm trying to build some interactive representations of geometric
> objects (domains of pde's) in the notebook. For now I'm using d3.js
> and three.js for the interactive representation and haven't written
> any callbacks to actually change the python representations so this
> equations is just about display for now. I'm starting with rectangles
> and rectangular cuboids. I can't seem to get the objects to display
> and interact properly without separating the html from the javascript
> like this:
>
> display(d.html) #add a canvas or div element
> d.javascript #get the canvas or div element and render to it with
> d3.js or three.js
>
> Shouldn't I be able to just stick the javascript in a <script> element
> and get the right behavior from d.html? Or should I actually be
> grabbing some element id in the javascript and just having the
> javascript modify it? It's not really that big of a deal--I'll
> probably add and edit() or show() function anyway. I'm more concerned
> about straightening out my understanding of how ipython is interacting
> with the generated html for a given notebook.

Yes, if you want to do everything with JS, you will need to learn
about jquery and use that to modify the DOM.  When the JS code is run,
there are two jquery objects you have access to:  element and
container:

element = the div that all output should go into.  You will usually do
element.append(new_stuff)
container = the div that is outside the element that starts out
hidden.  In your JS code you will want to call container.show()

BUT, we should warn you that we are going to eliminate the ability to
run Python generated JS in the notebook.  There are two reasons for
this:

* Security.  The current approach opens the door for some really nasty
(and trivial) attacks that we can't allow.
* Ease of development.  As you will find, writing Python code that
writes JS code that is run in the browser using eval is nearly
impossible to actually get anything done.  I wrote all of this code
and I still can't do it for anything other than something trivial.
eval makes debugging impossible and getting data from Python to JS in
this manner is horribly painful.

Moving forward here is what we are going to do instead:

* Rely on publishing JSON messages to get data back to the browser.
This will use the _repr_json_ method or publish_json function we
already have.
* Create JSON "handlers" in the notebook that know how to handle
different types of JSON messages.
* These handlers will be loaded when the main notebook page is loaded
and will be part of the notebook "server".
* We will ship basic handlers that "everyone" wants to use with
ipython proper - along with their JS dependencies (such as d3).
* We will allow users to install new handlers for plugins they want to
develop/use.

We are a ways off from implementing all of this (I have just barely
starting to play with it) and we will need to discuss the details with
the rest of the dev team, but I wanted to let you know that we are
moving in this direction as it obviously affects your plans.

Here is a branch that I have that starts to try this approach out:

https://github.com/ellisonbg/ipython/tree/opt

Here is the specific handler for some JSON I published:

https://github.com/ellisonbg/ipython/blob/opt/IPython/frontend/html/notebook/static/js/outputarea.js#L455

If you want to play, you could start to pick through this code, but
warning - it is a TOTAL mess and a half.  Probably best to keep
playing like you are, and later convert to the new approach.

Cheers,

Brian

> Here is the notebook:
> https://github.com/erdc-cm/proteus-notebooks/blob/master/Domain%20Display.ipynb.
>  You'd have to either clone my repo + submodules or clone three.js
> into your notebook directory in order to run this.
>
> Thanks,
> Chris
>
> p.s. I'd be interested in any advice on whether d3.js and three.js are
> the way to go.  I would consider just working directly in svg and
> webgl. I've done a little of both, and right I'm not quite sure how
> much value the libraries add to the core html5 functionality.
> _______________________________________________
> 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 bussonniermatthias at gmail.com  Fri Oct 19 04:14:15 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Fri, 19 Oct 2012 10:14:15 +0200
Subject: [IPython-dev] interactive widgets with d3 and three.js
In-Reply-To: <CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>
References: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>
	<CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>
Message-ID: <BFE8ABB9-E564-4816-8D81-7715F69A8615@gmail.com>

> 
> BUT, we should warn you that we are going to eliminate the ability to
> run Python generated JS in the notebook.  There are two reasons for
> this:
> 
> * Security.  The current approach opens the door for some really nasty
> (and trivial) attacks that we can't allow.
> * Ease of development.  As you will find, writing Python code that
> writes JS code that is run in the browser using eval is nearly
> impossible to actually get anything done.  I wrote all of this code
> and I still can't do it for anything other than something trivial.
> eval makes debugging impossible and getting data from Python to JS in
> this manner is horribly painful.

@Brian, 
Did you had a look at iframe ?
I'm a little low on bandwidth, but it's still on my todo list, 
If you think it is not possible, I won't try.

@chris, 

I did try d3 once, and came across a bug from time to time, making the d3 command updating the DOM but not the html view on chrome when runned through IPython (my guess is a running condition with jQuery)?

Just to tell you that if you don't see anything it might not be your fault.
-- 
Matthias

From ellisonbg at gmail.com  Fri Oct 19 12:09:46 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Fri, 19 Oct 2012 09:09:46 -0700
Subject: [IPython-dev] interactive widgets with d3 and three.js
In-Reply-To: <BFE8ABB9-E564-4816-8D81-7715F69A8615@gmail.com>
References: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>
	<CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>
	<BFE8ABB9-E564-4816-8D81-7715F69A8615@gmail.com>
Message-ID: <CAH4pYpQBg9sXRfhs+orvRAKuebbcAC7pEBG499ZQmD91h=bbyw@mail.gmail.com>

> @Brian,
> Did you had a look at iframe ?
> I'm a little low on bandwidth, but it's still on my todo list,
> If you think it is not possible, I won't try.

I looked a bit more and basically I don't think it is possible to both
sandbox the output area using an iframe *and* allow JS code running in
that iframe to call back to the kernel like we want.  It either has to
be completely sandboxed or not at all.

> @chris,
>
> I did try d3 once, and came across a bug from time to time, making the d3 command updating the DOM but not the html view on chrome when runned through IPython (my guess is a running condition with jQuery)?
>
> Just to tell you that if you don't see anything it might not be your fault.
> --
> Matthias
> _______________________________________________
> 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  Fri Oct 19 14:24:56 2012
From: cekees at gmail.com (Chris Kees)
Date: Fri, 19 Oct 2012 13:24:56 -0500
Subject: [IPython-dev] interactive widgets with d3 and three.js
In-Reply-To: <CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>
References: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>
	<CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>
Message-ID: <CAOVFbFi6_7nA5GodG5fKAeOyofhn4X0M7wZW297_HqMpOxoDPQ@mail.gmail.com>

On Fri, Oct 19, 2012 at 12:06 AM, Brian Granger <ellisonbg at gmail.com> wrote:
> Chris,
>
>> I'm trying to build some interactive representations of geometric
>> objects (domains of pde's) in the notebook. For now I'm using d3.js
>> and three.js for the interactive representation and haven't written
>> any callbacks to actually change the python representations so this
>> equations is just about display for now. I'm starting with rectangles
>> and rectangular cuboids. I can't seem to get the objects to display
>> and interact properly without separating the html from the javascript
>> like this:
>>
>> display(d.html) #add a canvas or div element
>> d.javascript #get the canvas or div element and render to it with
>> d3.js or three.js
>>
>> Shouldn't I be able to just stick the javascript in a <script> element
>> and get the right behavior from d.html? Or should I actually be
>> grabbing some element id in the javascript and just having the
>> javascript modify it? It's not really that big of a deal--I'll
>> probably add and edit() or show() function anyway. I'm more concerned
>> about straightening out my understanding of how ipython is interacting
>> with the generated html for a given notebook.
>
> Yes, if you want to do everything with JS, you will need to learn
> about jquery and use that to modify the DOM.  When the JS code is run,
> there are two jquery objects you have access to:  element and
> container:
>
> element = the div that all output should go into.  You will usually do
> element.append(new_stuff)
> container = the div that is outside the element that starts out
> hidden.  In your JS code you will want to call container.show()
>

Hey Brian,

I have it sort of working with this:

this.element.append("<div id='mydiv'></div>")
var rectDemo = d3.select("#mydiv")
.append("svg")
.attr("width", 400)
.attr("height", 400);
rectDemo.append("rect")
.style("stroke", "red")
.attr("width",350)
.attr("height", 350)
$(".container").show();

Seems like I should be able to do it with just d3 selections, but I
don't seem to have mastered selections yet.  I can get by with a hack
for now.

To make sure I understand the path forward: In the future the process
of creating and using a javascript widget will be to write Python code
that packs up the object and some instructions as a json message in
the python code which will be sent to the client (with
display(my_json_msg) say).  Then there will be a case statement in the
notebook javascript that matches some tag in my_json_msg with a set of
 pre-defined javascript functions that  have to be configured server
side. That way the only way to do damage is to exploit weaknesses in
the catalog of javascript functions installed server side.

I've spent a little time looking at the "Z Callbacks" notebook example
and your branch/example. I'm wondering if there's a simple way for me
to mimic this in my existing notebook that would allow me to put all
the javascript code in the first markdown cell and do everything else
with the standard display api. For example my domain class could
implement

def show():
      display(my_display_only_json_msg)
def edit():
      display(my_editor_json_msg)

@Matthias, thanks for the feedback on d3. I'm struggling with the docs
a bit, but it seems to work ok, and there are some really nice
examples at https://github.com/mbostock/d3/wiki/Gallery.

Thanks,
Chris

> BUT, we should warn you that we are going to eliminate the ability to
> run Python generated JS in the notebook.  There are two reasons for
> this:
>
> * Security.  The current approach opens the door for some really nasty
> (and trivial) attacks that we can't allow.
> * Ease of development.  As you will find, writing Python code that
> writes JS code that is run in the browser using eval is nearly
> impossible to actually get anything done.  I wrote all of this code
> and I still can't do it for anything other than something trivial.
> eval makes debugging impossible and getting data from Python to JS in
> this manner is horribly painful.
>
> Moving forward here is what we are going to do instead:
>
> * Rely on publishing JSON messages to get data back to the browser.
> This will use the _repr_json_ method or publish_json function we
> already have.
> * Create JSON "handlers" in the notebook that know how to handle
> different types of JSON messages.
> * These handlers will be loaded when the main notebook page is loaded
> and will be part of the notebook "server".
> * We will ship basic handlers that "everyone" wants to use with
> ipython proper - along with their JS dependencies (such as d3).
> * We will allow users to install new handlers for plugins they want to
> develop/use.
>
> We are a ways off from implementing all of this (I have just barely
> starting to play with it) and we will need to discuss the details with
> the rest of the dev team, but I wanted to let you know that we are
> moving in this direction as it obviously affects your plans.
>
> Here is a branch that I have that starts to try this approach out:
>
> https://github.com/ellisonbg/ipython/tree/opt
>
> Here is the specific handler for some JSON I published:
>
> https://github.com/ellisonbg/ipython/blob/opt/IPython/frontend/html/notebook/static/js/outputarea.js#L455
>
> If you want to play, you could start to pick through this code, but
> warning - it is a TOTAL mess and a half.  Probably best to keep
> playing like you are, and later convert to the new approach.
>
> Cheers,
>
> Brian
>
>> Here is the notebook:
>> https://github.com/erdc-cm/proteus-notebooks/blob/master/Domain%20Display.ipynb.
>>  You'd have to either clone my repo + submodules or clone three.js
>> into your notebook directory in order to run this.
>>
>> Thanks,
>> Chris
>>
>> p.s. I'd be interested in any advice on whether d3.js and three.js are
>> the way to go.  I would consider just working directly in svg and
>> webgl. I've done a little of both, and right I'm not quite sure how
>> much value the libraries add to the core html5 functionality.
>> _______________________________________________
>> 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


From ellisonbg at gmail.com  Fri Oct 19 17:22:54 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Fri, 19 Oct 2012 14:22:54 -0700
Subject: [IPython-dev] interactive widgets with d3 and three.js
In-Reply-To: <CAOVFbFi6_7nA5GodG5fKAeOyofhn4X0M7wZW297_HqMpOxoDPQ@mail.gmail.com>
References: <CAOVFbFgJ8KN0pHj-9icVGB9kqvDYUHvNiOpX94uALXZCeMOKzw@mail.gmail.com>
	<CAH4pYpRGpa9xu9+71H0NwNyKNHWuYShRDmkyi8iR8G3sF1w+FA@mail.gmail.com>
	<CAOVFbFi6_7nA5GodG5fKAeOyofhn4X0M7wZW297_HqMpOxoDPQ@mail.gmail.com>
Message-ID: <CAH4pYpRgFUuHLeQAgATH=XeE=GoUUe8dpy2DGn5+MDE0XXQe=w@mail.gmail.com>

On Fri, Oct 19, 2012 at 11:24 AM, Chris Kees <cekees at gmail.com> wrote:
> On Fri, Oct 19, 2012 at 12:06 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>> Chris,
>>
>>> I'm trying to build some interactive representations of geometric
>>> objects (domains of pde's) in the notebook. For now I'm using d3.js
>>> and three.js for the interactive representation and haven't written
>>> any callbacks to actually change the python representations so this
>>> equations is just about display for now. I'm starting with rectangles
>>> and rectangular cuboids. I can't seem to get the objects to display
>>> and interact properly without separating the html from the javascript
>>> like this:
>>>
>>> display(d.html) #add a canvas or div element
>>> d.javascript #get the canvas or div element and render to it with
>>> d3.js or three.js
>>>
>>> Shouldn't I be able to just stick the javascript in a <script> element
>>> and get the right behavior from d.html? Or should I actually be
>>> grabbing some element id in the javascript and just having the
>>> javascript modify it? It's not really that big of a deal--I'll
>>> probably add and edit() or show() function anyway. I'm more concerned
>>> about straightening out my understanding of how ipython is interacting
>>> with the generated html for a given notebook.
>>
>> Yes, if you want to do everything with JS, you will need to learn
>> about jquery and use that to modify the DOM.  When the JS code is run,
>> there are two jquery objects you have access to:  element and
>> container:
>>
>> element = the div that all output should go into.  You will usually do
>> element.append(new_stuff)
>> container = the div that is outside the element that starts out
>> hidden.  In your JS code you will want to call container.show()
>>
>
> Hey Brian,
>
> I have it sort of working with this:
>
> this.element.append("<div id='mydiv'></div>")
> var rectDemo = d3.select("#mydiv")
> .append("svg")
> .attr("width", 400)
> .attr("height", 400);
> rectDemo.append("rect")
> .style("stroke", "red")
> .attr("width",350)
> .attr("height", 350)
> $(".container").show();

Yes, this type of thing looks right.

> Seems like I should be able to do it with just d3 selections, but I
> don't seem to have mastered selections yet.  I can get by with a hack
> for now.
>
> To make sure I understand the path forward: In the future the process
> of creating and using a javascript widget will be to write Python code
> that packs up the object and some instructions as a json message in
> the python code which will be sent to the client (with
> display(my_json_msg) say).  Then there will be a case statement in the
> notebook javascript that matches some tag in my_json_msg with a set of
>  pre-defined javascript functions that  have to be configured server
> side. That way the only way to do damage is to exploit weaknesses in
> the catalog of javascript functions installed server side.
>
> I've spent a little time looking at the "Z Callbacks" notebook example
> and your branch/example. I'm wondering if there's a simple way for me
> to mimic this in my existing notebook that would allow me to put all
> the javascript code in the first markdown cell and do everything else
> with the standard display api. For example my domain class could
> implement
>
> def show():
>       display(my_display_only_json_msg)
> def edit():
>       display(my_editor_json_msg)

I don't think there is a way to get this working with what we have
now.  The problem is that there isn't any append_json method in master
that knows how to dispatch to the handlers.  That is something we need
to add first.

> @Matthias, thanks for the feedback on d3. I'm struggling with the docs
> a bit, but it seems to work ok, and there are some really nice
> examples at https://github.com/mbostock/d3/wiki/Gallery.
>
> Thanks,
> Chris
>
>> BUT, we should warn you that we are going to eliminate the ability to
>> run Python generated JS in the notebook.  There are two reasons for
>> this:
>>
>> * Security.  The current approach opens the door for some really nasty
>> (and trivial) attacks that we can't allow.
>> * Ease of development.  As you will find, writing Python code that
>> writes JS code that is run in the browser using eval is nearly
>> impossible to actually get anything done.  I wrote all of this code
>> and I still can't do it for anything other than something trivial.
>> eval makes debugging impossible and getting data from Python to JS in
>> this manner is horribly painful.
>>
>> Moving forward here is what we are going to do instead:
>>
>> * Rely on publishing JSON messages to get data back to the browser.
>> This will use the _repr_json_ method or publish_json function we
>> already have.
>> * Create JSON "handlers" in the notebook that know how to handle
>> different types of JSON messages.
>> * These handlers will be loaded when the main notebook page is loaded
>> and will be part of the notebook "server".
>> * We will ship basic handlers that "everyone" wants to use with
>> ipython proper - along with their JS dependencies (such as d3).
>> * We will allow users to install new handlers for plugins they want to
>> develop/use.
>>
>> We are a ways off from implementing all of this (I have just barely
>> starting to play with it) and we will need to discuss the details with
>> the rest of the dev team, but I wanted to let you know that we are
>> moving in this direction as it obviously affects your plans.
>>
>> Here is a branch that I have that starts to try this approach out:
>>
>> https://github.com/ellisonbg/ipython/tree/opt
>>
>> Here is the specific handler for some JSON I published:
>>
>> https://github.com/ellisonbg/ipython/blob/opt/IPython/frontend/html/notebook/static/js/outputarea.js#L455
>>
>> If you want to play, you could start to pick through this code, but
>> warning - it is a TOTAL mess and a half.  Probably best to keep
>> playing like you are, and later convert to the new approach.
>>
>> Cheers,
>>
>> Brian
>>
>>> Here is the notebook:
>>> https://github.com/erdc-cm/proteus-notebooks/blob/master/Domain%20Display.ipynb.
>>>  You'd have to either clone my repo + submodules or clone three.js
>>> into your notebook directory in order to run this.
>>>
>>> Thanks,
>>> Chris
>>>
>>> p.s. I'd be interested in any advice on whether d3.js and three.js are
>>> the way to go.  I would consider just working directly in svg and
>>> webgl. I've done a little of both, and right I'm not quite sure how
>>> much value the libraries add to the core html5 functionality.
>>> _______________________________________________
>>> 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



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


From benjaminrk at gmail.com  Fri Oct 19 19:05:07 2012
From: benjaminrk at gmail.com (MinRK)
Date: Fri, 19 Oct 2012 16:05:07 -0700
Subject: [IPython-dev] IPython on GitHub
Message-ID: <CAHNn8BW18H3xOvDHvTb7Q9MLqCdQLy641X2Ae3doHfPp2L8-HQ@mail.gmail.com>

I thought I would do a quick draft of how we are working with GitHub,
particularly re: labels/milestones/backports

https://github.com/ipython/ipython/wiki/IPython-on-GitHub

Please update/clarify/contribute as appropriate.

-MinRK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121019/7f2f84de/attachment.html>

From brad.froehle at gmail.com  Fri Oct 19 20:04:50 2012
From: brad.froehle at gmail.com (Bradley M. Froehle)
Date: Fri, 19 Oct 2012 17:04:50 -0700
Subject: [IPython-dev] IPython on GitHub
In-Reply-To: <CAHNn8BW18H3xOvDHvTb7Q9MLqCdQLy641X2Ae3doHfPp2L8-HQ@mail.gmail.com>
References: <CAHNn8BW18H3xOvDHvTb7Q9MLqCdQLy641X2Ae3doHfPp2L8-HQ@mail.gmail.com>
Message-ID: <CAHXv-MixAF0SaKKJ37XyEOx_N=u5kgg=CAoYCyu7F02gK6eqOg@mail.gmail.com>

Yes, agreed, especially with the `0.13.x` branch naming.

On Fri, Oct 19, 2012 at 4:05 PM, MinRK <benjaminrk at gmail.com> wrote:
> I thought I would do a quick draft of how we are working with GitHub,
> particularly re: labels/milestones/backports
>
> https://github.com/ipython/ipython/wiki/IPython-on-GitHub
>
> Please update/clarify/contribute as appropriate.
>
> -MinRK
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>


From benjaminrk at gmail.com  Fri Oct 19 22:07:16 2012
From: benjaminrk at gmail.com (MinRK)
Date: Fri, 19 Oct 2012 19:07:16 -0700
Subject: [IPython-dev] IPython on GitHub
In-Reply-To: <CAHXv-MixAF0SaKKJ37XyEOx_N=u5kgg=CAoYCyu7F02gK6eqOg@mail.gmail.com>
References: <CAHNn8BW18H3xOvDHvTb7Q9MLqCdQLy641X2Ae3doHfPp2L8-HQ@mail.gmail.com>
	<CAHXv-MixAF0SaKKJ37XyEOx_N=u5kgg=CAoYCyu7F02gK6eqOg@mail.gmail.com>
Message-ID: <CAHNn8BXj1Dh5V0Tv_utp5OQ2jja6e7RzJJ7CoUwTz+UGaqAXhw@mail.gmail.com>

On Fri, Oct 19, 2012 at 5:04 PM, Bradley M. Froehle
<brad.froehle at gmail.com>wrote:

> Yes, agreed, especially with the `0.13.x` branch naming.
>

Yes, Julian (and others) pointed out my mistake in using 0.13.1.  I figured
I would leave it until 0.13.1 is released (tomorrow) before moving it to
the more sensible name.


>
> On Fri, Oct 19, 2012 at 4:05 PM, MinRK <benjaminrk at gmail.com> wrote:
> > I thought I would do a quick draft of how we are working with GitHub,
> > particularly re: labels/milestones/backports
> >
> > https://github.com/ipython/ipython/wiki/IPython-on-GitHub
> >
> > Please update/clarify/contribute as appropriate.
> >
> > -MinRK
> >
> > _______________________________________________
> > 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/20121019/7101b38d/attachment.html>

From ellisonbg at gmail.com  Sat Oct 20 17:26:31 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Sat, 20 Oct 2012 14:26:31 -0700
Subject: [IPython-dev] Travis build failure
Message-ID: <CAH4pYpTFxQLVkPtkLiBnB4o-MqOtss4_NPVzTA9ihiM5cpUhaw@mail.gmail.com>

Hi,

I just merged a PR (improved MathJax support from ahmadia) and
apparently it broke the build in Travis.  I went to the Travis site,
but the error appears to be that the build took more than 35 minutes.
The changes merged into master in the PR were pure Javascript and
relatively small, so I don't see how it could have actually triggered
this, but we have never seen this before.  Any thoughts from our
Travis masters?

Cheers,

Brian

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


From asmeurer at gmail.com  Sat Oct 20 17:57:44 2012
From: asmeurer at gmail.com (Aaron Meurer)
Date: Sat, 20 Oct 2012 15:57:44 -0600
Subject: [IPython-dev] Travis build failure
In-Reply-To: <CAH4pYpTFxQLVkPtkLiBnB4o-MqOtss4_NPVzTA9ihiM5cpUhaw@mail.gmail.com>
References: <CAH4pYpTFxQLVkPtkLiBnB4o-MqOtss4_NPVzTA9ihiM5cpUhaw@mail.gmail.com>
Message-ID: <CAKgW=6JfaeGmHcRmp1yiVBKtBut2BV+Cfv2_VP+A+yEjTmBwSw@mail.gmail.com>

We see this happen all the time with SymPy pull requests (I don't pay
much attention to the main builds, so I don't know if it also happens
there).  Here's the first example I could find
https://travis-ci.org/#!/sympy/sympy/jobs/2093841. It usually is
intermittent.  So with any luck, it will just go away the next time
you push something.

Aaron Meurer

On Sat, Oct 20, 2012 at 3:26 PM, Brian Granger <ellisonbg at gmail.com> wrote:
> Hi,
>
> I just merged a PR (improved MathJax support from ahmadia) and
> apparently it broke the build in Travis.  I went to the Travis site,
> but the error appears to be that the build took more than 35 minutes.
> The changes merged into master in the PR were pure Javascript and
> relatively small, so I don't see how it could have actually triggered
> this, but we have never seen this before.  Any thoughts from our
> Travis masters?
>
> Cheers,
>
> Brian
>
> --
> 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


From ellisonbg at gmail.com  Sat Oct 20 17:59:48 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Sat, 20 Oct 2012 14:59:48 -0700
Subject: [IPython-dev] Travis build failure
In-Reply-To: <CAKgW=6JfaeGmHcRmp1yiVBKtBut2BV+Cfv2_VP+A+yEjTmBwSw@mail.gmail.com>
References: <CAH4pYpTFxQLVkPtkLiBnB4o-MqOtss4_NPVzTA9ihiM5cpUhaw@mail.gmail.com>
	<CAKgW=6JfaeGmHcRmp1yiVBKtBut2BV+Cfv2_VP+A+yEjTmBwSw@mail.gmail.com>
Message-ID: <CAH4pYpS0V_GJ-eMvJAFdqLeZK1Jh1tgm6f+4BTuKVkm4Wd6f6g@mail.gmail.com>

Thanks Aaron.

On Sat, Oct 20, 2012 at 2:57 PM, Aaron Meurer <asmeurer at gmail.com> wrote:
> We see this happen all the time with SymPy pull requests (I don't pay
> much attention to the main builds, so I don't know if it also happens
> there).  Here's the first example I could find
> https://travis-ci.org/#!/sympy/sympy/jobs/2093841. It usually is
> intermittent.  So with any luck, it will just go away the next time
> you push something.
>
> Aaron Meurer
>
> On Sat, Oct 20, 2012 at 3:26 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>> Hi,
>>
>> I just merged a PR (improved MathJax support from ahmadia) and
>> apparently it broke the build in Travis.  I went to the Travis site,
>> but the error appears to be that the build took more than 35 minutes.
>> The changes merged into master in the PR were pure Javascript and
>> relatively small, so I don't see how it could have actually triggered
>> this, but we have never seen this before.  Any thoughts from our
>> Travis masters?
>>
>> Cheers,
>>
>> Brian
>>
>> --
>> 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



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


From benjaminrk at gmail.com  Sat Oct 20 20:44:20 2012
From: benjaminrk at gmail.com (MinRK)
Date: Sat, 20 Oct 2012 17:44:20 -0700
Subject: [IPython-dev] [ANN] IPython 0.13.1 release
Message-ID: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>

IPython 0.13.1, the first bugfix release for IPython 0.13 is out.

Still a docs build to push, but Windows installers and tar/zipballs should
be up.

The 0.13.1 branch on GitHub is dead, replaced by 0.13.x, and 0.13.1 has the
tag 'rel-0.13.1'

To see issues addressed in 0.13.1:

https://github.com/ipython/ipython/issues?labels=backport-0.13.1<https://github.com/ipython/ipython/issues?labels=backport-0.13.1&page=1&state=closed>

until the docs are pushed.

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

From brad.froehle at gmail.com  Sat Oct 20 21:46:07 2012
From: brad.froehle at gmail.com (Bradley M. Froehle)
Date: Sat, 20 Oct 2012 18:46:07 -0700
Subject: [IPython-dev] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
Message-ID: <0BAC9A2A380F4D1CAA98809E7320DB01@gmail.com>

Thanks Min! Congrats all. 

Brad 


On Saturday, October 20, 2012 at 5:44 PM, MinRK wrote:

> IPython 0.13.1, the first bugfix release for IPython 0.13 is out.
> 
> Still a docs build to push, but Windows installers and tar/zipballs should be up.
> 
> The 0.13.1 branch on GitHub is dead, replaced by 0.13.x, and 0.13.1 has the tag 'rel-0.13.1' 
> 
> To see issues addressed in 0.13.1:
> 
> https://github.com/ipython/ipython/issues?labels=backport-0.13.1 (https://github.com/ipython/ipython/issues?labels=backport-0.13.1&page=1&state=closed) 
> 
> until the docs are pushed.
> 
> -MinRK 
> _______________________________________________
> 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/20121020/98dfff06/attachment.html>

From fperez.net at gmail.com  Sat Oct 20 21:46:31 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sat, 20 Oct 2012 18:46:31 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
Message-ID: <CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>

Hey Min,

On Sat, Oct 20, 2012 at 5:44 PM, MinRK <benjaminrk at gmail.com> wrote:
> IPython 0.13.1, the first bugfix release for IPython 0.13 is out.
>
> Still a docs build to push, but Windows installers and tar/zipballs should
> be up.
>
> The 0.13.1 branch on GitHub is dead, replaced by 0.13.x, and 0.13.1 has the
> tag 'rel-0.13.1'
>
> To see issues addressed in 0.13.1:
>
> https://github.com/ipython/ipython/issues?labels=backport-0.13.1
>
> until the docs are pushed.

Awesome!  Many thanks for pushing this through...

Is there anything else on your list? I'm thinking site update, docs
upload (even if they haven't changed, so that we have an official
release with the 0.13.1 number), etc.

Cheers,

f


From ellisonbg at gmail.com  Sat Oct 20 22:00:40 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Sat, 20 Oct 2012 19:00:40 -0700
Subject: [IPython-dev] [ANN] IPython 0.13.1 release
In-Reply-To: <0BAC9A2A380F4D1CAA98809E7320DB01@gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<0BAC9A2A380F4D1CAA98809E7320DB01@gmail.com>
Message-ID: <CAH4pYpTbcsQ5Lhbo-c2toigvKCmwy-c6StEGrKu3bTnGV9JxGg@mail.gmail.com>

Min, great work!  Thanks for pushing on this.

Cheers,

Brian

On Sat, Oct 20, 2012 at 6:46 PM, Bradley M. Froehle
<brad.froehle at gmail.com> wrote:
> Thanks Min! Congrats all.
>
> Brad
>
> On Saturday, October 20, 2012 at 5:44 PM, MinRK wrote:
>
> IPython 0.13.1, the first bugfix release for IPython 0.13 is out.
>
> Still a docs build to push, but Windows installers and tar/zipballs should
> be up.
>
> The 0.13.1 branch on GitHub is dead, replaced by 0.13.x, and 0.13.1 has the
> tag 'rel-0.13.1'
>
> To see issues addressed in 0.13.1:
>
> https://github.com/ipython/ipython/issues?labels=backport-0.13.1
>
> until the docs are pushed.
>
> -MinRK
> _______________________________________________
> 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 benjaminrk at gmail.com  Sat Oct 20 22:12:55 2012
From: benjaminrk at gmail.com (Min RK)
Date: Sat, 20 Oct 2012 19:12:55 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
Message-ID: <DACDB446-4061-444F-AC79-A885E026014A@gmail.com>


On Oct 20, 2012, at 18:46, Fernando Perez <fperez.net at gmail.com> wrote:

> Hey Min,
> 
> On Sat, Oct 20, 2012 at 5:44 PM, MinRK <benjaminrk at gmail.com> wrote:
>> IPython 0.13.1, the first bugfix release for IPython 0.13 is out.
>> 
>> Still a docs build to push, but Windows installers and tar/zipballs should
>> be up.
>> 
>> The 0.13.1 branch on GitHub is dead, replaced by 0.13.x, and 0.13.1 has the
>> tag 'rel-0.13.1'
>> 
>> To see issues addressed in 0.13.1:
>> 
>> https://github.com/ipython/ipython/issues?labels=backport-0.13.1
>> 
>> until the docs are pushed.
> 
> Awesome!  Many thanks for pushing this through...
> 
> Is there anything else on your list? I'm thinking site update, docs
> upload (even if they haven't changed, so that we have an official
> release with the 0.13.1 number), etc.

I have only done the mechanical stuff (pypi, git tag, etc.).  Website and an official 0.13.1 build of the docs are still to do.  I will get to those tomorrow, unless someone else wants to take care of them first.


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


From benjaminrk at gmail.com  Sun Oct 21 14:41:54 2012
From: benjaminrk at gmail.com (MinRK)
Date: Sun, 21 Oct 2012 11:41:54 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
	<DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
Message-ID: <CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>

On Sat, Oct 20, 2012 at 7:12 PM, Min RK <benjaminrk at gmail.com> wrote:

>
> On Oct 20, 2012, at 18:46, Fernando Perez <fperez.net at gmail.com> wrote:
>
> > Hey Min,
> >
> > On Sat, Oct 20, 2012 at 5:44 PM, MinRK <benjaminrk at gmail.com> wrote:
> >> IPython 0.13.1, the first bugfix release for IPython 0.13 is out.
> >>
> >> Still a docs build to push, but Windows installers and tar/zipballs
> should
> >> be up.
> >>
> >> The 0.13.1 branch on GitHub is dead, replaced by 0.13.x, and 0.13.1 has
> the
> >> tag 'rel-0.13.1'
> >>
> >> To see issues addressed in 0.13.1:
> >>
> >> https://github.com/ipython/ipython/issues?labels=backport-0.13.1
> >>
> >> until the docs are pushed.
> >
> > Awesome!  Many thanks for pushing this through...
> >
> > Is there anything else on your list? I'm thinking site update, docs
> > upload (even if they haven't changed, so that we have an official
> > release with the 0.13.1 number), etc.
>
> I have only done the mechanical stuff (pypi, git tag, etc.).  Website and
> an official 0.13.1 build of the docs are still to do.  I will get to those
> tomorrow, unless someone else wants to take care of them first.
>

Docs and website should be updated.  If I'm not mistaken, that is that!

-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/20121021/1e4d3ca8/attachment.html>

From fperez.net at gmail.com  Mon Oct 22 00:39:44 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 21 Oct 2012 21:39:44 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
	<DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
	<CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>
Message-ID: <CAHAreOrgq8fqYP25LQ+UrXqotPGrdY20kY57+sp=ET1ast9W4A@mail.gmail.com>

On Sun, Oct 21, 2012 at 11:41 AM, MinRK <benjaminrk at gmail.com> wrote:
> Docs and website should be updated.  If I'm not mistaken, that is that!

Again, great job!

An BTW, I think this is the first release ever of IPython that is not
done by me, and this is awesome.  The less single-person bottlenecks
we have on the project, the better we'll scale.

We bootstrapped this by Min sitting next to me for most of the 0.13
release process, where we did  a lot of the work together and I gave
him about the only piece of private info needed, the pypi password to
run the registration/uploads.

If anyone else wants to help with the release process, let us know.  I
want to make sure that we can scale on all fronts of the project as
much a possible, so don't hesitate to ask if there's any part that
you'd like to participate in.

Cheers,

f


From asmeurer at gmail.com  Mon Oct 22 00:51:02 2012
From: asmeurer at gmail.com (Aaron Meurer)
Date: Sun, 21 Oct 2012 22:51:02 -0600
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHAreOrgq8fqYP25LQ+UrXqotPGrdY20kY57+sp=ET1ast9W4A@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
	<DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
	<CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>
	<CAHAreOrgq8fqYP25LQ+UrXqotPGrdY20kY57+sp=ET1ast9W4A@mail.gmail.com>
Message-ID: <CAKgW=6JLL9x9jca8yx-myQr6TQoriAzzBwC-zeSQC50a1k-tSQ@mail.gmail.com>

On Sun, Oct 21, 2012 at 10:39 PM, Fernando Perez <fperez.net at gmail.com> wrote:
> On Sun, Oct 21, 2012 at 11:41 AM, MinRK <benjaminrk at gmail.com> wrote:
>> Docs and website should be updated.  If I'm not mistaken, that is that!
>
> Again, great job!
>
> An BTW, I think this is the first release ever of IPython that is not
> done by me, and this is awesome.  The less single-person bottlenecks
> we have on the project, the better we'll scale.
>
> We bootstrapped this by Min sitting next to me for most of the 0.13
> release process, where we did  a lot of the work together and I gave
> him about the only piece of private info needed, the pypi password to
> run the registration/uploads.

Can't you just add him as an admin for the project on PyPI?

Aaron Meurer

>
> If anyone else wants to help with the release process, let us know.  I
> want to make sure that we can scale on all fronts of the project as
> much a possible, so don't hesitate to ask if there's any part that
> you'd like to participate in.
>
> 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  Mon Oct 22 01:28:21 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 21 Oct 2012 22:28:21 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAKgW=6JLL9x9jca8yx-myQr6TQoriAzzBwC-zeSQC50a1k-tSQ@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
	<DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
	<CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>
	<CAHAreOrgq8fqYP25LQ+UrXqotPGrdY20kY57+sp=ET1ast9W4A@mail.gmail.com>
	<CAKgW=6JLL9x9jca8yx-myQr6TQoriAzzBwC-zeSQC50a1k-tSQ@mail.gmail.com>
Message-ID: <CAHAreOqj70pkM+gCMVHLa=qaypFO-O8NpfNuYviRdZhbDaEmYA@mail.gmail.com>

On Sun, Oct 21, 2012 at 9:51 PM, Aaron Meurer <asmeurer at gmail.com> wrote:
> Can't you just add him as an admin for the project on PyPI?

I didn't know they had that capability :)  As always, you keep
teaching us stuff, thanks!

I made the pypi account years ago and had never looked at it again, so
maybe they didn't have that at the start, or maybe I just missed it.
In any case, thanks for the info!

Other core devs: send me your pypi usernames and I'll add you so we
can have more people managing the pypi site when needed too...

f


From benjaminrk at gmail.com  Mon Oct 22 02:01:08 2012
From: benjaminrk at gmail.com (MinRK)
Date: Sun, 21 Oct 2012 23:01:08 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHAreOqj70pkM+gCMVHLa=qaypFO-O8NpfNuYviRdZhbDaEmYA@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
	<DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
	<CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>
	<CAHAreOrgq8fqYP25LQ+UrXqotPGrdY20kY57+sp=ET1ast9W4A@mail.gmail.com>
	<CAKgW=6JLL9x9jca8yx-myQr6TQoriAzzBwC-zeSQC50a1k-tSQ@mail.gmail.com>
	<CAHAreOqj70pkM+gCMVHLa=qaypFO-O8NpfNuYviRdZhbDaEmYA@mail.gmail.com>
Message-ID: <CAHNn8BXQUUA3L04WM3kZC0HudmyZhXX98qKawZ5Oc__V=UsyCQ@mail.gmail.com>

On Sun, Oct 21, 2012 at 10:28 PM, Fernando Perez <fperez.net at gmail.com>wrote:

> On Sun, Oct 21, 2012 at 9:51 PM, Aaron Meurer <asmeurer at gmail.com> wrote:
> > Can't you just add him as an admin for the project on PyPI?
>
> I didn't know they had that capability :)  As always, you keep
> teaching us stuff, thanks!
>

I actually uploaded it as me, because I noticed this while we were doing to
0.13 release and added myself and Brian as owners of the project at the
time.  Obviously other core devs should be added as well.

-MinRK


>
> I made the pypi account years ago and had never looked at it again, so
> maybe they didn't have that at the start, or maybe I just missed it.
> In any case, thanks for the info!
>
> Other core devs: send me your pypi usernames and I'll add you so we
> can have more people managing the pypi site when needed too...
>
> 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/20121021/3974e53c/attachment.html>

From fperez.net at gmail.com  Mon Oct 22 02:05:20 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Sun, 21 Oct 2012 23:05:20 -0700
Subject: [IPython-dev] [IPython-User] [ANN] IPython 0.13.1 release
In-Reply-To: <CAHNn8BXQUUA3L04WM3kZC0HudmyZhXX98qKawZ5Oc__V=UsyCQ@mail.gmail.com>
References: <CAHNn8BVsPx4YSf_uTFCk4EOmiW4J-TTK4KHPE_T5Oomg-PPDKw@mail.gmail.com>
	<CAHAreOqDOpWNHCiV-47JDeym6ExxH=hzZ9ajEr126xumkensbg@mail.gmail.com>
	<DACDB446-4061-444F-AC79-A885E026014A@gmail.com>
	<CAHNn8BVWO_6ifGqCdZJGBw-k2__uyQkimNiaWzWEtHfnZMTjTg@mail.gmail.com>
	<CAHAreOrgq8fqYP25LQ+UrXqotPGrdY20kY57+sp=ET1ast9W4A@mail.gmail.com>
	<CAKgW=6JLL9x9jca8yx-myQr6TQoriAzzBwC-zeSQC50a1k-tSQ@mail.gmail.com>
	<CAHAreOqj70pkM+gCMVHLa=qaypFO-O8NpfNuYviRdZhbDaEmYA@mail.gmail.com>
	<CAHNn8BXQUUA3L04WM3kZC0HudmyZhXX98qKawZ5Oc__V=UsyCQ@mail.gmail.com>
Message-ID: <CAHAreOoozYHPKC8UTmKh9uXpUxyi5vZFdVX0dzq4ZB578R0qZQ@mail.gmail.com>

On Sun, Oct 21, 2012 at 11:01 PM, MinRK <benjaminrk at gmail.com> wrote:
> I actually uploaded it as me, because I noticed this while we were doing to
> 0.13 release and added myself and Brian as owners of the project at the
> time.  Obviously other core devs should be added as well.

Ah, great!  I didn't know you'd done it already, thanks.


From zvoros at gmail.com  Mon Oct 22 10:01:13 2012
From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=)
Date: Mon, 22 Oct 2012 16:01:13 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
Message-ID: <508551A9.1070100@gmail.com>

Hi All,

I have just refreshed ipython from github, and it seems that there is a 
glitch somewhere. When I launch the browser, I see the list of notebooks 
on the dashboard, but when I try to open them, I get something like the 
image below. First, the notebook is supposed to contain much more than 
just setting pylab inline, and second, the title of the notebook is note 
shown anymore. Also curious is the fact that the last line is always 
"Type Markdown...", and by opening various notebooks, I noticed that the 
line that breaks the read-in is "pylab inline".

I have checked the notebooks on the disc, and they are as they were two 
days ago, so nothing appears to have been deleted or modified by the 
kernel, but I suspect that the notebook is not supposed to work in this way.

I am running linux mint 12, 64-bit, and as you can see, the browser is 
chromium.

I would like to ask, if this is a known issue, or, if this is an issue 
at all, or it is a glitch on my computer. Also, is there something that 
I should/could do to help fixing the problem (if there is any, that is).

Cheers,
Zolt?n



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121022/31adfcce/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ddjfebig.png
Type: image/png
Size: 42069 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121022/31adfcce/attachment.png>

From bussonniermatthias at gmail.com  Mon Oct 22 10:09:10 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Mon, 22 Oct 2012 16:09:10 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <508551A9.1070100@gmail.com>
References: <508551A9.1070100@gmail.com>
Message-ID: <1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>


Le 22 oct. 2012 ? 16:01, Zolt?n V?r?s a ?crit :

> Hi All,
> 
> I have just refreshed ipython from github, and it seems that there is a glitch somewhere. When I launch the browser, I see the list of notebooks on the dashboard, but when I try to open them, I get something like the image below. First, the notebook is supposed to contain much more than just setting pylab inline, and second, the title of the notebook is note shown anymore. Also curious is the fact that the last line is always "Type Markdown...", and by opening various notebooks, I noticed that the line that breaks the read-in is "pylab inline". 
> 
> I have checked the notebooks on the disc, and they are as they were two days ago, so nothing appears to have been deleted or modified by the kernel, but I suspect that the notebook is not supposed to work in this way.
> 
> I am running linux mint 12, 64-bit, and as you can see, the browser is chromium. 
> 
> I would like to ask, if this is a known issue, or, if this is an issue at all, or it is a glitch on my computer. Also, is there something that I should/could do to help fixing the problem (if there is any, that is).
> 
> Cheers,
> Zolt?n

Do you have locally installed matjax ?
What does the JS console Says ?

If it's mathjax complaining, could you try upgrading to 2.0 ?
-- 
Matthias

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



From takowl at gmail.com  Mon Oct 22 10:06:40 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Mon, 22 Oct 2012 15:06:40 +0100
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <508551A9.1070100@gmail.com>
References: <508551A9.1070100@gmail.com>
Message-ID: <CAOvn4qge3iDH0WiNjmTSymr1hEvjaS4HS2_fV6KhHiz419KscA@mail.gmail.com>

On 22 October 2012 15:01, Zolt?n V?r?s <zvoros at gmail.com> wrote:

> I would like to ask, if this is a known issue, or, if this is an issue at
> all, or it is a glitch on my computer. Also, is there something that I
> should/could do to help fixing the problem (if there is any, that is).


To cover the bases, have you tried clearing your cache (usually Ctrl+F5)?
Sometimes cached javascript can be doing the wrong thing.

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

From aron at ahmadia.net  Mon Oct 22 10:13:18 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Mon, 22 Oct 2012 15:13:18 +0100
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAOvn4qge3iDH0WiNjmTSymr1hEvjaS4HS2_fV6KhHiz419KscA@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<CAOvn4qge3iDH0WiNjmTSymr1hEvjaS4HS2_fV6KhHiz419KscA@mail.gmail.com>
Message-ID: <CAPhiW4gqF3AYVb5ansKAnYScQVAodhe0pSctwna5iaLzu1PJtg@mail.gmail.com>

The developers recently merged in PR 2349 [1], which is going to break
your HTML notebook if you have a locally installed MathJax (it needs
to be upgraded to MathJax 2).  You will also need to flush browser
cache, as Thomas notes.

[1] https://github.com/ipython/ipython/pull/2349#issuecomment-9643485

A

On Mon, Oct 22, 2012 at 3:06 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 22 October 2012 15:01, Zolt?n V?r?s <zvoros at gmail.com> wrote:
>>
>> I would like to ask, if this is a known issue, or, if this is an issue at
>> all, or it is a glitch on my computer. Also, is there something that I
>> should/could do to help fixing the problem (if there is any, that is).
>
>
> To cover the bases, have you tried clearing your cache (usually Ctrl+F5)?
> Sometimes cached javascript can be doing the wrong thing.
>
> Thomas
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>


From zvoros at gmail.com  Mon Oct 22 10:18:19 2012
From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=)
Date: Mon, 22 Oct 2012 16:18:19 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
Message-ID: <508555AB.3080908@gmail.com>


On 10/22/2012 04:09 PM, Matthias BUSSONNIER wrote:
> Le 22 oct. 2012 ? 16:01, Zolt?n V?r?s a ?crit :
>
>> Hi All,
>>
>> I have just refreshed ipython from github, and it seems that there is a glitch somewhere. When I launch the browser, I see the list of notebooks on the dashboard, but when I try to open them, I get something like the image below. First, the notebook is supposed to contain much more than just setting pylab inline, and second, the title of the notebook is note shown anymore. Also curious is the fact that the last line is always "Type Markdown...", and by opening various notebooks, I noticed that the line that breaks the read-in is "pylab inline".
>>
>> I have checked the notebooks on the disc, and they are as they were two days ago, so nothing appears to have been deleted or modified by the kernel, but I suspect that the notebook is not supposed to work in this way.
>>
>> I am running linux mint 12, 64-bit, and as you can see, the browser is chromium.
>>
>> I would like to ask, if this is a known issue, or, if this is an issue at all, or it is a glitch on my computer. Also, is there something that I should/could do to help fixing the problem (if there is any, that is).
>>
>> Cheers,
>> Zolt?n
> Do you have locally installed matjax ?
Yes, I have always had.
> What does the JS console Says ?
This


> If it's mathjax complaining, could you try upgrading to 2.0 ?
Based on the error message above, this might be a mathjax issue. 
However, doing
sudo python

>>> from  IPython.external.mathjax  import  install_mathjax
>>> install_mathjax()
  offline MathJax apparently already installed

didn't solve the problem. Nor did cntr-F5. I will try to figure out which version I have.

Cheers,
Zolt?n


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121022/9e53d5d6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eahibgbh.png
Type: image/png
Size: 68503 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121022/9e53d5d6/attachment.png>

From aron at ahmadia.net  Mon Oct 22 10:27:04 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Mon, 22 Oct 2012 15:27:04 +0100
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <508555AB.3080908@gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
Message-ID: <CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>

I think the current installer doesn't grab MathJax 2, which is now needed
for the SE functionality.  I'll need to update the installer but I'm
without a proper development laptop right now.

A

On Mon, Oct 22, 2012 at 3:18 PM, Zolt?n V?r?s <zvoros at gmail.com> wrote:

>
> On 10/22/2012 04:09 PM, Matthias BUSSONNIER wrote:
>
> Le 22 oct. 2012 ? 16:01, Zolt?n V?r?s a ?crit :
>
>
>  Hi All,
>
> I have just refreshed ipython from github, and it seems that there is a glitch somewhere. When I launch the browser, I see the list of notebooks on the dashboard, but when I try to open them, I get something like the image below. First, the notebook is supposed to contain much more than just setting pylab inline, and second, the title of the notebook is note shown anymore. Also curious is the fact that the last line is always "Type Markdown...", and by opening various notebooks, I noticed that the line that breaks the read-in is "pylab inline".
>
> I have checked the notebooks on the disc, and they are as they were two days ago, so nothing appears to have been deleted or modified by the kernel, but I suspect that the notebook is not supposed to work in this way.
>
> I am running linux mint 12, 64-bit, and as you can see, the browser is chromium.
>
> I would like to ask, if this is a known issue, or, if this is an issue at all, or it is a glitch on my computer. Also, is there something that I should/could do to help fixing the problem (if there is any, that is).
>
> Cheers,
> Zolt?n
>
>  Do you have locally installed matjax ?
>
>  Yes, I have always had.
>
>  What does the JS console Says ?
>
>  This
>
>
>  If it's mathjax complaining, could you try upgrading to 2.0 ?
>
>  Based on the error message above, this might be a mathjax issue. However,
> doing
> sudo python
>
> >>> from IPython.external.mathjax import install_mathjax>>> install_mathjax()
>  offline MathJax apparently already installed
>
> didn't solve the problem. Nor did cntr-F5. I will try to figure out which version I have.
>
> Cheers,
> Zolt?n
>
>
>
> _______________________________________________
> 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/20121022/83fb5942/attachment.html>

From zvoros at gmail.com  Mon Oct 22 10:30:36 2012
From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=)
Date: Mon, 22 Oct 2012 16:30:36 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
Message-ID: <5085588C.3090908@gmail.com>

I have installed mathjax by hand, and the notebook seems to render 
properly. Many thanks for the instant help!

Cheers,
Zolt?n


On 10/22/2012 04:27 PM, Aron Ahmadia wrote:
> I think the current installer doesn't grab MathJax 2, which is now 
> needed for the SE functionality.  I'll need to update the installer 
> but I'm without a proper development laptop right now.
>
> A



From bussonniermatthias at gmail.com  Mon Oct 22 10:39:47 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Mon, 22 Oct 2012 16:39:47 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
Message-ID: <C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>


Le 22 oct. 2012 ? 16:27, Aron Ahmadia a ?crit :

> I think the current installer doesn't grab MathJax 2, which is now needed for the SE functionality.  I'll need to update the installer but I'm without a proper development laptop right now.

It should get mathjax 2. 

I had the same problem Yesterday after updating, and deleting Mathjax and using the install_mathjax() command worked.
-- 
Matthias

> 
> A
> 
> On Mon, Oct 22, 2012 at 3:18 PM, Zolt?n V?r?s <zvoros at gmail.com> wrote:
> 
> On 10/22/2012 04:09 PM, Matthias BUSSONNIER wrote:
>> Le 22 oct. 2012 ? 16:01, Zolt?n V?r?s a ?crit :
>> 
>>> Hi All,
>>> 
>>> I have just refreshed ipython from github, and it seems that there is a glitch somewhere. When I launch the browser, I see the list of notebooks on the dashboard, but when I try to open them, I get something like the image below. First, the notebook is supposed to contain much more than just setting pylab inline, and second, the title of the notebook is note shown anymore. Also curious is the fact that the last line is always "Type Markdown...", and by opening various notebooks, I noticed that the line that breaks the read-in is "pylab inline". 
>>> 
>>> I have checked the notebooks on the disc, and they are as they were two days ago, so nothing appears to have been deleted or modified by the kernel, but I suspect that the notebook is not supposed to work in this way.
>>> 
>>> I am running linux mint 12, 64-bit, and as you can see, the browser is chromium. 
>>> 
>>> I would like to ask, if this is a known issue, or, if this is an issue at all, or it is a glitch on my computer. Also, is there something that I should/could do to help fixing the problem (if there is any, that is).
>>> 
>>> Cheers,
>>> Zolt?n
>> Do you have locally installed matjax ?
> Yes, I have always had.
> 
>> What does the JS console Says ?
> This
> 
> 
> 
>> If it's mathjax complaining, could you try upgrading to 2.0 ?
> Based on the error message above, this might be a mathjax issue. However, doing 
> sudo python 
> >>> from IPython.external.mathjax import install_mathjax
> >>> install_mathjax()
>  offline MathJax apparently already installed
> 
> didn't solve the problem. Nor did cntr-F5. I will try to figure out which version I have. 
> 
> Cheers,
> Zolt?n
> 
> 
> _______________________________________________
> 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/20121022/f22752f0/attachment.html>

From zvoros at gmail.com  Mon Oct 22 10:38:13 2012
From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=)
Date: Mon, 22 Oct 2012 16:38:13 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
Message-ID: <50855A55.1040200@gmail.com>


On 10/22/2012 04:39 PM, Matthias BUSSONNIER wrote:
>
> Le 22 oct. 2012 ? 16:27, Aron Ahmadia a ?crit :
>
>> I think the current installer doesn't grab MathJax 2, which is now 
>> needed for the SE functionality.  I'll need to update the installer 
>> but I'm without a proper development laptop right now.
>
> It should get mathjax 2.
>
> I had the same problem Yesterday after updating, and deleting Mathjax 
> and using the install_mathjax() command worked.
> -- 
>
I think

 >>> install_mathjax(remove=True)

should also do the trick. The problem might be, however, that being 
invoked from the python interpreter, the function above might not deploy 
mathjax in the directory where it should.
Cheers,
Zolt?n



From ellisonbg at gmail.com  Mon Oct 22 10:58:20 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 22 Oct 2012 07:58:20 -0700
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <50855A55.1040200@gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
Message-ID: <CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>

You will also *have to* clear your browser cache after the update.

On Mon, Oct 22, 2012 at 7:38 AM, Zolt?n V?r?s <zvoros at gmail.com> wrote:
>
> On 10/22/2012 04:39 PM, Matthias BUSSONNIER wrote:
>>
>> Le 22 oct. 2012 ? 16:27, Aron Ahmadia a ?crit :
>>
>>> I think the current installer doesn't grab MathJax 2, which is now
>>> needed for the SE functionality.  I'll need to update the installer
>>> but I'm without a proper development laptop right now.
>>
>> It should get mathjax 2.
>>
>> I had the same problem Yesterday after updating, and deleting Mathjax
>> and using the install_mathjax() command worked.
>> --
>>
> I think
>
>  >>> install_mathjax(remove=True)
>
> should also do the trick. The problem might be, however, that being
> invoked from the python interpreter, the function above might not deploy
> mathjax in the directory where it should.
> Cheers,
> Zolt?n
>
> _______________________________________________
> 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  Mon Oct 22 13:31:09 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 10:31:09 -0700
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
Message-ID: <CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>

On Mon, Oct 22, 2012 at 7:58 AM, Brian Granger <ellisonbg at gmail.com> wrote:
> You will also *have to* clear your browser cache after the update.

BTW, I think it's imperative that we find a way for this to be handled
more automatically and robustly.

Most 'regular' users aren't on the mailing list, and they won't come
here with questions if the notebook all of a sudden breaks.  They'll
simply dismiss it as unstable technology that can't be trusted.

We really need to make a plan to focus on JS testing ASAP.  We now
have many, many users, but the JS codebease is getting complex.

Without proper testing, it's not a question of if, but simply of how
often and how badly we'll bust the notebook with seemingly innocuous
changes.

I hate to say this, b/c I'm not the one writing much JS code and I
don't want to sound like a grouch, but I'd like to ask everyone
working on JS to tackle the testing problem as a very high priority
question and to consider a moratorium on major new work until we sort
it out.  For years the old IPython codebase started without tests, and
that started to slowly paralize and kill the project.  Eventually we
bit the bullet and developed a  testing machinery that, while ugly at
the beginning, got us moving.  And over time, that machinery has
gradually gotten better and better, and today on the core code we
actually do have decent testing (not perfect, but not terrible
either).

I am growing increasingly worried about more and more JS code without
tests and I fear we're going in the same direction here.

I am NOT trying to slow down development or boss anyone around, but we
really need to take this problem seriously, or the whole project will
suffer.

Thoughts?

f


From satra at mit.edu  Mon Oct 22 13:41:37 2012
From: satra at mit.edu (Satrajit Ghosh)
Date: Mon, 22 Oct 2012 13:41:37 -0400
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
Message-ID: <CA+A4wO=OTc9KYB1WExddzEe0RM5WbEmZyuoqAB3KL8t7Fi63+A@mail.gmail.com>

> Thoughts?
>

hey fernando and others,

* i'm not much of a js developer *, but one thing that the XTK (goxtk.com)
project has going for it is a very exhaustive test suite. perhaps those
with better js skills can understand that framework better and that might
translate to ipython as well.

cheers.

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

From mdroe at stsci.edu  Mon Oct 22 14:28:32 2012
From: mdroe at stsci.edu (Michael Droettboom)
Date: Mon, 22 Oct 2012 14:28:32 -0400
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50773EDA.4070609@stsci.edu>
References: <50773EDA.4070609@stsci.edu>
Message-ID: <50859050.1090501@stsci.edu>

There is now a pull request for this approach as a "real" matplotlib 
backend here:

https://github.com/matplotlib/matplotlib/pull/1426

This work is completely independent of IPython at the moment, but 
obviously the end goal is to seamlessly integrate it.

Mike

On 10/11/2012 05:49 PM, Michael Droettboom wrote:
> I have a proof-of-concept way to make interactive plots in the browser 
> work using transparent PNGs described here:
>
> http://mdboom.github.com/blog/2012/10/11/matplotlib-in-the-browser-its-coming/
>
> No PRs yet, because this is miles from ready for that, but it would be 
> helpful to get some feedback about how this works in different 
> browsers/platforms/network environments etc.
>
> Mike
>
>
> _______________________________________________
> 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/20121022/7ca01de9/attachment.html>

From fperez.net at gmail.com  Mon Oct 22 14:31:18 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 11:31:18 -0700
Subject: [IPython-dev] Interactive Matplotlib in the browser
In-Reply-To: <50859050.1090501@stsci.edu>
References: <50773EDA.4070609@stsci.edu> <50859050.1090501@stsci.edu>
Message-ID: <CAHAreOpYKHvv8tm5x-_uqcQM6PwZaGwRxbnVSnP63x2MRroLkQ@mail.gmail.com>

On Mon, Oct 22, 2012 at 11:28 AM, Michael Droettboom <mdroe at stsci.edu> wrote:
> There is now a pull request for this approach as a "real" matplotlib backend
> here:
>
> https://github.com/matplotlib/matplotlib/pull/1426
>
> This work is completely independent of IPython at the moment, but obviously
> the end goal is to seamlessly integrate it.

Great!  I'll try to play with it next week after a trip; hopefully
others on the team can also give you feedback...

Cheers,

f


From fperez.net at gmail.com  Mon Oct 22 17:51:11 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 14:51:11 -0700
Subject: [IPython-dev] IPython donations are now live
Message-ID: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>

Hi folks,

today we received the great news that NumFOCUS was approved by the IRS
(USA tax authority for those of you outside the US) as a non-profit
foundation.  This means that it can officially collect donations that
support its mission and those can be tax-deductible.

Not wanting to waste any time, I've added a donation page to the project:

http://ipython.org/donate.html

as well as a link on the sidebar.  By all means let me know if you
have any feedback on this.  I especially want to know if we should
just get rid of the sidebar link.  At first that's all I had, but it
turned out that we couldn't add any explanatory text to the actual
paypal checkout page, so it seemed best to have a real 'donate' page.

But now the duplication is starting to feel a little too 'in your
face' for my taste, so I'm leaning towards removing the sidebar link
and just leaving the more discree 'donate' link in the top navbar and
the page.

The flip side is that the donate button is more visible throughout the
site, and it may result in improved donations...

Thoughts?

In any case, feel free to advertise this!

Cheers,

f


From fawce at quantopian.com  Mon Oct 22 17:55:17 2012
From: fawce at quantopian.com (fawce)
Date: Mon, 22 Oct 2012 17:55:17 -0400
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
Message-ID: <4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>

Maybe you can A/B test and see if the sidebar does get you enough donations to justify being more forward?



On Oct 22, 2012, at 5:51 PM, Fernando Perez <fperez.net at gmail.com> wrote:

> Hi folks,
> 
> today we received the great news that NumFOCUS was approved by the IRS
> (USA tax authority for those of you outside the US) as a non-profit
> foundation.  This means that it can officially collect donations that
> support its mission and those can be tax-deductible.
> 
> Not wanting to waste any time, I've added a donation page to the project:
> 
> http://ipython.org/donate.html
> 
> as well as a link on the sidebar.  By all means let me know if you
> have any feedback on this.  I especially want to know if we should
> just get rid of the sidebar link.  At first that's all I had, but it
> turned out that we couldn't add any explanatory text to the actual
> paypal checkout page, so it seemed best to have a real 'donate' page.
> 
> But now the duplication is starting to feel a little too 'in your
> face' for my taste, so I'm leaning towards removing the sidebar link
> and just leaving the more discree 'donate' link in the top navbar and
> the page.
> 
> The flip side is that the donate button is more visible throughout the
> site, and it may result in improved donations...
> 
> Thoughts?
> 
> In any case, feel free to advertise this!
> 
> Cheers,
> 
> f
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From carl.input at gmail.com  Mon Oct 22 18:28:09 2012
From: carl.input at gmail.com (Carl Smith)
Date: Mon, 22 Oct 2012 23:28:09 +0100
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
Message-ID: <CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>

Hi all

I just had a quick look at what you've done. I think you're almost
there, but I'd change the widget a bit. At the moment it just says
Support IPython, with a big donate button. It's not obvious that you
can click on Support IPython to get more info about donating before
you go ahead. I think you should change it so it's more obvious.
Perhaps have a "Find Out More..." call to action below the donate
button, or something along those lines.

Carl


From fperez.net at gmail.com  Mon Oct 22 18:31:01 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 15:31:01 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
Message-ID: <CAHAreOqHbvpsz5Nsv6XaTRVnKvSrgt3h75ORZH32MzJTfwTHOQ@mail.gmail.com>

Hi John,

On Mon, Oct 22, 2012 at 2:55 PM, fawce <fawce at quantopian.com> wrote:
> Maybe you can A/B test and see if the sidebar does get you enough donations to justify being more forward?

Unfortunately we're not set up right now in any way to do A/B testing
and collect analytics, but I'd love to move in that direction.  Anyone
interested in helping set that up?  Keep in mind that we're statically
hosted at github-pages, so that needs to be taken into consideration.

Great suggestion, thanks!

f


From fperez.net at gmail.com  Mon Oct 22 18:33:18 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 15:33:18 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
Message-ID: <CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>

On Mon, Oct 22, 2012 at 3:28 PM, Carl Smith <carl.input at gmail.com> wrote:
> Hi all
>
> I just had a quick look at what you've done. I think you're almost
> there, but I'd change the widget a bit. At the moment it just says
> Support IPython, with a big donate button. It's not obvious that you
> can click on Support IPython to get more info about donating before
> you go ahead. I think you should change it so it's more obvious.
> Perhaps have a "Find Out More..." call to action below the donate
> button, or something along those lines.

Excellent suggestion, Carl.  Implemented, thanks!

f


From fperez.net at gmail.com  Mon Oct 22 18:37:18 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 15:37:18 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
	<CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
Message-ID: <CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>

I wanted to add a huge thank you to Anthony Scopatz, the NumFOCUS
treasurer, who promptly set things up today to make this possible in
time for the PyData NYC meeting where Brian will be delivering two
talks, and the CI Days meeting at the Beacon center at MSU
(http://tech.msu.edu/CI-Days/agenda.php) where I'll be delivering a
keynote centered around our work here.  I hope both of those events
will draw traffic to the site, so I really wanted to have the
donations machinery in place and Anthony did all the work very
quickly.

Cheers,

f


From brad.froehle at gmail.com  Mon Oct 22 18:44:37 2012
From: brad.froehle at gmail.com (Bradley M. Froehle)
Date: Mon, 22 Oct 2012 15:44:37 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
	<CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
	<CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>
Message-ID: <14497C29B6FF4792A3EC0AA891F800FD@gmail.com>



Wow! Great. 
> Our donations are managed by the NumFOCUS (http://numfocus.org/) foundation, which passes 100% of your contribution to the IPython project. NumFOCUS is a 501(c)3 non-profit foundation, so if you are subject to US Tax law, your contributions will be tax-deductible.
> 
> 

Is it really true that NumFOCUS isn't levying any fees?  Certainly they have expenses too... (bank accounts, lawyers, web hosting, etc).

Also I'm sure PayPal takes a cut of the total before it reaches NumFOCUS.

-Brad




From takowl at gmail.com  Mon Oct 22 19:31:38 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Tue, 23 Oct 2012 00:31:38 +0100
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
Message-ID: <CAOvn4qi7V95rOYfkf6vCbFaHpg=BmegmZTC+xjK9PyxStOfXRw@mail.gmail.com>

On 22 October 2012 22:51, Fernando Perez <fperez.net at gmail.com> wrote:
> as well as a link on the sidebar.  By all means let me know if you
> have any feedback on this.  I especially want to know if we should
> just get rid of the sidebar link.  At first that's all I had, but it
> turned out that we couldn't add any explanatory text to the actual
> paypal checkout page, so it seemed best to have a real 'donate' page.
>
> But now the duplication is starting to feel a little too 'in your
> face' for my taste, so I'm leaning towards removing the sidebar link
> and just leaving the more discree 'donate' link in the top navbar and
> the page.

I'd vote not to have the donation bubble in the sidebar, because it
pushes important links further down. As it stands, the links to the
mailing lists are below the initial view on my monitor (19").

How about the navbar link, and a mention somewhere on the homepage?

As an aside, I'd like to move 'Wiki' from the navbar to the sidebar.
The links in the navbar implicitly promise that you'll still see the
navbar after clicking on them - kind of like tabs. Putting the wiki
there breaks that.

Thomas


From scopatz at gmail.com  Mon Oct 22 20:14:23 2012
From: scopatz at gmail.com (Anthony Scopatz)
Date: Mon, 22 Oct 2012 19:14:23 -0500
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <14497C29B6FF4792A3EC0AA891F800FD@gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
	<CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
	<CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>
	<14497C29B6FF4792A3EC0AA891F800FD@gmail.com>
Message-ID: <CAPk-6T73r_oWssheWrNMkjPrCJ_C8gvpT+OcX7oy8YcH+L9n-g@mail.gmail.com>

On Mon, Oct 22, 2012 at 5:44 PM, Bradley M. Froehle
<brad.froehle at gmail.com>wrote:

>
>
> Wow! Great.
> > Our donations are managed by the NumFOCUS (http://numfocus.org/)
> foundation, which passes 100% of your contribution to the IPython project.
> NumFOCUS is a 501(c)3 non-profit foundation, so if you are subject to US
> Tax law, your contributions will be tax-deductible.
> >
> >
>
>
My pleasure Fernando,


> Is it really true that NumFOCUS isn't levying any fees?  Certainly they
> have expenses too... (bank accounts, lawyers, web hosting, etc).


This is correct.  We are not levying any fees and are totally donation
driven and would like to remain that way.  Though we do have administrative
expenses, myself and the board (which Fernando is on) are all volunteer.
 Our goal is to support projects like IPython and the people behind them.
Remember this if/when we put out a more general call for donations ;).  To
learn more, please visit http://numfocus.org/.


> Also I'm sure PayPal takes a cut of the total before it reaches NumFOCUS.
>

Yes, they certainly do!  Which is why a conscientious donor would use
services such as WePay or Dwolla when we get them set up for individual
projects.  Their cut is practically negligible.

</endshamelessplug>

Be Well
Anthony


>
> -Brad
>
>
> _______________________________________________
> 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/20121022/9d850eca/attachment.html>

From fperez.net at gmail.com  Mon Oct 22 20:16:08 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 17:16:08 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <14497C29B6FF4792A3EC0AA891F800FD@gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
	<CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
	<CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>
	<14497C29B6FF4792A3EC0AA891F800FD@gmail.com>
Message-ID: <CAHAreOp+3=MZwte6QLkT7y-ncdYrTXzKpXVaAuZYkoLBwzWiiw@mail.gmail.com>

On Mon, Oct 22, 2012 at 3:44 PM, Bradley M. Froehle
<brad.froehle at gmail.com> wrote:
> Also I'm sure PayPal takes a cut of the total before it reaches NumFOCUS.

True, I meant 100% of what reaches numfocus will go to IPython.


From fperez.net at gmail.com  Mon Oct 22 20:16:58 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 17:16:58 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAOvn4qi7V95rOYfkf6vCbFaHpg=BmegmZTC+xjK9PyxStOfXRw@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<CAOvn4qi7V95rOYfkf6vCbFaHpg=BmegmZTC+xjK9PyxStOfXRw@mail.gmail.com>
Message-ID: <CAHAreOqL5DYPykawNB4G_gCampU4s_Jm4djGNJrqEWksd5JsKA@mail.gmail.com>

On Mon, Oct 22, 2012 at 4:31 PM, Thomas Kluyver <takowl at gmail.com> wrote:
> I'd vote not to have the donation bubble in the sidebar, because it
> pushes important links further down. As it stands, the links to the
> mailing lists are below the initial view on my monitor (19").
>
> How about the navbar link, and a mention somewhere on the homepage?
>
> As an aside, I'd like to move 'Wiki' from the navbar to the sidebar.
> The links in the navbar implicitly promise that you'll still see the
> navbar after clicking on them - kind of like tabs. Putting the wiki
> there breaks that.

Feel free to have a go at it, I'm totally OK with those changes.  I
need to switch gears to finish yet one more grant and the talk for
Friday (we want to make a good impression :)

f


From fperez.net at gmail.com  Mon Oct 22 20:24:14 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Mon, 22 Oct 2012 17:24:14 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHAreOqL5DYPykawNB4G_gCampU4s_Jm4djGNJrqEWksd5JsKA@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<CAOvn4qi7V95rOYfkf6vCbFaHpg=BmegmZTC+xjK9PyxStOfXRw@mail.gmail.com>
	<CAHAreOqL5DYPykawNB4G_gCampU4s_Jm4djGNJrqEWksd5JsKA@mail.gmail.com>
Message-ID: <CAHAreOr7nf4_v_9M2VDPJ4aBQm6_4a8HcrH0rnksGJB_t=nyCg@mail.gmail.com>

On Mon, Oct 22, 2012 at 5:16 PM, Fernando Perez <fperez.net at gmail.com> wrote:
>> I'd vote not to have the donation bubble in the sidebar, because it
>> pushes important links further down. As it stands, the links to the
>> mailing lists are below the initial view on my monitor (19").
>>

Looking at it again I was thinking: how about the sidebar button
*last*, and leaving the top link and other changes as you suggested.
It will still give it higher visibility throughout the site, without
pushing anything else out of the main view.


From bussonniermatthias at gmail.com  Tue Oct 23 12:39:05 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Tue, 23 Oct 2012 18:39:05 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
Message-ID: <D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>

> 
> I hate to say this, b/c I'm not the one writing much JS code and I
> don't want to sound like a grouch, but I'd like to ask everyone
> working on JS to tackle the testing problem as a very high priority
> question and to consider a moratorium on major new work until we sort
> it out.  For years the old IPython codebase started without tests, and
> that started to slowly paralize and kill the project.  Eventually we
> bit the bullet and developed a  testing machinery that, while ugly at
> the beginning, got us moving.  And over time, that machinery has
> gradually gotten better and better, and today on the core code we
> actually do have decent testing (not perfect, but not terrible
> either).
> 
> I am growing increasingly worried about more and more JS code without
> tests and I fear we're going in the same direction here.
> 
> I am NOT trying to slow down development or boss anyone around, but we
> really need to take this problem seriously, or the whole project will
> suffer.
> 
> Thoughts?

I think our current JS architecture is not designed for good testing. 
I'll will try to come up with an IPEP, but for the basic, we should:

make use of `require` and have a more MVC approach.
-> it will allow to have model testing on server-side with node for example. 

A fist step would be a phantom/casper js that load demo notebook, run all, save.
Compare saved versions. 
-- 
Matthias



From ellisonbg at gmail.com  Tue Oct 23 12:42:09 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 23 Oct 2012 09:42:09 -0700
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
	<D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>
Message-ID: <CAH4pYpRmdZf+rKP-St+KOY2oVajZ+e_1WuQTasN9Qed2S5UPzQ@mail.gmail.com>

On Tue, Oct 23, 2012 at 9:39 AM, Matthias BUSSONNIER
<bussonniermatthias at gmail.com> wrote:
>>
>> I hate to say this, b/c I'm not the one writing much JS code and I
>> don't want to sound like a grouch, but I'd like to ask everyone
>> working on JS to tackle the testing problem as a very high priority
>> question and to consider a moratorium on major new work until we sort
>> it out.  For years the old IPython codebase started without tests, and
>> that started to slowly paralize and kill the project.  Eventually we
>> bit the bullet and developed a  testing machinery that, while ugly at
>> the beginning, got us moving.  And over time, that machinery has
>> gradually gotten better and better, and today on the core code we
>> actually do have decent testing (not perfect, but not terrible
>> either).
>>
>> I am growing increasingly worried about more and more JS code without
>> tests and I fear we're going in the same direction here.
>>
>> I am NOT trying to slow down development or boss anyone around, but we
>> really need to take this problem seriously, or the whole project will
>> suffer.
>>
>> Thoughts?
>
> I think our current JS architecture is not designed for good testing.
> I'll will try to come up with an IPEP, but for the basic, we should:
>
> make use of `require` and have a more MVC approach.
> -> it will allow to have model testing on server-side with node for example.

Do you have thoughts on the best implementation of "require"?

> A fist step would be a phantom/casper js that load demo notebook, run all, save.
> Compare saved versions.
> --
> Matthias
>
> _______________________________________________
> 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 bussonniermatthias at gmail.com  Tue Oct 23 13:11:10 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Tue, 23 Oct 2012 19:11:10 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAH4pYpRmdZf+rKP-St+KOY2oVajZ+e_1WuQTasN9Qed2S5UPzQ@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
	<D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>
	<CAH4pYpRmdZf+rKP-St+KOY2oVajZ+e_1WuQTasN9Qed2S5UPzQ@mail.gmail.com>
Message-ID: <FA1D1337-91C7-4B3C-AB5B-4E5795FCDD70@gmail.com>


Le 23 oct. 2012 ? 18:42, Brian Granger a ?crit :

> On Tue, Oct 23, 2012 at 9:39 AM, Matthias BUSSONNIER
> <bussonniermatthias at gmail.com> wrote:
>>> 
>>> I hate to say this, b/c I'm not the one writing much JS code and I
>>> don't want to sound like a grouch, but I'd like to ask everyone
>>> working on JS to tackle the testing problem as a very high priority
>>> question and to consider a moratorium on major new work until we sort
>>> it out.  For years the old IPython codebase started without tests, and
>>> that started to slowly paralize and kill the project.  Eventually we
>>> bit the bullet and developed a  testing machinery that, while ugly at
>>> the beginning, got us moving.  And over time, that machinery has
>>> gradually gotten better and better, and today on the core code we
>>> actually do have decent testing (not perfect, but not terrible
>>> either).
>>> 
>>> I am growing increasingly worried about more and more JS code without
>>> tests and I fear we're going in the same direction here.
>>> 
>>> I am NOT trying to slow down development or boss anyone around, but we
>>> really need to take this problem seriously, or the whole project will
>>> suffer.
>>> 
>>> Thoughts?
>> 
>> I think our current JS architecture is not designed for good testing.
>> I'll will try to come up with an IPEP, but for the basic, we should:
>> 
>> make use of `require` and have a more MVC approach.
>> -> it will allow to have model testing on server-side with node for example.
> 
> Do you have thoughts on the best implementation of "require"?
I've heard of requireJS, 
and it ships with r.js that apparently allow to transform commonJS require to a more async requireJS form. 

I've never used it though.

 I think that the commonJS
x = require('?')
is much more readable and understandable than the callback based one.

In the long run, I think that having a 'dev' flag would be great. 
Without the dev flag all the JS/css/coffescript/... would be minified and in one file. 
and if you want to introspect, you activate the dev flag and everything is unmignified and readable.

RequireJs Does allow that, which is a plus, even if it means adding a compile option to js. 
-- 
Matthias



From ellisonbg at gmail.com  Tue Oct 23 13:52:19 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Tue, 23 Oct 2012 10:52:19 -0700
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <FA1D1337-91C7-4B3C-AB5B-4E5795FCDD70@gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
	<D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>
	<CAH4pYpRmdZf+rKP-St+KOY2oVajZ+e_1WuQTasN9Qed2S5UPzQ@mail.gmail.com>
	<FA1D1337-91C7-4B3C-AB5B-4E5795FCDD70@gmail.com>
Message-ID: <CAH4pYpSG44L7mexqWD2Hh4-85UToVf9ehmmkStOKHL6hjn1bVw@mail.gmail.com>

On Tue, Oct 23, 2012 at 10:11 AM, Matthias BUSSONNIER
<bussonniermatthias at gmail.com> wrote:
>
> Le 23 oct. 2012 ? 18:42, Brian Granger a ?crit :
>
>> On Tue, Oct 23, 2012 at 9:39 AM, Matthias BUSSONNIER
>> <bussonniermatthias at gmail.com> wrote:
>>>>
>>>> I hate to say this, b/c I'm not the one writing much JS code and I
>>>> don't want to sound like a grouch, but I'd like to ask everyone
>>>> working on JS to tackle the testing problem as a very high priority
>>>> question and to consider a moratorium on major new work until we sort
>>>> it out.  For years the old IPython codebase started without tests, and
>>>> that started to slowly paralize and kill the project.  Eventually we
>>>> bit the bullet and developed a  testing machinery that, while ugly at
>>>> the beginning, got us moving.  And over time, that machinery has
>>>> gradually gotten better and better, and today on the core code we
>>>> actually do have decent testing (not perfect, but not terrible
>>>> either).
>>>>
>>>> I am growing increasingly worried about more and more JS code without
>>>> tests and I fear we're going in the same direction here.
>>>>
>>>> I am NOT trying to slow down development or boss anyone around, but we
>>>> really need to take this problem seriously, or the whole project will
>>>> suffer.
>>>>
>>>> Thoughts?
>>>
>>> I think our current JS architecture is not designed for good testing.
>>> I'll will try to come up with an IPEP, but for the basic, we should:
>>>
>>> make use of `require` and have a more MVC approach.
>>> -> it will allow to have model testing on server-side with node for example.
>>
>> Do you have thoughts on the best implementation of "require"?
> I've heard of requireJS,
> and it ships with r.js that apparently allow to transform commonJS require to a more async requireJS form.
>
> I've never used it though.
>
>  I think that the commonJS
> x = require('?')
> is much more readable and understandable than the callback based one.
>
> In the long run, I think that having a 'dev' flag would be great.
> Without the dev flag all the JS/css/coffescript/... would be minified and in one file.
> and if you want to introspect, you activate the dev flag and everything is unmignified and readable.
>
> RequireJs Does allow that, which is a plus, even if it means adding a compile option to js.

OK thanks, I will try to have a look at these options.  Would  be nice
to improve this situation.

Cheers,

Brian
> --
> Matthias
>
> _______________________________________________
> 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 bussonniermatthias at gmail.com  Tue Oct 23 13:56:52 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Tue, 23 Oct 2012 19:56:52 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAH4pYpSG44L7mexqWD2Hh4-85UToVf9ehmmkStOKHL6hjn1bVw@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
	<D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>
	<CAH4pYpRmdZf+rKP-St+KOY2oVajZ+e_1WuQTasN9Qed2S5UPzQ@mail.gmail.com>
	<FA1D1337-91C7-4B3C-AB5B-4E5795FCDD70@gmail.com>
	<CAH4pYpSG44L7mexqWD2Hh4-85UToVf9ehmmkStOKHL6hjn1bVw@mail.gmail.com>
Message-ID: <68F93ECA-95F8-4783-B25E-B8A7488F8B16@gmail.com>


Le 23 oct. 2012 ? 19:52, Brian Granger a ?crit :

> On Tue, Oct 23, 2012 at 10:11 AM, Matthias BUSSONNIER
> <bussonniermatthias at gmail.com> wrote:
>> 
>> Le 23 oct. 2012 ? 18:42, Brian Granger a ?crit :
>> 
>>> On Tue, Oct 23, 2012 at 9:39 AM, Matthias BUSSONNIER
>>> <bussonniermatthias at gmail.com> wrote:
>>>>> 
>>>>> I hate to say this, b/c I'm not the one writing much JS code and I
>>>>> don't want to sound like a grouch, but I'd like to ask everyone
>>>>> working on JS to tackle the testing problem as a very high priority
>>>>> question and to consider a moratorium on major new work until we sort
>>>>> it out.  For years the old IPython codebase started without tests, and
>>>>> that started to slowly paralize and kill the project.  Eventually we
>>>>> bit the bullet and developed a  testing machinery that, while ugly at
>>>>> the beginning, got us moving.  And over time, that machinery has
>>>>> gradually gotten better and better, and today on the core code we
>>>>> actually do have decent testing (not perfect, but not terrible
>>>>> either).
>>>>> 
>>>>> I am growing increasingly worried about more and more JS code without
>>>>> tests and I fear we're going in the same direction here.
>>>>> 
>>>>> I am NOT trying to slow down development or boss anyone around, but we
>>>>> really need to take this problem seriously, or the whole project will
>>>>> suffer.
>>>>> 
>>>>> Thoughts?
>>>> 
>>>> I think our current JS architecture is not designed for good testing.
>>>> I'll will try to come up with an IPEP, but for the basic, we should:
>>>> 
>>>> make use of `require` and have a more MVC approach.
>>>> -> it will allow to have model testing on server-side with node for example.
>>> 
>>> Do you have thoughts on the best implementation of "require"?
>> I've heard of requireJS,
>> and it ships with r.js that apparently allow to transform commonJS require to a more async requireJS form.
>> 
>> I've never used it though.
>> 
>> I think that the commonJS
>> x = require('?')
>> is much more readable and understandable than the callback based one.
>> 
>> In the long run, I think that having a 'dev' flag would be great.
>> Without the dev flag all the JS/css/coffescript/... would be minified and in one file.
>> and if you want to introspect, you activate the dev flag and everything is unmignified and readable.
>> 
>> RequireJs Does allow that, which is a plus, even if it means adding a compile option to js.
> 
> OK thanks, I will try to have a look at these options.  Would  be nice
> to improve this situation.
I'm writting an IPEP. I should send the draft on github soon. 
-- 
Matthias

> 
> Cheers,
> 
> Brian
>> --
>> Matthias
>> 
>> _______________________________________________
>> 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



From bussonniermatthias at gmail.com  Tue Oct 23 14:10:25 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Tue, 23 Oct 2012 20:10:25 +0200
Subject: [IPython-dev] bug in html notebook in latest version?
In-Reply-To: <CAH4pYpSG44L7mexqWD2Hh4-85UToVf9ehmmkStOKHL6hjn1bVw@mail.gmail.com>
References: <508551A9.1070100@gmail.com>
	<1B157014-5A51-469D-AABD-66ADA819AD66@gmail.com>
	<508555AB.3080908@gmail.com>
	<CAPhiW4gU+OQp3c-fYABhVwzEkq+xsSwY=Dg6u4fyeqHQO_k49w@mail.gmail.com>
	<C514783A-01D4-4674-9289-4DCC5776AA3C@gmail.com>
	<50855A55.1040200@gmail.com>
	<CAH4pYpRRzPCyPKcsB8rx3Jy4KtpGa173nukCU5hPmqu==jxo6A@mail.gmail.com>
	<CAHAreOoty82oncjUi_S2FhjnE_VJJOxMri2A4PAbjxysR_44dQ@mail.gmail.com>
	<D80475B2-74CD-49C1-A2E9-569411399A98@gmail.com>
	<CAH4pYpRmdZf+rKP-St+KOY2oVajZ+e_1WuQTasN9Qed2S5UPzQ@mail.gmail.com>
	<FA1D1337-91C7-4B3C-AB5B-4E5795FCDD70@gmail.com>
	<CAH4pYpSG44L7mexqWD2Hh4-85UToVf9ehmmkStOKHL6hjn1bVw@mail.gmail.com>
Message-ID: <1A529E11-A568-4EEC-B33C-D5CFCA8237D3@gmail.com>

>> 
>> x = require('?')
>> is much more readable and understandable than the callback based one.
>> 
>> In the long run, I think that having a 'dev' flag would be great.
>> Without the dev flag all the JS/css/coffescript/... would be minified and in one file.
>> and if you want to introspect, you activate the dev flag and everything is unmignified and readable.
>> 
>> RequireJs Does allow that, which is a plus, even if it means adding a compile option to js.
> 
> OK thanks, I will try to have a look at these options.  Would  be nice
> to improve this situation.

here is a firs draft
https://github.com/ipython/ipython/wiki/IPEP-5:-Javascript-structure-and-testing


> 
> Cheers,
> 
> Brian
>> --
>> Matthias
>> 
>> _______________________________________________
>> 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/20121023/be5fe932/attachment.html>

From jason-sage at creativetrax.com  Tue Oct 23 15:55:02 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Tue, 23 Oct 2012 14:55:02 -0500
Subject: [IPython-dev] Cython method printers
Message-ID: <5086F616.1060504@creativetrax.com>

We're running into a printing difference with Cython methods in the new 
IPython.  I think the problem boils down to: methods of Cython objects 
are classed as "built in functions", even though their repr reveals more 
information.  So for Cython methods, 
https://github.com/ipython/ipython/blob/master/IPython/lib/pretty.py#L669 gets 
applied, rather than this line: 
https://github.com/ipython/ipython/blob/master/IPython/lib/pretty.py#L671.

Here is an example from numpy illustrating this:

In [1]: import numpy as np

In [2]: a=np.random.mtrand.RandomState()

In [3]: a.seed
Out[3]: <function seed>

In [4]: repr(a.seed)
Out[4]: '<built-in method seed of mtrand.RandomState object at 0x1004d93c0>'

In [5]: print a.seed
<built-in method seed of mtrand.RandomState object at 0x1004d93c0>

[snip]

In [8]: a.seed.__class__.__module__
Out[8]: '__builtin__'


Notice that str() and repr() of the Cython method gave much more useful 
information than the default built-in function printer.

How do we fix this?  I guess we could make the built-in function printer 
check the repr to see if more information than just <built-in function 
name> is available, but that seems a bit hackish.

Thanks,

Jason


From takowl at gmail.com  Tue Oct 23 17:59:18 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Tue, 23 Oct 2012 22:59:18 +0100
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHAreOr7nf4_v_9M2VDPJ4aBQm6_4a8HcrH0rnksGJB_t=nyCg@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<CAOvn4qi7V95rOYfkf6vCbFaHpg=BmegmZTC+xjK9PyxStOfXRw@mail.gmail.com>
	<CAHAreOqL5DYPykawNB4G_gCampU4s_Jm4djGNJrqEWksd5JsKA@mail.gmail.com>
	<CAHAreOr7nf4_v_9M2VDPJ4aBQm6_4a8HcrH0rnksGJB_t=nyCg@mail.gmail.com>
Message-ID: <CAOvn4qi=0E0EEkBWXHKZosoe9XQSTH3BPOBvoGwLFa3ZuycW7g@mail.gmail.com>

On 23 October 2012 01:24, Fernando Perez <fperez.net at gmail.com> wrote:
> Looking at it again I was thinking: how about the sidebar button
> *last*, and leaving the top link and other changes as you suggested.
> It will still give it higher visibility throughout the site, without
> pushing anything else out of the main view.

Good idea. I've made those changes:
https://github.com/ipython/ipython-website/pull/13

I'll merge the pull request and rebuild the site tomorrow unless anyone objects.

Thanks,
Thomas


From fperez.net at gmail.com  Tue Oct 23 18:31:53 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 23 Oct 2012 15:31:53 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAOvn4qi=0E0EEkBWXHKZosoe9XQSTH3BPOBvoGwLFa3ZuycW7g@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<CAOvn4qi7V95rOYfkf6vCbFaHpg=BmegmZTC+xjK9PyxStOfXRw@mail.gmail.com>
	<CAHAreOqL5DYPykawNB4G_gCampU4s_Jm4djGNJrqEWksd5JsKA@mail.gmail.com>
	<CAHAreOr7nf4_v_9M2VDPJ4aBQm6_4a8HcrH0rnksGJB_t=nyCg@mail.gmail.com>
	<CAOvn4qi=0E0EEkBWXHKZosoe9XQSTH3BPOBvoGwLFa3ZuycW7g@mail.gmail.com>
Message-ID: <CAHAreOqjMU0S6QNxPs76p-4iPCG_pnQa-qHDvmrR_6Vpt_UbNQ@mail.gmail.com>

> I'll merge the pull request and rebuild the site tomorrow unless anyone objects.

+1


From brad.froehle at gmail.com  Tue Oct 23 18:45:04 2012
From: brad.froehle at gmail.com (Bradley M. Froehle)
Date: Tue, 23 Oct 2012 15:45:04 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAPk-6T73r_oWssheWrNMkjPrCJ_C8gvpT+OcX7oy8YcH+L9n-g@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
	<CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
	<CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>
	<14497C29B6FF4792A3EC0AA891F800FD@gmail.com>
	<CAPk-6T73r_oWssheWrNMkjPrCJ_C8gvpT+OcX7oy8YcH+L9n-g@mail.gmail.com>
Message-ID: <CAHXv-MhHuF+Bs317uJMAJO9PuDy-iepSnBuH6KZ=G6YyCfsujw@mail.gmail.com>

Wow, that's incredibly generous.

Thanks!
-Brad

On Mon, Oct 22, 2012 at 5:14 PM, Anthony Scopatz <scopatz at gmail.com> wrote:
>> Is it really true that NumFOCUS isn't levying any fees?  Certainly they
>> have expenses too... (bank accounts, lawyers, web hosting, etc).
>
>
> This is correct.  We are not levying any fees and are totally donation
> driven and would like to remain that way.  Though we do have administrative
> expenses, myself and the board (which Fernando is on) are all volunteer.
> Our goal is to support projects like IPython and the people behind them.
> Remember this if/when we put out a more general call for donations ;).  To
> learn more, please visit http://numfocus.org/.


From fperez.net at gmail.com  Tue Oct 23 21:15:48 2012
From: fperez.net at gmail.com (Fernando Perez)
Date: Tue, 23 Oct 2012 18:15:48 -0700
Subject: [IPython-dev] IPython donations are now live
In-Reply-To: <CAHXv-MhHuF+Bs317uJMAJO9PuDy-iepSnBuH6KZ=G6YyCfsujw@mail.gmail.com>
References: <CAHAreOo1EAowcKDDaZzvNkxax+4AtY8dv1Z7Lgu_gcejuXV1Bg@mail.gmail.com>
	<4E6F3BB4-ECF2-4D48-9AF3-C7929B06DFA9@quantopian.com>
	<CAP-uhDd5i+2P-LeO_hBfZF6-NYhf6_1=aiXAJW9sLo2ku5VAog@mail.gmail.com>
	<CAHAreOqFQZdykgDeY9Ce5GJUK-TuQifQQrAf_P8_1-KQ+knpjQ@mail.gmail.com>
	<CAHAreOoZfwhr7bOap9KjqwZmXxZ89ye-u_ro3rDXSQsyW1tkBw@mail.gmail.com>
	<14497C29B6FF4792A3EC0AA891F800FD@gmail.com>
	<CAPk-6T73r_oWssheWrNMkjPrCJ_C8gvpT+OcX7oy8YcH+L9n-g@mail.gmail.com>
	<CAHXv-MhHuF+Bs317uJMAJO9PuDy-iepSnBuH6KZ=G6YyCfsujw@mail.gmail.com>
Message-ID: <CAHAreOpWknbX0UBd1LsV3tb0QiEE-L=QHmH0-owZkJDnBfzOHg@mail.gmail.com>

On Tue, Oct 23, 2012 at 3:45 PM, Bradley M. Froehle
<brad.froehle at gmail.com> wrote:
> Wow, that's incredibly generous.

Indeed.  Obviously it's possible that numfocus may need to revise that
policy in the future if it becomes unsustainable, but the goal
(speaking with my numfocus hat on) is to try to keep our impact on the
donation stream as minimal as possible.  We're starting at 0%, and
we'll see if we can get enough donations directed *at* numfocus to
support its operations without having to take a cut of the
project-specific donations.

Numfocus will soon start fundraising for the foundation itself, and
those funds will be spent both on the operating costs of the
foundation and on supporting various projects and community efforts.
For example, projects will be able to ask numfocus for support say for
a sprint or a conference trip; in fact numfocus has already provided
small amounts of this type of help.  But with those funds that belong
to numfocus, it has the ability to first cover its basic expenses and
then allocate them to projects that request them or based on its own
initiatives.

It would be great if this model can thrive, as it would give both
numfocus resources to exist and support the community, while having
zero negative impact on the donation streams it helps manage for the
individual projects.

Cheers,

f


From ellisonbg at gmail.com  Wed Oct 24 12:01:56 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Wed, 24 Oct 2012 09:01:56 -0700
Subject: [IPython-dev] Broken MathJax in master
Message-ID: <CAH4pYpT4w=JLOy76qnUVB8ZoXfaZBFhH3g08tZrEQJxts8u-sg@mail.gmail.com>

Hi,

I have been using the notebook to prepare some talks for PyData and
have found two problems related to MathJax that have appear since I
merged Aron's MathJax branch:

* MathJax is slow to render the page initially and the rendering
blocks the entire notebook UI.  I don't remember this happening
before.

* If you open a notebook with math in it and then reload the notebook,
the notebook completely breaks with the following message in the JS
console:

Uncaught Error: Can't make callback from given data  MathJax L 29

These are quite problematic.

Aron, could you have a look at these things?

Cheers,

Brian


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


From aron at ahmadia.net  Wed Oct 24 12:11:25 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Wed, 24 Oct 2012 17:11:25 +0100
Subject: [IPython-dev] Broken MathJax in master
In-Reply-To: <CAH4pYpT4w=JLOy76qnUVB8ZoXfaZBFhH3g08tZrEQJxts8u-sg@mail.gmail.com>
References: <CAH4pYpT4w=JLOy76qnUVB8ZoXfaZBFhH3g08tZrEQJxts8u-sg@mail.gmail.com>
Message-ID: <CAPhiW4jGttXE+zowf8cy0WWPq39eKJfdU1zY5fzrmTgkEDR2EA@mail.gmail.com>

Brian,

Yes I can.  The exception has to do with the callback made to MathJax
whenever we would like to inform it to render mathematics.  If MathJax gets
handed a null object instead of a string of data, it will break the way you
are observing.

I'm just getting my development laptop up and going now, but I'll try to
look at this tonight or tomorrow.

A

On Wed, Oct 24, 2012 at 5:01 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> Hi,
>
> I have been using the notebook to prepare some talks for PyData and
> have found two problems related to MathJax that have appear since I
> merged Aron's MathJax branch:
>
> * MathJax is slow to render the page initially and the rendering
> blocks the entire notebook UI.  I don't remember this happening
> before.
>
> * If you open a notebook with math in it and then reload the notebook,
> the notebook completely breaks with the following message in the JS
> console:
>
> Uncaught Error: Can't make callback from given data  MathJax L 29
>
> These are quite problematic.
>
> Aron, could you have a look at these things?
>
> Cheers,
>
> Brian
>
>
> --
> 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/20121024/39fde2c9/attachment.html>

From ellisonbg at gmail.com  Wed Oct 24 12:17:46 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Wed, 24 Oct 2012 09:17:46 -0700
Subject: [IPython-dev] Broken MathJax in master
In-Reply-To: <CAPhiW4jGttXE+zowf8cy0WWPq39eKJfdU1zY5fzrmTgkEDR2EA@mail.gmail.com>
References: <CAH4pYpT4w=JLOy76qnUVB8ZoXfaZBFhH3g08tZrEQJxts8u-sg@mail.gmail.com>
	<CAPhiW4jGttXE+zowf8cy0WWPq39eKJfdU1zY5fzrmTgkEDR2EA@mail.gmail.com>
Message-ID: <CAH4pYpQ+AtShXWAyiJF+AfyQ=H8uQOpXwi9WHDMqMopepus0Bg@mail.gmail.com>

On Wed, Oct 24, 2012 at 9:11 AM, Aron Ahmadia <aron at ahmadia.net> wrote:
> Brian,
>
> Yes I can.  The exception has to do with the callback made to MathJax
> whenever we would like to inform it to render mathematics.  If MathJax gets
> handed a null object instead of a string of data, it will break the way you
> are observing.
>
> I'm just getting my development laptop up and going now, but I'll try to
> look at this tonight or tomorrow.

OK great, thanks Aron!

Cheers,

Brian

> A
>
> On Wed, Oct 24, 2012 at 5:01 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>>
>> Hi,
>>
>> I have been using the notebook to prepare some talks for PyData and
>> have found two problems related to MathJax that have appear since I
>> merged Aron's MathJax branch:
>>
>> * MathJax is slow to render the page initially and the rendering
>> blocks the entire notebook UI.  I don't remember this happening
>> before.
>>
>> * If you open a notebook with math in it and then reload the notebook,
>> the notebook completely breaks with the following message in the JS
>> console:
>>
>> Uncaught Error: Can't make callback from given data  MathJax L 29
>>
>> These are quite problematic.
>>
>> Aron, could you have a look at these things?
>>
>> Cheers,
>>
>> Brian
>>
>>
>> --
>> 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
>



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


From takowl at gmail.com  Wed Oct 24 12:48:52 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 24 Oct 2012 17:48:52 +0100
Subject: [IPython-dev] Notebook kernels + LXC
Message-ID: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>

A question on SO [1] got me thinking again about security in
multi-user cases. I've read recently about LXC [2], which provides
lightweight isolated environments for a set of processes.

Is there mileage in an option for the notebook server to start each
kernel in a new LXC container? That would give OS-level limitations on
what a remote user can do, without the overhead of running full
virtual machines. I imagine this could be paired with a way to share
access to a particular notebook or session, so a malicious user
getting access can only damage files in that project. It could
probably also be set up so that file access is read-only.

Of course, I may be on completely the wrong track. But the notebook is
clearly going to be used in cases where the 'all or nothing' access to
the underlying system is too coarse. Maybe this is one way to offer
finer-grained control.

[1] http://stackoverflow.com/questions/13044921/prevent-user-del-files-in-ipython-notebook-environment/13053501#13053501
[2] http://lxc.sourceforge.net/

Thomas


From ellisonbg at gmail.com  Wed Oct 24 15:43:52 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Wed, 24 Oct 2012 12:43:52 -0700
Subject: [IPython-dev] Notebook kernels + LXC
In-Reply-To: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
References: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
Message-ID: <CAH4pYpR1V5+T7ayq0q=y0SJdCBod1-6z3rD09CNqDuCQRWUBLQ@mail.gmail.com>

Thomas,

LXC containers are an amazing technology and are something I have
thought a lot about.

What you are asking about is 1) sharing and 2) security.  Here is my
short answer:

We want to promote *sharing* models that don't suffer from *security*
holes that require measures such as LXC containers.

Think about shell access.  What would you say if I developed a way of
sharing code, data, programs in the shell that required an LXC
container.  You would say "that is insane, if you trust a user, give
them a shell account and use groups and shared directories and if you
don't, keep them out and share things on the web, public github repos,
etc."

Now a few more details...

On Wed, Oct 24, 2012 at 9:48 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> A question on SO [1] got me thinking again about security in
> multi-user cases. I've read recently about LXC [2], which provides
> lightweight isolated environments for a set of processes.

# More on security

I have spent *a lot* of time thinking about the security model for the
notebook and I will try to summarize my current thinking:

* There are only two sets of users: trusted (those you would give a
unix shell account to on that system) and malicious (those you would
not give a shell account to).  There are no such things as "malicious
users that are not too bad".

Trusted users:

* For trusted users, the main thing you need to do is provide good
isolation.  You can provide most of that using regular unix accounts.
When we implement the multiuser support, we will implement a variety
of ways for trusted users to share notebooks.  This will avoid the
need for one trusted user to run a kernel as another user.
* If two trusted users *really* want to share a notebook, we will
allow that, but that will be akin to giving them your shell logon
credentials.  If a user is not OK with that they should just give the
notebook to the other user to run on their own kernels.
* For trusted users, the only situation where LXC helps is in limiting
system resources.  But I am a bit hesitant to add this support as it
would create a false sense of security.

Malicious users:

* Securing this case is extremely difficult and LXC alone is not sufficient.
* You have to build a custom version of Python with some libraries
removed, so malicious users cannot launch attacks from the LXC
container on other hosts using things like socket.
* You have to protect the rest of your backend infrastructure from the
kernels running inside the LXC containers.  This is extremely
difficult.  The main problem here is that the backend needs to be able
to talk to the kernel in the LXC container using ZeroMQ sockets.  BUT,
that means the users code can import pyzmq and use that to attack the
rest of the backend infrastructure.  You need a sandbox that has holes
in it.
* These problems are solvable, but have to be tackled with a system
level approach that involves LXC containers, multiple hosts running
different parts of the backend infrastructure, dynamic firewall rules,
careful monitoring, an intricately designed network architecture that
isolates potentially hostile traffic from trusted backend traffic,
etc.
* In short, it is not possible to "write some python code" that use
LXC containers and magically have security.

Our plan is to develop these things in a commercial, cloud based
offering where you can afford to pay people to develop and run the
needed infrastructure.

Our goal with the open source project is to cover the usage case of
groups of trusted users that have multiple easy ways of sharing
notebooks that don't require running code as someone else.

# Back to sharing

Again my main idea is that we want easy ways of sharing that don't
have intrinsic difficult security problems.

Example 1: nbviewer is a perfect example of the type of sharing model
we want to support.  By adding a "Publish to gist/nbviewer" button it
will become extremely easy for people to share in this manner.
Absolutely no security issues to worry about.

Example 2: We should add a button in the NB UI to "Import notebook
from the web" by its URL, gist id, github URL, etc.

Example 3: In our multiuser notebook, we will add the ability for
users to publish nbviewer like static views of their notebooks that
have "download notebook" links that can be pasted into the "Import
notebook from the web" field.

Example 4: people should be putting their notebooks on github/gists
where they can be easily cloned.  I strongly feel that we want to
encourage people to use git/github as the primary means of sharing a
notebook.  We should integrate git into the notebook UI to make this
even easier, such as "Create a new Notebook Project from the following
git repo"

In all of these cases, there is a clear and easy path for sharing and
there is simply no reason for a user to run kernels on another persons
system.

I would claim that this model is exactly the sharing model of git.
There are probably oodles of git servers running all over the world.
Each group running a git server will only give trusted people R+W
access, but can choose which repos the public has R access to.  But no
one would ever give an unknown, possibly malicious person R+W access
to a trusted groups git server or repo.  This architecture doesn't
prevent sharing of git repos - in fact, I would say git enables share
by a combination of these mini security zones along with super easy
ways of moving code between the security zones.

For the IPython Notebook, allowing a user to run code is the security
equivalent of giving a user W access to a repo - that is what enables
them to do harm.

Hope this clarifies the situation wrt LXC.

Cheers,

Brian

> Is there mileage in an option for the notebook server to start each
> kernel in a new LXC container? That would give OS-level limitations on
> what a remote user can do, without the overhead of running full
> virtual machines. I imagine this could be paired with a way to share
> access to a particular notebook or session, so a malicious user
> getting access can only damage files in that project. It could
> probably also be set up so that file access is read-only.
>
> Of course, I may be on completely the wrong track. But the notebook is
> clearly going to be used in cases where the 'all or nothing' access to
> the underlying system is too coarse. Maybe this is one way to offer
> finer-grained control.
>
> [1] http://stackoverflow.com/questions/13044921/prevent-user-del-files-in-ipython-notebook-environment/13053501#13053501
> [2] http://lxc.sourceforge.net/
>
> Thomas
> _______________________________________________
> 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 jason-sage at creativetrax.com  Wed Oct 24 22:52:22 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Wed, 24 Oct 2012 21:52:22 -0500
Subject: [IPython-dev] Notebook kernels + LXC
In-Reply-To: <CAH4pYpR1V5+T7ayq0q=y0SJdCBod1-6z3rD09CNqDuCQRWUBLQ@mail.gmail.com>
References: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
	<CAH4pYpR1V5+T7ayq0q=y0SJdCBod1-6z3rD09CNqDuCQRWUBLQ@mail.gmail.com>
Message-ID: <5088A966.5000202@creativetrax.com>

On 10/24/12 2:43 PM, Brian Granger wrote:
> Our plan is to develop these things in a commercial, cloud based
> offering where you can afford to pay people to develop and run the
> needed infrastructure.

William Stein is developing almost exactly this to make money for Sage 
development.  He's been working on this a lot (nearly full time for a 
while, and I think part time now).  Here is his website about it:

https://salv.us/

The about page has more information, including links to 2.5 hours worth 
of recorded seminar talks about the infrastructure and decisions behind it.

https://salv.us/about/

Thanks,

Jason

-- 
Jason Grout
jason.grout at drake.edu



From jason-sage at creativetrax.com  Wed Oct 24 22:52:52 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Wed, 24 Oct 2012 21:52:52 -0500
Subject: [IPython-dev] Notebook kernels + LXC
In-Reply-To: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
References: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
Message-ID: <5088A984.3070108@creativetrax.com>

On 10/24/12 11:48 AM, Thomas Kluyver wrote:
> A question on SO [1] got me thinking again about security in
> multi-user cases. I've read recently about LXC [2], which provides
> lightweight isolated environments for a set of processes.
>
> Is there mileage in an option for the notebook server to start each
> kernel in a new LXC container? That would give OS-level limitations on
> what a remote user can do, without the overhead of running full
> virtual machines. I imagine this could be paired with a way to share
> access to a particular notebook or session, so a malicious user
> getting access can only damage files in that project. It could
> probably also be set up so that file access is read-only.
>
> Of course, I may be on completely the wrong track. But the notebook is
> clearly going to be used in cases where the 'all or nothing' access to
> the underlying system is too coarse. Maybe this is one way to offer
> finer-grained control.
>
> [1] http://stackoverflow.com/questions/13044921/prevent-user-del-files-in-ipython-notebook-environment/13053501#13053501
> [2] http://lxc.sourceforge.net/

The wikipedia article has some interesting links, like:

http://blog.bofh.it/debian/id_413

that indicate that (at least a year ago) things were not finished enough 
to be really secure.

Also, 
http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines 
might be a good read for ways to isolate processes.

Thanks,

Jason



-- 
Jason Grout
jason.grout at drake.edu


From ipyd.parsnips at dfgh.net  Thu Oct 25 10:17:50 2012
From: ipyd.parsnips at dfgh.net (ipyd.parsnips at dfgh.net)
Date: Thu, 25 Oct 2012 15:17:50 +0100
Subject: [IPython-dev] nbconvert contributions
Message-ID: <50894A0E.4060904@gmail.com>

Hi,

I have been using nbconvert and have fixed a few things that I'd like to 
contribute. But it seems like there are a few versions of nbconvert 
floating around which have started to be refactored -- is it best to 
make changes to the main repository, or is there somewhere else I should 
be looking?

Thanks,
Rick



From bussonniermatthias at gmail.com  Thu Oct 25 10:47:59 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Thu, 25 Oct 2012 16:47:59 +0200
Subject: [IPython-dev] nbconvert contributions
In-Reply-To: <50894A0E.4060904@gmail.com>
References: <50894A0E.4060904@gmail.com>
Message-ID: <10DE4591-1338-4C4B-A0E2-3EF9809B8388@gmail.com>


Le 25 oct. 2012 ? 16:17, ipyd.parsnips at dfgh.net a ?crit :

> Hi,
> 
> I have been using nbconvert and have fixed a few things that I'd like to 
> contribute. But it seems like there are a few versions of nbconvert 
> floating around which have started to be refactored -- is it best to 
> make changes to the main repository, or is there somewhere else I should 
> be looking?

The refactored version where never totally done, and push where made directly on the main repository meaning that 
either way lots of work have to be redone for the refactored version.

So feel free to open a new PR agains the main nbconvert repository. 
We are really low on bandwidth for now, if anyone has use of nbconvert and have time to take care of it will be greatly welcomed. 

-- 
Matthias


> 
> Thanks,
> Rick


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



From jtaylor.debian at googlemail.com  Thu Oct 25 13:17:17 2012
From: jtaylor.debian at googlemail.com (Julian Taylor)
Date: Thu, 25 Oct 2012 19:17:17 +0200
Subject: [IPython-dev] Notebook kernels + LXC
In-Reply-To: <5088A984.3070108@creativetrax.com>
References: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
	<5088A984.3070108@creativetrax.com>
Message-ID: <5089741D.8040204@googlemail.com>

On 10/25/2012 04:52 AM, Jason Grout wrote:
> On 10/24/12 11:48 AM, Thomas Kluyver wrote:
>> A question on SO [1] got me thinking again about security in
>> multi-user cases. I've read recently about LXC [2], which provides
>> lightweight isolated environments for a set of processes.
>>
>> Is there mileage in an option for the notebook server to start each
>> kernel in a new LXC container? That would give OS-level limitations on
>> what a remote user can do, without the overhead of running full
>> virtual machines. I imagine this could be paired with a way to share
>> access to a particular notebook or session, so a malicious user
>> getting access can only damage files in that project. It could
>> probably also be set up so that file access is read-only.
>>
>> Of course, I may be on completely the wrong track. But the notebook is
>> clearly going to be used in cases where the 'all or nothing' access to
>> the underlying system is too coarse. Maybe this is one way to offer
>> finer-grained control.
>>
>> [1] http://stackoverflow.com/questions/13044921/prevent-user-del-files-in-ipython-notebook-environment/13053501#13053501
>> [2] http://lxc.sourceforge.net/
> 
> The wikipedia article has some interesting links, like:
> 
> http://blog.bofh.it/debian/id_413
> 
> that indicate that (at least a year ago) things were not finished enough 
> to be really secure.
> 
> Also, 
> http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines 
> might be a good read for ways to isolate processes.
> 
> Thanks,
> 
> Jason
> 
> 
> 

you can secure lxc containers quite effectively with apparmor.
E.g. in ubuntu lxc by default installs profiles that deny all access to
/sys and other things

Attached is a very basic apparmor profile for ipython which works ok,
but I didn't have much need for it recently so its not very well tested.

To use it you must use a little startup script, an example is attached
too. You need to adapt the path of the start script in the profile
before you can use it.
Also rename the profile to the correct location of the script.
Then copy it to /etc/apparmor.d and load it with apparmor_parser -r
If you are not using the debian ipython package you likely have to make
some more changes so its allowed to read your custom installation.

The hardcoding of the start script and working directory is not very nice.
If one needs something more dynamic you could look at libvirt.
It does dynamic apparmor profile creation from templates via virt-aa-helper.
-------------- next part --------------
#!/bin/dash
#sudo apparmor_parser -r /etc/apparmor.d/home.jtaylor.prog.ipython-notebook
workdir=/tmp/ipython-notebook
mkdir -p $workdir
cd $workdir || exit 1
export HOME=$PWD
#export MPLCONFIGDIR=$PWD/.matplotlib
ipython notebook --no-browser --pylab=inline "$@"
-------------- next part --------------
# Last Modified: Thu Oct 25 19:05:48 2012
@{WORKDIR} = /tmp/ipython-notebook

#include <tunables/global>

/home/jtaylor/prog/ipython-notebook {
  #include <abstractions/base>
  #include <abstractions/bash>
  #include <abstractions/consoles>
  #include <abstractions/fonts>
  #include <abstractions/nameservice>
  #include <abstractions/python>



  /bin/bash rix,
  /bin/cat rix,
  /bin/cp rix,
  /bin/dash rix,
  /bin/ls mrix,
  /bin/mkdir rix,
  /bin/mv rix,
  /bin/touch rix,
  /bin/uname rix,
  /bin/which rix,
  /dev/ptmx rw,
  /etc/ r,
  /etc/lsb-release r,
  /etc/matplotlibrc r,
  /etc/mime.types r,
  /home/jtaylor/prog/ipython-notebook r,
  /proc/filesystems r,
  /proc/meminfo r,
  /sbin/ldconfig rix,
  /sbin/ldconfig.real rix,
  /sys/devices/system/cpu/ r,
  /usr/bin/env rix,
  /usr/bin/fc-list rix,
  /usr/bin/gawk rix,
  /usr/bin/ipython rix,
  /usr/bin/python* rix,
  /usr/bin/sort rix,
  /usr/share/ipython/notebook/** r,
  /usr/share/matplotlib/** r,
  /usr/share/poppler/**/ r,
  owner @{WORKDIR}/ rwl,
  owner @{WORKDIR}/** rwlk,
  owner @{WORKDIR}/.config/ipython/ r,
  owner @{WORKDIR}/.config/ipython/** rwk,

}

From takowl at gmail.com  Thu Oct 25 13:18:37 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Thu, 25 Oct 2012 18:18:37 +0100
Subject: [IPython-dev] Notebook kernels + LXC
In-Reply-To: <CAH4pYpR1V5+T7ayq0q=y0SJdCBod1-6z3rD09CNqDuCQRWUBLQ@mail.gmail.com>
References: <CAOvn4qiOCf1Qmcno_vL=bTHjH9Y7wn79D7=C_9izHGpD6W_3AA@mail.gmail.com>
	<CAH4pYpR1V5+T7ayq0q=y0SJdCBod1-6z3rD09CNqDuCQRWUBLQ@mail.gmail.com>
Message-ID: <CAOvn4qjd88T7Av7dOEQGpm+j4HdtiG10_PkEKs6Br6Ce9QmUgg@mail.gmail.com>

On 24 October 2012 20:43, Brian Granger <ellisonbg at gmail.com> wrote:
> Think about shell access.  What would you say if I developed a way of
> sharing code, data, programs in the shell that required an LXC
> container.  You would say "that is insane, if you trust a user, give
> them a shell account and use groups and shared directories and if you
> don't, keep them out and share things on the web, public github repos,
> etc."

Well, clearly there are cases where you want a user to be able to run
code without giving them full access to the system. In particular, say
you publish a paper and set up a server where people can repeat your
analysis in a live notebook (something like
http://www.runmycode.org/CompanionSite/ ). Full shell access is a
no-go, it's highly inconvenient to set up unix-level user accounts for
every user, and running separate VMs has substantial overhead.

In a situation like this, I imagine you could spin up a kernel in a
separate LXC container for each user, expose the necessary data files
for the analysis, and direct any file writes into a temporary fs
that's discarded with the kernel. I'm not qualified to technically
evaluate a technology like LXC, but I certainly think there's a use
case for something like that.

Thomas


From patrickmarshwx at gmail.com  Thu Oct 25 13:33:06 2012
From: patrickmarshwx at gmail.com (Patrick Marsh)
Date: Thu, 25 Oct 2012 12:33:06 -0500
Subject: [IPython-dev] Fwd: Rendering Bug in Notebook?
In-Reply-To: <CAHUTaHFS9641XLPUTLcy78PrzDa8sRfreYQLBp8LPPYEEGbo4A@mail.gmail.com>
References: <CAHUTaHFS9641XLPUTLcy78PrzDa8sRfreYQLBp8LPPYEEGbo4A@mail.gmail.com>
Message-ID: <CAHUTaHHrEG01kAkh+GyymQR-TgZ24rQ=7c1rb8VxcCGUZZs_+w@mail.gmail.com>

Just noticed that this was sent to ipython-user not ipython-dev on
accident. Sorry for the cross-posting.

PTM

---------- Forwarded message ----------

Hi, All,

Before I file an issue ticket, I wanted to make sure that I'm not messing
up something on my end?

When making a plot in IPython Notebook that includes text or a legend in
the plotting area that is not a title or axis label causes the figure to
lose the axes spines and a host of other information. Here's a gist to
illustrate: http://nbviewer.ipython.org/3952759/

The first figure doesn't add anything to the plot and thus displays
correctly. The second figure, however, adds a legend, a text box, and
labels colored grid points. This figure is not displayed correctly. (I've
tried all sorts of combinations of the three, and they all cause the
display issue.)

I'm using latest dev versions of IPython, Matplotlib, and ZMQ. (This info
is included in the notebok.)

When downloading the notebook as a .py file and running it in IPython
normally, the plot is saved just fine. Furthermore, running the script in
the IPython Notebook (and including plt.save()), the saved figure is also
displayed correctly.


Is this an actual bug or did I mess something up?

---
Patrick Marsh
Ph.D. Candidate / Liaison to the HWT
School of Meteorology / University of Oklahoma
Cooperative Institute for Mesoscale Meteorological Studies
National Severe Storms Laboratory
http://www.patricktmarsh.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121025/cb7afca1/attachment.html>

From jenshnielsen at gmail.com  Thu Oct 25 14:19:01 2012
From: jenshnielsen at gmail.com (Jens Nielsen)
Date: Thu, 25 Oct 2012 20:19:01 +0200
Subject: [IPython-dev] Fwd: Rendering Bug in Notebook?
In-Reply-To: <CAHUTaHHrEG01kAkh+GyymQR-TgZ24rQ=7c1rb8VxcCGUZZs_+w@mail.gmail.com>
References: <CAHUTaHFS9641XLPUTLcy78PrzDa8sRfreYQLBp8LPPYEEGbo4A@mail.gmail.com>
	<CAHUTaHHrEG01kAkh+GyymQR-TgZ24rQ=7c1rb8VxcCGUZZs_+w@mail.gmail.com>
Message-ID: <CAM-Pw00AGjGc-+ju7Wd9_kFgdQCPjra+3qKM3yjiOjOueS7QRQ@mail.gmail.com>

Hi Patrick

This is a bug in matplotlib. This bug
(https://github.com/matplotlib/matplotlib/issues/1419) sounds
similar to what you describe. I wrote a pulll request for mpl that
contains a fix and a test to solve it
(https://github.com/matplotlib/matplotlib/pull/1420)   but is not yet merged
into master. The bug should not be in matplotlib 1.2.x 1.1.1 and older.

greetings Jens

On Thu, Oct 25, 2012 at 7:33 PM, Patrick Marsh <patrickmarshwx at gmail.com> wrote:
> Just noticed that this was sent to ipython-user not ipython-dev on accident.
> Sorry for the cross-posting.
>
> PTM
>
> ---------- Forwarded message ----------
>
> Hi, All,
>
> Before I file an issue ticket, I wanted to make sure that I'm not messing up
> something on my end?
>
> When making a plot in IPython Notebook that includes text or a legend in the
> plotting area that is not a title or axis label causes the figure to lose
> the axes spines and a host of other information. Here's a gist to
> illustrate: http://nbviewer.ipython.org/3952759/
>
> The first figure doesn't add anything to the plot and thus displays
> correctly. The second figure, however, adds a legend, a text box, and labels
> colored grid points. This figure is not displayed correctly. (I've tried all
> sorts of combinations of the three, and they all cause the display issue.)
>
> I'm using latest dev versions of IPython, Matplotlib, and ZMQ. (This info is
> included in the notebok.)
>
> When downloading the notebook as a .py file and running it in IPython
> normally, the plot is saved just fine. Furthermore, running the script in
> the IPython Notebook (and including plt.save()), the saved figure is also
> displayed correctly.
>
>
> Is this an actual bug or did I mess something up?
>
> ---
> Patrick Marsh
> Ph.D. Candidate / Liaison to the HWT
> School of Meteorology / University of Oklahoma
> Cooperative Institute for Mesoscale Meteorological Studies
> National Severe Storms Laboratory
> http://www.patricktmarsh.com
>
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>


From aka.tkf at gmail.com  Thu Oct 25 15:28:27 2012
From: aka.tkf at gmail.com (Takafumi Arakaki)
Date: Thu, 25 Oct 2012 21:28:27 +0200
Subject: [IPython-dev] Request: IPython.ext namespace
Message-ID: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>

Hi,

I think IPython should provide namespace for IPython extensions, so
that extension authors can upload their extensions to PyPI.  I don't
care about what the actual name is (probably it can be ipythonext,
IPythonContrib, IPython.extensions, or what ever).  It is something
what Sphinx does for "sphinxcontrib.*" namespace.  I can think of many
reasons why it is better for IPython extension users and authors:

1. When you want to use external Python module in your extension,
   currently there is no easy way to install it.  If you can upload
   your extension as `IPython.ext.YOUREXT`, it can be easily solved.

2. Similarity, you can depends on other IPython extensions.  Currently
   there is no easy way to import other IPython extensions.

3. It does not stop people using `%install_ext`.  If your extension is
   just one file, you can just do::

     %install_ext
https://raw.github.com/YOU/ipython-ext-YOUREXT/master/IPython/ext/YOUREXT.py

4. You get IPython extension search engine for free.  People can just do::

     pip search IPython.ext

   Try ``pip search sphinxcontrib``, for example.

5. It helps people avoiding namespace collision.  Currently there is
   no easy way to make sure if other people not using some name.
   Sure, you can google it, but you can't be 100% sure.

6. IPython don't need to create any machinery for this.  All you need
   to do is to put some notice in the documentation for extension
   author.


To be fair, I will try to think the reasons why you should not do this:

1. It may drive lazy people away from writing it.  "Oh, I need setup.py
   for IPython extension?  No... I won't upload it hen."

   (But you don't need to upload your extension to pypi, if your
   extension is just one file.)

2. It increases the amount and complexity of documentation you need to
   maintain.  You need to explain:  "You can install extensions using
   `pip` (or `easy_install`, if you want).  Oh, you can use
   `%install_ext` magic by the way.  But it cannot be used for some
   packages blah blah blah...".


BTW, should I post something like this in ML or github issue?  As
there was old discussion in this ML [1]_, I am posting it here.

.. [1] http://mail.scipy.org/pipermail/ipython-dev/2012-June/thread.html#9427


--
Takafumi Arakaki
https://github.com/tkf


From vanderplas at astro.washington.edu  Thu Oct 25 15:41:00 2012
From: vanderplas at astro.washington.edu (Jake Vanderplas)
Date: Thu, 25 Oct 2012 12:41:00 -0700
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
Message-ID: <508995CC.2020403@astro.washington.edu>

Hi,
There's one particularly difficult issue with disparate packages sharing 
a namespace: multiple install paths cause problems.  For example, if you 
have a system-wide ipython installation and then install a new extension 
in a local folder, you can get an import error because the extension 
does not exist in the first version of the namespace found by python.
This was one of the main problems that led to deprecation of the scikits 
namespace.
    Jake

On 10/25/2012 12:28 PM, Takafumi Arakaki wrote:
> Hi,
>
> I think IPython should provide namespace for IPython extensions, so
> that extension authors can upload their extensions to PyPI.  I don't
> care about what the actual name is (probably it can be ipythonext,
> IPythonContrib, IPython.extensions, or what ever).  It is something
> what Sphinx does for "sphinxcontrib.*" namespace.  I can think of many
> reasons why it is better for IPython extension users and authors:
>
> 1. When you want to use external Python module in your extension,
>     currently there is no easy way to install it.  If you can upload
>     your extension as `IPython.ext.YOUREXT`, it can be easily solved.
>
> 2. Similarity, you can depends on other IPython extensions.  Currently
>     there is no easy way to import other IPython extensions.
>
> 3. It does not stop people using `%install_ext`.  If your extension is
>     just one file, you can just do::
>
>       %install_ext
> https://raw.github.com/YOU/ipython-ext-YOUREXT/master/IPython/ext/YOUREXT.py
>
> 4. You get IPython extension search engine for free.  People can just do::
>
>       pip search IPython.ext
>
>     Try ``pip search sphinxcontrib``, for example.
>
> 5. It helps people avoiding namespace collision.  Currently there is
>     no easy way to make sure if other people not using some name.
>     Sure, you can google it, but you can't be 100% sure.
>
> 6. IPython don't need to create any machinery for this.  All you need
>     to do is to put some notice in the documentation for extension
>     author.
>
>
> To be fair, I will try to think the reasons why you should not do this:
>
> 1. It may drive lazy people away from writing it.  "Oh, I need setup.py
>     for IPython extension?  No... I won't upload it hen."
>
>     (But you don't need to upload your extension to pypi, if your
>     extension is just one file.)
>
> 2. It increases the amount and complexity of documentation you need to
>     maintain.  You need to explain:  "You can install extensions using
>     `pip` (or `easy_install`, if you want).  Oh, you can use
>     `%install_ext` magic by the way.  But it cannot be used for some
>     packages blah blah blah...".
>
>
> BTW, should I post something like this in ML or github issue?  As
> there was old discussion in this ML [1]_, I am posting it here.
>
> .. [1] http://mail.scipy.org/pipermail/ipython-dev/2012-June/thread.html#9427
>
>
> --
> Takafumi Arakaki
> https://github.com/tkf
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev




From benjaminrk at gmail.com  Thu Oct 25 15:49:03 2012
From: benjaminrk at gmail.com (MinRK)
Date: Thu, 25 Oct 2012 12:49:03 -0700
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
Message-ID: <CAHNn8BX1PJpyvhyFPs9axctMif6f8dBLK8EZJS7GRgUBUU--RA@mail.gmail.com>

All modules can already be extensions or contain extensions.  Any
importable module that has a `load_ipython_extension(ip)` function is a
valid extension.

An excellent example of this is sympyprinting, which was recently moved out
of IPython<https://github.com/ipython/ipython/blob/master/IPython/extensions/sympyprinting.py>and
into
sympy<https://github.com/sympy/sympy/blob/master/sympy/interactive/ipythonprinting.py>.
 It is now loaded as:

%load_ext sympy.interactive.ipythonprinting

This is just a regular Python module that is a part of sympy.  There is
nothing extra to install.

So I would say that this is already a solved problem, and there is no
reason to deal with a special namespace.

-MinRK

On Thu, Oct 25, 2012 at 12:28 PM, Takafumi Arakaki <aka.tkf at gmail.com>wrote:

> Hi,
>
> I think IPython should provide namespace for IPython extensions, so
> that extension authors can upload their extensions to PyPI.  I don't
> care about what the actual name is (probably it can be ipythonext,
> IPythonContrib, IPython.extensions, or what ever).  It is something
> what Sphinx does for "sphinxcontrib.*" namespace.  I can think of many
> reasons why it is better for IPython extension users and authors:
>
> 1. When you want to use external Python module in your extension,
>    currently there is no easy way to install it.  If you can upload
>    your extension as `IPython.ext.YOUREXT`, it can be easily solved.
>
> 2. Similarity, you can depends on other IPython extensions.  Currently
>    there is no easy way to import other IPython extensions.
>
> 3. It does not stop people using `%install_ext`.  If your extension is
>    just one file, you can just do::
>
>      %install_ext
>
> https://raw.github.com/YOU/ipython-ext-YOUREXT/master/IPython/ext/YOUREXT.py
>
> 4. You get IPython extension search engine for free.  People can just do::
>
>      pip search IPython.ext
>
>    Try ``pip search sphinxcontrib``, for example.
>
> 5. It helps people avoiding namespace collision.  Currently there is
>    no easy way to make sure if other people not using some name.
>    Sure, you can google it, but you can't be 100% sure.
>
> 6. IPython don't need to create any machinery for this.  All you need
>    to do is to put some notice in the documentation for extension
>    author.
>
>
> To be fair, I will try to think the reasons why you should not do this:
>
> 1. It may drive lazy people away from writing it.  "Oh, I need setup.py
>    for IPython extension?  No... I won't upload it hen."
>
>    (But you don't need to upload your extension to pypi, if your
>    extension is just one file.)
>
> 2. It increases the amount and complexity of documentation you need to
>    maintain.  You need to explain:  "You can install extensions using
>    `pip` (or `easy_install`, if you want).  Oh, you can use
>    `%install_ext` magic by the way.  But it cannot be used for some
>    packages blah blah blah...".
>
>
> BTW, should I post something like this in ML or github issue?  As
> there was old discussion in this ML [1]_, I am posting it here.
>
> .. [1]
> http://mail.scipy.org/pipermail/ipython-dev/2012-June/thread.html#9427
>
>
> --
> Takafumi Arakaki
> https://github.com/tkf
> _______________________________________________
> 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/20121025/f33d7770/attachment.html>

From ellisonbg at gmail.com  Thu Oct 25 15:54:41 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Thu, 25 Oct 2012 12:54:41 -0700
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <CAHNn8BX1PJpyvhyFPs9axctMif6f8dBLK8EZJS7GRgUBUU--RA@mail.gmail.com>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
	<CAHNn8BX1PJpyvhyFPs9axctMif6f8dBLK8EZJS7GRgUBUU--RA@mail.gmail.com>
Message-ID: <CAH4pYpRLvdDnAutxQxS8QAa2nUsE90fd0xVZyZVeqbXRVCxD5g@mail.gmail.com>

On Thu, Oct 25, 2012 at 12:49 PM, MinRK <benjaminrk at gmail.com> wrote:
> All modules can already be extensions or contain extensions.  Any importable
> module that has a `load_ipython_extension(ip)` function is a valid
> extension.
>
> An excellent example of this is sympyprinting, which was recently moved out
> of IPython and into sympy.  It is now loaded as:
>
> %load_ext sympy.interactive.ipythonprinting
>
> This is just a regular Python module that is a part of sympy.  There is
> nothing extra to install.
>
> So I would say that this is already a solved problem, and there is no reason
> to deal with a special namespace.

I very much agree with Min's take on this - this is why we designed
extensions the way we did.

Cheers,

Brian

> -MinRK
>
> On Thu, Oct 25, 2012 at 12:28 PM, Takafumi Arakaki <aka.tkf at gmail.com>
> wrote:
>>
>> Hi,
>>
>> I think IPython should provide namespace for IPython extensions, so
>> that extension authors can upload their extensions to PyPI.  I don't
>> care about what the actual name is (probably it can be ipythonext,
>> IPythonContrib, IPython.extensions, or what ever).  It is something
>> what Sphinx does for "sphinxcontrib.*" namespace.  I can think of many
>> reasons why it is better for IPython extension users and authors:
>>
>> 1. When you want to use external Python module in your extension,
>>    currently there is no easy way to install it.  If you can upload
>>    your extension as `IPython.ext.YOUREXT`, it can be easily solved.
>>
>> 2. Similarity, you can depends on other IPython extensions.  Currently
>>    there is no easy way to import other IPython extensions.
>>
>> 3. It does not stop people using `%install_ext`.  If your extension is
>>    just one file, you can just do::
>>
>>      %install_ext
>>
>> https://raw.github.com/YOU/ipython-ext-YOUREXT/master/IPython/ext/YOUREXT.py
>>
>> 4. You get IPython extension search engine for free.  People can just do::
>>
>>      pip search IPython.ext
>>
>>    Try ``pip search sphinxcontrib``, for example.
>>
>> 5. It helps people avoiding namespace collision.  Currently there is
>>    no easy way to make sure if other people not using some name.
>>    Sure, you can google it, but you can't be 100% sure.
>>
>> 6. IPython don't need to create any machinery for this.  All you need
>>    to do is to put some notice in the documentation for extension
>>    author.
>>
>>
>> To be fair, I will try to think the reasons why you should not do this:
>>
>> 1. It may drive lazy people away from writing it.  "Oh, I need setup.py
>>    for IPython extension?  No... I won't upload it hen."
>>
>>    (But you don't need to upload your extension to pypi, if your
>>    extension is just one file.)
>>
>> 2. It increases the amount and complexity of documentation you need to
>>    maintain.  You need to explain:  "You can install extensions using
>>    `pip` (or `easy_install`, if you want).  Oh, you can use
>>    `%install_ext` magic by the way.  But it cannot be used for some
>>    packages blah blah blah...".
>>
>>
>> BTW, should I post something like this in ML or github issue?  As
>> there was old discussion in this ML [1]_, I am posting it here.
>>
>> .. [1]
>> http://mail.scipy.org/pipermail/ipython-dev/2012-June/thread.html#9427
>>
>>
>> --
>> Takafumi Arakaki
>> https://github.com/tkf
>> _______________________________________________
>> 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 aka.tkf at gmail.com  Thu Oct 25 17:04:28 2012
From: aka.tkf at gmail.com (Takafumi Arakaki)
Date: Thu, 25 Oct 2012 23:04:28 +0200
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <508995CC.2020403@astro.washington.edu>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
	<508995CC.2020403@astro.washington.edu>
Message-ID: <CAPM+gBS0h+Kji_E=2sZQBt__CeF9WeesW=_bTELyHJFmA+j-wQ@mail.gmail.com>

On Thu, Oct 25, 2012 at 9:41 PM, Jake Vanderplas
<vanderplas at astro.washington.edu> wrote:
> Hi,
> There's one particularly difficult issue with disparate packages sharing
> a namespace: multiple install paths cause problems.  For example, if you
> have a system-wide ipython installation and then install a new extension
> in a local folder, you can get an import error because the extension
> does not exist in the first version of the namespace found by python.
> This was one of the main problems that led to deprecation of the scikits
> namespace.
>     Jake

I see.  That's the fundamental problem.  Shared namespace definitely
not good idea then!

I'd like to have some rule such as ipyext_ prefix though.  But as
packages may have IPython extension as submodule like sympy does it
won't be constant anyway.


>
> On 10/25/2012 12:28 PM, Takafumi Arakaki wrote:
>> Hi,
>>
>> I think IPython should provide namespace for IPython extensions, so
>> that extension authors can upload their extensions to PyPI.  I don't
>> care about what the actual name is (probably it can be ipythonext,
>> IPythonContrib, IPython.extensions, or what ever).  It is something
>> what Sphinx does for "sphinxcontrib.*" namespace.  I can think of many
>> reasons why it is better for IPython extension users and authors:
>>
>> 1. When you want to use external Python module in your extension,
>>     currently there is no easy way to install it.  If you can upload
>>     your extension as `IPython.ext.YOUREXT`, it can be easily solved.
>>
>> 2. Similarity, you can depends on other IPython extensions.  Currently
>>     there is no easy way to import other IPython extensions.
>>
>> 3. It does not stop people using `%install_ext`.  If your extension is
>>     just one file, you can just do::
>>
>>       %install_ext
>> https://raw.github.com/YOU/ipython-ext-YOUREXT/master/IPython/ext/YOUREXT.py
>>
>> 4. You get IPython extension search engine for free.  People can just do::
>>
>>       pip search IPython.ext
>>
>>     Try ``pip search sphinxcontrib``, for example.
>>
>> 5. It helps people avoiding namespace collision.  Currently there is
>>     no easy way to make sure if other people not using some name.
>>     Sure, you can google it, but you can't be 100% sure.
>>
>> 6. IPython don't need to create any machinery for this.  All you need
>>     to do is to put some notice in the documentation for extension
>>     author.
>>
>>
>> To be fair, I will try to think the reasons why you should not do this:
>>
>> 1. It may drive lazy people away from writing it.  "Oh, I need setup.py
>>     for IPython extension?  No... I won't upload it hen."
>>
>>     (But you don't need to upload your extension to pypi, if your
>>     extension is just one file.)
>>
>> 2. It increases the amount and complexity of documentation you need to
>>     maintain.  You need to explain:  "You can install extensions using
>>     `pip` (or `easy_install`, if you want).  Oh, you can use
>>     `%install_ext` magic by the way.  But it cannot be used for some
>>     packages blah blah blah...".
>>
>>
>> BTW, should I post something like this in ML or github issue?  As
>> there was old discussion in this ML [1]_, I am posting it here.
>>
>> .. [1] http://mail.scipy.org/pipermail/ipython-dev/2012-June/thread.html#9427
>>
>>
>> --
>> Takafumi Arakaki
>> https://github.com/tkf
>> _______________________________________________
>> 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 brad.froehle at gmail.com  Thu Oct 25 18:03:08 2012
From: brad.froehle at gmail.com (Bradley M. Froehle)
Date: Thu, 25 Oct 2012 15:03:08 -0700
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <CAPM+gBS0h+Kji_E=2sZQBt__CeF9WeesW=_bTELyHJFmA+j-wQ@mail.gmail.com>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
	<508995CC.2020403@astro.washington.edu>
	<CAPM+gBS0h+Kji_E=2sZQBt__CeF9WeesW=_bTELyHJFmA+j-wQ@mail.gmail.com>
Message-ID: <CAHXv-Mh0V9jsaiXUjWaDTH9n5Cs4Mf=982MAktvnGFA5T84cow@mail.gmail.com>

In Python 3.3 and later this namespace issue will be resolved by
PEP-420: Implicit Namespace Packages
(http://www.python.org/dev/peps/pep-0420/).

On Thu, Oct 25, 2012 at 2:04 PM, Takafumi Arakaki <aka.tkf at gmail.com> wrote:
> On Thu, Oct 25, 2012 at 9:41 PM, Jake Vanderplas
> <vanderplas at astro.washington.edu> wrote:
>> Hi,
>> There's one particularly difficult issue with disparate packages sharing
>> a namespace: multiple install paths cause problems.  For example, if you
>> have a system-wide ipython installation and then install a new extension
>> in a local folder, you can get an import error because the extension
>> does not exist in the first version of the namespace found by python.
>> This was one of the main problems that led to deprecation of the scikits
>> namespace.
>>     Jake
>
> I see.  That's the fundamental problem.  Shared namespace definitely
> not good idea then!
>
> I'd like to have some rule such as ipyext_ prefix though.  But as
> packages may have IPython extension as submodule like sympy does it
> won't be constant anyway.
>
>
>>
>> On 10/25/2012 12:28 PM, Takafumi Arakaki wrote:
>>> Hi,
>>>
>>> I think IPython should provide namespace for IPython extensions, so
>>> that extension authors can upload their extensions to PyPI.  I don't
>>> care about what the actual name is (probably it can be ipythonext,
>>> IPythonContrib, IPython.extensions, or what ever).  It is something
>>> what Sphinx does for "sphinxcontrib.*" namespace.  I can think of many
>>> reasons why it is better for IPython extension users and authors:
>>>
>>> 1. When you want to use external Python module in your extension,
>>>     currently there is no easy way to install it.  If you can upload
>>>     your extension as `IPython.ext.YOUREXT`, it can be easily solved.
>>>
>>> 2. Similarity, you can depends on other IPython extensions.  Currently
>>>     there is no easy way to import other IPython extensions.
>>>
>>> 3. It does not stop people using `%install_ext`.  If your extension is
>>>     just one file, you can just do::
>>>
>>>       %install_ext
>>> https://raw.github.com/YOU/ipython-ext-YOUREXT/master/IPython/ext/YOUREXT.py
>>>
>>> 4. You get IPython extension search engine for free.  People can just do::
>>>
>>>       pip search IPython.ext
>>>
>>>     Try ``pip search sphinxcontrib``, for example.
>>>
>>> 5. It helps people avoiding namespace collision.  Currently there is
>>>     no easy way to make sure if other people not using some name.
>>>     Sure, you can google it, but you can't be 100% sure.
>>>
>>> 6. IPython don't need to create any machinery for this.  All you need
>>>     to do is to put some notice in the documentation for extension
>>>     author.
>>>
>>>
>>> To be fair, I will try to think the reasons why you should not do this:
>>>
>>> 1. It may drive lazy people away from writing it.  "Oh, I need setup.py
>>>     for IPython extension?  No... I won't upload it hen."
>>>
>>>     (But you don't need to upload your extension to pypi, if your
>>>     extension is just one file.)
>>>
>>> 2. It increases the amount and complexity of documentation you need to
>>>     maintain.  You need to explain:  "You can install extensions using
>>>     `pip` (or `easy_install`, if you want).  Oh, you can use
>>>     `%install_ext` magic by the way.  But it cannot be used for some
>>>     packages blah blah blah...".
>>>
>>>
>>> BTW, should I post something like this in ML or github issue?  As
>>> there was old discussion in this ML [1]_, I am posting it here.
>>>
>>> .. [1] http://mail.scipy.org/pipermail/ipython-dev/2012-June/thread.html#9427
>>>
>>>
>>> --
>>> Takafumi Arakaki
>>> https://github.com/tkf
>>> _______________________________________________
>>> 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
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From takowl at gmail.com  Thu Oct 25 18:37:15 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Thu, 25 Oct 2012 23:37:15 +0100
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <CAPM+gBS0h+Kji_E=2sZQBt__CeF9WeesW=_bTELyHJFmA+j-wQ@mail.gmail.com>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
	<508995CC.2020403@astro.washington.edu>
	<CAPM+gBS0h+Kji_E=2sZQBt__CeF9WeesW=_bTELyHJFmA+j-wQ@mail.gmail.com>
Message-ID: <CAOvn4qiAS-G6cCRWfinJj=Ft1dCWKRkwG82wJMEO23kJTe9NLg@mail.gmail.com>

On 25 October 2012 22:04, Takafumi Arakaki <aka.tkf at gmail.com> wrote:
> I'd like to have some rule such as ipyext_ prefix though.  But as
> packages may have IPython extension as submodule like sympy does it
> won't be constant anyway.

I think in many cases it will make sense to ship an IPython extension
as part of some larger package like sympy.

In terms of installation, there's a per-user directory at
$IPYTHONDIR/extensions/ where %install_ext puts files. I think that's
preferable to a package under IPython, because if IPython is installed
systemwide, users wouldn't be able to install modules into it.

Also, in case there's confusion, I should point out that %install_ext
isn't limited to a single .py file - because Python can import a
package from a zip file, you could "%install_ext
http://example.com/myext.zip". I think all the extensions to date are
single modules, but the mechanism allows for more complex extensions
as well.

Thomas


From aka.tkf at gmail.com  Fri Oct 26 04:40:12 2012
From: aka.tkf at gmail.com (Takafumi Arakaki)
Date: Fri, 26 Oct 2012 10:40:12 +0200
Subject: [IPython-dev] Request: IPython.ext namespace
In-Reply-To: <CAOvn4qiAS-G6cCRWfinJj=Ft1dCWKRkwG82wJMEO23kJTe9NLg@mail.gmail.com>
References: <CAPM+gBRCTryypq4Mf52UfNCroBca=wWfGdrH6yHd9bnH0CFxsA@mail.gmail.com>
	<508995CC.2020403@astro.washington.edu>
	<CAPM+gBS0h+Kji_E=2sZQBt__CeF9WeesW=_bTELyHJFmA+j-wQ@mail.gmail.com>
	<CAOvn4qiAS-G6cCRWfinJj=Ft1dCWKRkwG82wJMEO23kJTe9NLg@mail.gmail.com>
Message-ID: <CAPM+gBSTG_=+M8dKTYtWxAjfTvpC+DJscO63h2Rp9c_1qOVMcA@mail.gmail.com>

My main point was that you can't use external modules on pypi in your
extension if you are using %install_ext.  To do that, you need to turn
your extension into a package.  So I wanted to put in some organized
namespace.  But it won't work as Jake pointed out, so I guess
extension author must put in "global" namespace on pypi.

Takafumi


On Fri, Oct 26, 2012 at 12:37 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> On 25 October 2012 22:04, Takafumi Arakaki <aka.tkf at gmail.com> wrote:
>> I'd like to have some rule such as ipyext_ prefix though.  But as
>> packages may have IPython extension as submodule like sympy does it
>> won't be constant anyway.
>
> I think in many cases it will make sense to ship an IPython extension
> as part of some larger package like sympy.
>
> In terms of installation, there's a per-user directory at
> $IPYTHONDIR/extensions/ where %install_ext puts files. I think that's
> preferable to a package under IPython, because if IPython is installed
> systemwide, users wouldn't be able to install modules into it.
>
> Also, in case there's confusion, I should point out that %install_ext
> isn't limited to a single .py file - because Python can import a
> package from a zip file, you could "%install_ext
> http://example.com/myext.zip". I think all the extensions to date are
> single modules, but the mechanism allows for more complex extensions
> as well.
>
> Thomas
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev


From takowl at gmail.com  Fri Oct 26 18:44:41 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Fri, 26 Oct 2012 23:44:41 +0100
Subject: [IPython-dev] IPython FAQ
Message-ID: <CAOvn4qhxmbCN-98S8TYxH9d2kjBMhMChE_KHfmLgHfS+4fne4w@mail.gmail.com>

I updated the FAQ recently, updating or removing a lot of out of date
information.

The answer about readline on macs is still out of date (it refers to
ipythonrc...). Can someone more familiar with the issue write a concise
description of the problem and the solution (easy_install readline, as I
recall)?
http://ipython.org/faq.html#ipython-crashes-under-os-x-when-using-the-arrow-keys

Also, are there other questions that come up often enough to go in the FAQ?
Since the clean-up, there are just four questions left.

Alternatively, should we ditch the FAQ page and aim to improve the relevant
parts of the documentation instead? The fact that old information had
persisted there without prompting puzzled questions suggests that not many
people were using it anyway.

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

From carl.input at gmail.com  Sat Oct 27 09:41:52 2012
From: carl.input at gmail.com (Carl Smith)
Date: Sat, 27 Oct 2012 14:41:52 +0100
Subject: [IPython-dev] IPython FAQ
In-Reply-To: <CAOvn4qhxmbCN-98S8TYxH9d2kjBMhMChE_KHfmLgHfS+4fne4w@mail.gmail.com>
References: <CAOvn4qhxmbCN-98S8TYxH9d2kjBMhMChE_KHfmLgHfS+4fne4w@mail.gmail.com>
Message-ID: <CAP-uhDfDr+8JdxjKNM_E+Lni_j4HMzH1ku-yrEsXyg8yfmQnpA@mail.gmail.com>

I only ever read FAQs as a concise intro, for info on something I'm totally
new to. I expect it to include stuff like...

Does it work on Win, Mac and Linux?

What License does it use?

Do I need to know Java?

That's just my take on FAQs. Other people may think otherwise.
On Oct 26, 2012 11:45 PM, "Thomas Kluyver" <takowl at gmail.com> wrote:

> I updated the FAQ recently, updating or removing a lot of out of date
> information.
>
> The answer about readline on macs is still out of date (it refers to
> ipythonrc...). Can someone more familiar with the issue write a concise
> description of the problem and the solution (easy_install readline, as I
> recall)?
>
> http://ipython.org/faq.html#ipython-crashes-under-os-x-when-using-the-arrow-keys
>
> Also, are there other questions that come up often enough to go in the
> FAQ? Since the clean-up, there are just four questions left.
>
> Alternatively, should we ditch the FAQ page and aim to improve the
> relevant parts of the documentation instead? The fact that old information
> had persisted there without prompting puzzled questions suggests that not
> many people were using it anyway.
>
> Thanks,
> Thomas
>
> _______________________________________________
> 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/20121027/cb613352/attachment.html>

From jason-sage at creativetrax.com  Sat Oct 27 09:48:56 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Sat, 27 Oct 2012 08:48:56 -0500
Subject: [IPython-dev] IPython FAQ
In-Reply-To: <CAP-uhDfDr+8JdxjKNM_E+Lni_j4HMzH1ku-yrEsXyg8yfmQnpA@mail.gmail.com>
References: <CAOvn4qhxmbCN-98S8TYxH9d2kjBMhMChE_KHfmLgHfS+4fne4w@mail.gmail.com>
	<CAP-uhDfDr+8JdxjKNM_E+Lni_j4HMzH1ku-yrEsXyg8yfmQnpA@mail.gmail.com>
Message-ID: <508BE648.2070600@creativetrax.com>

On 10/27/12 8:41 AM, Carl Smith wrote:
> I only ever read FAQs as a concise intro, for info on something I'm
> totally new to. I expect it to include stuff like...
>
> Does it work on Win, Mac and Linux?
>

+1

> What License does it use?
>

+1

> Do I need to know Java?
>

Hmmm...even I know the answer to that one for IPython :).  Well, at 
least I thought I did until I read the first existing FAQ entry, which 
doesn't directly answer the question, "Does it run under Jython?".


So there is a frequency of at least 2 for at least the first two 
questions above. :)

Jason



From nicolas at pettiaux.be  Sun Oct 28 18:03:50 2012
From: nicolas at pettiaux.be (Nicolas Pettiaux)
Date: Sun, 28 Oct 2012 23:03:50 +0100
Subject: [IPython-dev] Call for participation to FOSDEM 2013 (Feb 2 - 3)
Message-ID: <CAEHX+g=1Fh3xqd2V3jneThc9L9ah47WG3qic7O7+9C691CkcZQ@mail.gmail.com>

Dear all,

Fosdem is probably one of the largest free software developpers
conference. It will take place in 2013 on 2 and 3 February in
Brussels, Belgium, as it has for the last 10 years.

Another call for proposal had just been sent. There will be a python
devroom this year.  I think that the main track could also be really
adequate for talks about main python projects like ipython, sympy,
skimage and sklearn, numpy and scipy that have, as far as I have
noted, not been presented here at Fosdem yet (please correct me if I
am wrong)

I think that the leaders of these projects could find interesting to
come one more time (before EuroScipy 2013 at the end of August 2013
and possibly the World libre software meeting from 6 till 11 July
2013) to Brussels to speak before a very large and very diverse
audience (not limited to python enthusiasts)

For the main track, the selected speakers (talks are 50 min, rather
technical) have their travel costs covered.

The candidates have to register on the Fosdem website.

Hope to see you in Brussels (my city) one more time,

Nicolas

---- forwarded mail ---

Want to be part of FOSDEM 2013? Now is your chance!

- Want to be part of the main program?
https://fosdem.org/2013/call_for_main_speakers.html
Our *call for main track speakers* is just extended with a deadline on
December 1.

- Want to man a stand in the hallways?
https://fosdem.org/2013/call_for_stands.html
The *call for stands* has just opened, deadline on 28 November

- Want to talk in a devroom?
https://fosdem.org/2013/
The *devrooms* are announced and are sending out their respective call
for talks in the coming weeks. Watch this mailinglist and our
frontpage for the calls and deadlines

- Want to talk at FOSDEM, without fitting the main tracks or a devroom?
We also have *lightning talks*, short 15 minute talks. The call will
be opened in the coming week; expected deadline around mid December.


Looking forward to your proposals,
The FOSDEM staff

-- 
Nicolas Pettiaux, dr. sc - gsm : 0496 24 55 01 - wiki.rmll.be - wiki.wlsm.be
RMLL - rencontres mondiales du logiciel et de la culture libre ?
Bruxelles, du 6 au 11 juillet 2013
Participer au projet qui a besoin de volontaires - rejoignez la liste
organisation sur http://lc.cx/Zia
WLSM - World libre software and culture meeting in Brussels, July 6 to 12, 2013
Take part to the projet that needs help - join the organisation
mailing list on http://lc.cx/Zia
Lepacte.be - ? promouvoir les libert?s num?riques en Belgique ? - hetpact.be


From aron at ahmadia.net  Mon Oct 29 16:59:15 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Mon, 29 Oct 2012 20:59:15 +0000
Subject: [IPython-dev] Unique cell render div ids
Message-ID: <CAPhiW4j6t5JXZGE-u3d4K_HyA8_z8U0ZC_g=LY-X+Ca4OpkCYQ@mail.gmail.com>

Hi Developers,

While fixing the code for MathJax rendering that I broke earlier this week,
I came across the need to address a specific element in the DOM:

http://docs.mathjax.org/en/latest/typeset.html

I know there has been some work attaching unique ids to cells in the code
in the past, but there didn't seem to be any obvious functionality
currently implemented in Cells for this.  You'll notice that the pull
request I just updated here:
https://github.com/ipython/ipython/pull/2517adds the following code to
textcell.js:

.....**

@@ -39,9 +39,11 @@ var IPython = (function (IPython) {

3939**

             extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},

4040**

             onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)

4141**

         });

 42**

+        this.cell_id = IPython.utils.uuid();

4243**

         // The tabindex=-1 makes this div focusable.

 44**

+        // id is a unique cell_id necessary for updating MathJax intelligently

4345**

         var render_area = $('<div/>').addClass('text_cell_render
border-box-sizing').

44 **

-            addClass('rendered_html').attr('tabindex','-1');

 46**

+            addClass('rendered_html').attr('tabindex','-1').attr('id',this.cell_id);

4547**

         cell.append(input_area).append(render_area);

4648**

         this.element = cell;

4749**

     };


What I'm doing here is first calling into IPython.utils.uuid() to generate
a cell_id (The one from the Cell prototype appears to be broken/unused?),
then adding that as an id to the
rendered html div.

Then later, I can grab this id when I need to update the math:


 82**

+    TextCell.prototype.typeset = function () {

 83**

+        if (window.MathJax){

 84**

+            var cell_math = document.getElementById(this.cell_id);

 85**

+            MathJax.Hub.Queue(["Typeset",MathJax.Hub,cell_math]);

 86**

+        }

 87**

+    };

 88**

+


This really speeds up MathJax rendering considerably, so I think it's worth
doing, but I feel like I'm really nosing into code I don't understand well,
so it would be good to hear feedback if there are opinions on this.

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

From ellisonbg at gmail.com  Mon Oct 29 17:17:54 2012
From: ellisonbg at gmail.com (Brian Granger)
Date: Mon, 29 Oct 2012 14:17:54 -0700
Subject: [IPython-dev] Unique cell render div ids
In-Reply-To: <CAPhiW4j6t5JXZGE-u3d4K_HyA8_z8U0ZC_g=LY-X+Ca4OpkCYQ@mail.gmail.com>
References: <CAPhiW4j6t5JXZGE-u3d4K_HyA8_z8U0ZC_g=LY-X+Ca4OpkCYQ@mail.gmail.com>
Message-ID: <CAH4pYpQA6DyDRqyYeD318aH=54VxSP0wap6BjjfS5DhQzFT=cg@mail.gmail.com>

Aron,

I don't think this is necessary. You should be able to get the unique
element using:

`this.element.get(0);`

The `element` attribute is the jquery object for the cell and `get(0)`
returns the actual underlying DOM element for it.

Cheers,

Brian

On Mon, Oct 29, 2012 at 1:59 PM, Aron Ahmadia <aron at ahmadia.net> wrote:

> Hi Developers,
>
> While fixing the code for MathJax rendering that I broke earlier this
> week, I came across the need to address a specific element in the DOM:
>
> http://docs.mathjax.org/en/latest/typeset.html
>
> I know there has been some work attaching unique ids to cells in the code
> in the past, but there didn't seem to be any obvious functionality
> currently implemented in Cells for this.  You'll notice that the pull
> request I just updated here: https://github.com/ipython/ipython/pull/2517adds the following code to textcell.js:
>
>  .. ...**
>
> @@ -39,9 +39,11 @@ var IPython = (function (IPython) {
>
> 39 39**
>
>              extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},
>
>  40 40**
>
>              onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
>
> 41 41**
>
>          });
>
>   42**
>
> +        this.cell_id = IPython.utils.uuid();
>
> 42 43**
>
>          // The tabindex=-1 makes this div focusable.
>
>   44**
>
> +        // id is a unique cell_id necessary for updating MathJax intelligently
>
> 43 45**
>
>          var render_area = $('<div/>').addClass('text_cell_render border-box-sizing').
>
>  44  **
>
> -            addClass('rendered_html').attr('tabindex','-1');
>
>    46**
>
> +            addClass('rendered_html').attr('tabindex','-1').attr('id',this.cell_id);
>
>  45 47**
>
>          cell.append(input_area).append(render_area);
>
> 46 48**
>
>          this.element = cell;
>
> 47 49**
>
>      };
>
>
> What I'm doing here is first calling into IPython.utils.uuid() to generate
> a cell_id (The one from the Cell prototype appears to be broken/unused?),
> then adding that as an id to the
> rendered html div.
>
> Then later, I can grab this id when I need to update the math:
>
>
>   82**
>
> +    TextCell.prototype.typeset = function () {
>
>   83**
>
> +        if (window.MathJax){
>
>   84**
>
> +            var cell_math = document.getElementById(this.cell_id);
>
>   85**
>
> +            MathJax.Hub.Queue(["Typeset",MathJax.Hub,cell_math]);
>
>   86**
>
> +        }
>
>   87**
>
> +    };
>
>   88**
>
> +
>
>
> This really speeds up MathJax rendering considerably, so I think it's
> worth doing, but I feel like I'm really nosing into code I don't understand
> well, so it would be good to hear feedback if there are opinions on this.
>
> A
>
> _______________________________________________
> 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 --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20121029/9d36675f/attachment.html>

From aron at ahmadia.net  Mon Oct 29 17:19:04 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Mon, 29 Oct 2012 21:19:04 +0000
Subject: [IPython-dev] Unique cell render div ids
In-Reply-To: <CAH4pYpQA6DyDRqyYeD318aH=54VxSP0wap6BjjfS5DhQzFT=cg@mail.gmail.com>
References: <CAPhiW4j6t5JXZGE-u3d4K_HyA8_z8U0ZC_g=LY-X+Ca4OpkCYQ@mail.gmail.com>
	<CAH4pYpQA6DyDRqyYeD318aH=54VxSP0wap6BjjfS5DhQzFT=cg@mail.gmail.com>
Message-ID: <CAPhiW4hx=j3ShpF6d+SGE_h_i+bhQbig+8yh3mFXSCG5X3R5ZA@mail.gmail.com>

Cool!  Testing...

A

On Mon, Oct 29, 2012 at 9:17 PM, Brian Granger <ellisonbg at gmail.com> wrote:

> Aron,
>
> I don't think this is necessary. You should be able to get the unique
> element using:
>
> `this.element.get(0);`
>
> The `element` attribute is the jquery object for the cell and `get(0)`
> returns the actual underlying DOM element for it.
>
> Cheers,
>
> Brian
>
> On Mon, Oct 29, 2012 at 1:59 PM, Aron Ahmadia <aron at ahmadia.net> wrote:
>
>> Hi Developers,
>>
>> While fixing the code for MathJax rendering that I broke earlier this
>> week, I came across the need to address a specific element in the DOM:
>>
>> http://docs.mathjax.org/en/latest/typeset.html
>>
>> I know there has been some work attaching unique ids to cells in the code
>> in the past, but there didn't seem to be any obvious functionality
>> currently implemented in Cells for this.  You'll notice that the pull
>> request I just updated here: https://github.com/ipython/ipython/pull/2517adds the following code to textcell.js:
>>
>>  .. ...**
>>
>> @@ -39,9 +39,11 @@ var IPython = (function (IPython) {
>>
>> 39 39**
>>
>>              extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},
>>
>>  40 40**
>>
>>              onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
>>
>> 41 41**
>>
>>          });
>>
>>   42**
>>
>> +        this.cell_id = IPython.utils.uuid();
>>
>> 42 43**
>>
>>          // The tabindex=-1 makes this div focusable.
>>
>>   44**
>>
>> +        // id is a unique cell_id necessary for updating MathJax intelligently
>>
>> 43 45**
>>
>>          var render_area = $('<div/>').addClass('text_cell_render border-box-sizing').
>>
>>  44  **
>>
>> -            addClass('rendered_html').attr('tabindex','-1');
>>
>>    46**
>>
>> +            addClass('rendered_html').attr('tabindex','-1').attr('id',this.cell_id);
>>
>>  45 47**
>>
>>          cell.append(input_area).append(render_area);
>>
>> 46 48**
>>
>>          this.element = cell;
>>
>> 47 49**
>>
>>      };
>>
>>
>> What I'm doing here is first calling into IPython.utils.uuid() to
>> generate a cell_id (The one from the Cell prototype appears to be
>> broken/unused?), then adding that as an id to the
>> rendered html div.
>>
>> Then later, I can grab this id when I need to update the math:
>>
>>
>>   82**
>>
>> +    TextCell.prototype.typeset = function () {
>>
>>   83**
>>
>> +        if (window.MathJax){
>>
>>   84**
>>
>> +            var cell_math = document.getElementById(this.cell_id);
>>
>>   85**
>>
>> +            MathJax.Hub.Queue(["Typeset",MathJax.Hub,cell_math]);
>>
>>   86**
>>
>> +        }
>>
>>   87**
>>
>> +    };
>>
>>   88**
>>
>> +
>>
>>
>> This really speeds up MathJax rendering considerably, so I think it's
>> worth doing, but I feel like I'm really nosing into code I don't understand
>> well, so it would be good to hear feedback if there are opinions on this.
>>
>> A
>>
>> _______________________________________________
>> 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/20121029/5f3cbca8/attachment.html>

From aron at ahmadia.net  Mon Oct 29 17:49:57 2012
From: aron at ahmadia.net (Aron Ahmadia)
Date: Mon, 29 Oct 2012 21:49:57 +0000
Subject: [IPython-dev] Unique cell render div ids
In-Reply-To: <CAPhiW4hx=j3ShpF6d+SGE_h_i+bhQbig+8yh3mFXSCG5X3R5ZA@mail.gmail.com>
References: <CAPhiW4j6t5JXZGE-u3d4K_HyA8_z8U0ZC_g=LY-X+Ca4OpkCYQ@mail.gmail.com>
	<CAH4pYpQA6DyDRqyYeD318aH=54VxSP0wap6BjjfS5DhQzFT=cg@mail.gmail.com>
	<CAPhiW4hx=j3ShpF6d+SGE_h_i+bhQbig+8yh3mFXSCG5X3R5ZA@mail.gmail.com>
Message-ID: <CAPhiW4juWL45thQR3S7NOsh9bK=VLLEQhvs-AyAFSEyG06MMFg@mail.gmail.com>

That worked, I've undone what I did and am using the direct jQuery call now.

A

On Mon, Oct 29, 2012 at 9:19 PM, Aron Ahmadia <aron at ahmadia.net> wrote:

> Cool!  Testing...
>
> A
>
>
> On Mon, Oct 29, 2012 at 9:17 PM, Brian Granger <ellisonbg at gmail.com>wrote:
>
>> Aron,
>>
>> I don't think this is necessary. You should be able to get the unique
>> element using:
>>
>> `this.element.get(0);`
>>
>> The `element` attribute is the jquery object for the cell and `get(0)`
>> returns the actual underlying DOM element for it.
>>
>> Cheers,
>>
>> Brian
>>
>> On Mon, Oct 29, 2012 at 1:59 PM, Aron Ahmadia <aron at ahmadia.net> wrote:
>>
>>> Hi Developers,
>>>
>>> While fixing the code for MathJax rendering that I broke earlier this
>>> week, I came across the need to address a specific element in the DOM:
>>>
>>> http://docs.mathjax.org/en/latest/typeset.html
>>>
>>> I know there has been some work attaching unique ids to cells in the
>>> code in the past, but there didn't seem to be any obvious functionality
>>> currently implemented in Cells for this.  You'll notice that the pull
>>> request I just updated here:
>>> https://github.com/ipython/ipython/pull/2517 adds the following code to
>>> textcell.js:
>>>
>>>  .. ...**
>>>
>>> @@ -39,9 +39,11 @@ var IPython = (function (IPython) {
>>>
>>> 39 39**
>>>
>>>              extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},
>>>
>>>  40 40**
>>>
>>>              onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
>>>
>>> 41 41**
>>>
>>>          });
>>>
>>>   42**
>>>
>>> +        this.cell_id = IPython.utils.uuid();
>>>
>>> 42 43**
>>>
>>>          // The tabindex=-1 makes this div focusable.
>>>
>>>   44**
>>>
>>> +        // id is a unique cell_id necessary for updating MathJax intelligently
>>>
>>> 43 45**
>>>
>>>          var render_area = $('<div/>').addClass('text_cell_render border-box-sizing').
>>>
>>>  44  **
>>>
>>> -            addClass('rendered_html').attr('tabindex','-1');
>>>
>>>    46**
>>>
>>> +            addClass('rendered_html').attr('tabindex','-1').attr('id',this.cell_id);
>>>
>>>  45 47**
>>>
>>>          cell.append(input_area).append(render_area);
>>>
>>> 46 48**
>>>
>>>          this.element = cell;
>>>
>>> 47 49**
>>>
>>>      };
>>>
>>>
>>> What I'm doing here is first calling into IPython.utils.uuid() to
>>> generate a cell_id (The one from the Cell prototype appears to be
>>> broken/unused?), then adding that as an id to the
>>> rendered html div.
>>>
>>> Then later, I can grab this id when I need to update the math:
>>>
>>>
>>>   82**
>>>
>>> +    TextCell.prototype.typeset = function () {
>>>
>>>   83**
>>>
>>> +        if (window.MathJax){
>>>
>>>   84**
>>>
>>> +            var cell_math = document.getElementById(this.cell_id);
>>>
>>>   85**
>>>
>>> +            MathJax.Hub.Queue(["Typeset",MathJax.Hub,cell_math]);
>>>
>>>   86**
>>>
>>> +        }
>>>
>>>   87**
>>>
>>> +    };
>>>
>>>   88**
>>>
>>> +
>>>
>>>
>>> This really speeds up MathJax rendering considerably, so I think it's
>>> worth doing, but I feel like I'm really nosing into code I don't understand
>>> well, so it would be good to hear feedback if there are opinions on this.
>>>
>>> A
>>>
>>> _______________________________________________
>>> 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/20121029/7bb2046b/attachment.html>

From vivian at vdesmedt.com  Tue Oct 30 12:56:23 2012
From: vivian at vdesmedt.com (Vivian De Smedt)
Date: Tue, 30 Oct 2012 17:56:23 +0100
Subject: [IPython-dev] ipython-0.13.1.py2-win32 install x64 executable
Message-ID: <509006B7.9030909@vdesmedt.com>

Dear IPython developers,

I have the impression that the ipython-0.13.1.py2-win32.exe install a 
x64 version of IPython.

I run w32 machine and after running the executable I got a x64 version 
of IPython which don't run on my PC.

Best regards,
Vivian.


From carl.input at gmail.com  Tue Oct 30 15:48:27 2012
From: carl.input at gmail.com (Carl Smith)
Date: Tue, 30 Oct 2012 19:48:27 +0000
Subject: [IPython-dev] IPython on Android
Message-ID: <CAP-uhDeupuBUQV_nLPgVOo_X-Kq+VLjGHSUAedKEgX1MyX9pPQ@mail.gmail.com>

Hi all

I've been playing with getting IPython Notebook running on Android again,
on top of SL4A. I've got IPython and tornado installed, and I did a quick
test, using the following code.

import tornado
import IPython
print IPython.sys.copyright

When I run this, tornado imports, IPython imports and the copyright is
printed, so it appears we can use IPython as a library on Android, which is
nice, but I'm looking to get the Notebook serving. I'm still hacking away
at it, but had a couple of questions.

I'm sure the docs say the Notebook has no hard dependencies beyond tornado,
but I thought there was one more. Is tornado the only dependency for the
Notebook?

Is there some way to launch the Notebook from within a Python script,
forgetting os.system type stuff?

Note: I've tried running...

import runpy, IPython
runpy.run_module(IPython)

...but got an ImportError with the message:

Loader for module IPython can not handle module <module 'IPython' from
'/mnt/sdcard/com.googlecode.pythonforandroid/extras/python/IPython.__init__.pyc'>"

Thanks

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

From bussonniermatthias at gmail.com  Tue Oct 30 16:01:36 2012
From: bussonniermatthias at gmail.com (Matthias BUSSONNIER)
Date: Tue, 30 Oct 2012 21:01:36 +0100
Subject: [IPython-dev] IPython on Android
In-Reply-To: <CAP-uhDeupuBUQV_nLPgVOo_X-Kq+VLjGHSUAedKEgX1MyX9pPQ@mail.gmail.com>
References: <CAP-uhDeupuBUQV_nLPgVOo_X-Kq+VLjGHSUAedKEgX1MyX9pPQ@mail.gmail.com>
Message-ID: <B9F2D086-CE4E-4CA3-82CE-7A2EC59CD70F@gmail.com>

> 
> I'm sure the docs say the Notebook has no hard dependencies beyond tornado, but I thought there was one more. Is tornado the only dependency for the Notebook?
pyzmq/zmq I guess, At least. 

-- 
Matthias

From carl.input at gmail.com  Tue Oct 30 16:14:14 2012
From: carl.input at gmail.com (Carl Smith)
Date: Tue, 30 Oct 2012 20:14:14 +0000
Subject: [IPython-dev] IPython on Android
In-Reply-To: <B9F2D086-CE4E-4CA3-82CE-7A2EC59CD70F@gmail.com>
References: <CAP-uhDeupuBUQV_nLPgVOo_X-Kq+VLjGHSUAedKEgX1MyX9pPQ@mail.gmail.com>
	<B9F2D086-CE4E-4CA3-82CE-7A2EC59CD70F@gmail.com>
Message-ID: <CAP-uhDc_nOFWpumrbox2Wh=sKa9EhGL=COrE2n96JXFyLoPZHg@mail.gmail.com>

That's what I thought too. I can sort pyzmq, but not zmq itself, so I'm
probably shot. I've written an ACE based editor with a little command line
and stdout that I've been using up 'til now. I might just use that and
embed IPython to make a seperate IPython HTML editor project. I can't see
zmq working with SL4A, and a simple editor and prompt might be handy
elsewhere.
On Oct 30, 2012 8:01 PM, "Matthias BUSSONNIER" <bussonniermatthias at gmail.com>
wrote:

> >
> > I'm sure the docs say the Notebook has no hard dependencies beyond
> tornado, but I thought there was one more. Is tornado the only dependency
> for the Notebook?
> pyzmq/zmq I guess, At least.
>
> --
> Matthias
> _______________________________________________
> 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/20121030/1f6dd8af/attachment.html>

From takowl at gmail.com  Tue Oct 30 20:07:35 2012
From: takowl at gmail.com (Thomas Kluyver)
Date: Wed, 31 Oct 2012 00:07:35 +0000
Subject: [IPython-dev] IPython on Android
In-Reply-To: <CAP-uhDc_nOFWpumrbox2Wh=sKa9EhGL=COrE2n96JXFyLoPZHg@mail.gmail.com>
References: <CAP-uhDeupuBUQV_nLPgVOo_X-Kq+VLjGHSUAedKEgX1MyX9pPQ@mail.gmail.com>
	<B9F2D086-CE4E-4CA3-82CE-7A2EC59CD70F@gmail.com>
	<CAP-uhDc_nOFWpumrbox2Wh=sKa9EhGL=COrE2n96JXFyLoPZHg@mail.gmail.com>
Message-ID: <CAOvn4qgEZubcPkAhs0PP_9EZMfh+zkkPCK5hxnrgcenhy=LZGQ@mail.gmail.com>

On 30 October 2012 20:14, Carl Smith <carl.input at gmail.com> wrote:

> That's what I thought too. I can sort pyzmq, but not zmq itself, so I'm
> probably shot


Is Python4Android running on top of the Java runtime, or is it CPython
ported to Android? If it's possible to get pyzmq, maybe zmq can be compiled
in as a static library?

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

From jason-sage at creativetrax.com  Wed Oct 31 00:44:14 2012
From: jason-sage at creativetrax.com (Jason Grout)
Date: Tue, 30 Oct 2012 23:44:14 -0500
Subject: [IPython-dev] IPython on Android
In-Reply-To: <CAOvn4qgEZubcPkAhs0PP_9EZMfh+zkkPCK5hxnrgcenhy=LZGQ@mail.gmail.com>
References: <CAP-uhDeupuBUQV_nLPgVOo_X-Kq+VLjGHSUAedKEgX1MyX9pPQ@mail.gmail.com>
	<B9F2D086-CE4E-4CA3-82CE-7A2EC59CD70F@gmail.com>
	<CAP-uhDc_nOFWpumrbox2Wh=sKa9EhGL=COrE2n96JXFyLoPZHg@mail.gmail.com>
	<CAOvn4qgEZubcPkAhs0PP_9EZMfh+zkkPCK5hxnrgcenhy=LZGQ@mail.gmail.com>
Message-ID: <5090AC9E.6080900@creativetrax.com>

On 10/30/12 7:07 PM, Thomas Kluyver wrote:
> On 30 October 2012 20:14, Carl Smith <carl.input at gmail.com
> <mailto:carl.input at gmail.com>> wrote:
>
>     That's what I thought too. I can sort pyzmq, but not zmq itself, so
>     I'm probably shot
>
>
> Is Python4Android running on top of the Java runtime, or is it CPython
> ported to Android? If it's possible to get pyzmq, maybe zmq can be
> compiled in as a static library?

Isn't zmq support on android?  http://www.zeromq.org/build:android

See also https://github.com/zeromq/libzmq/pull/393

Thanks,

Jason





From matthewturk at gmail.com  Wed Oct 31 18:26:31 2012
From: matthewturk at gmail.com (Matthew Turk)
Date: Wed, 31 Oct 2012 18:26:31 -0400
Subject: [IPython-dev] Best practices on distributing profiles and shared
	user systems
Message-ID: <CALO3=5ESd75Dxv7GaeV-P3VfvTtw3qcNykBzWsqqG+O97MMDhw@mail.gmail.com>

Hi there,

This is somewhat related to issue 1227 (
https://github.com/ipython/ipython/issues/1227 ).  The project I work
on is mostly used on shared user systems, and we would like to start
transitioning people who use it to using the IPython notebook.  One of
the security issues is that by default the IPython notebook doesn't
have a password.  Min posted this great solution to that:

https://plus.google.com/101790391351065755425/posts/YR6NgGQEi9w

which I think generally is quite nice and useful, but where we're
stumbling is at the items in issue 1227, which are that we'd like to:

1) Not mess with the default IPython notebook command, as anyone who
uses that should know what they're doing
2) Provide an option for a notebook command to get spawned that will
be future compatible, but also provide a random (or
IPython.lib.passwd) password like what Min showed above.  We'd like to
do this so that we can encourage users to have passwords by default.

One idea I'd had was to instantiate an instance of
IPython.frontend.html.notebook.notebookapp with the password option in
the constructor, and then call initialize() and start() on it.  We
could then put this into a routine and mark that as an entry point for
setuptools.  It seems that this still allows profiles to be specified
(which override the existing config, it seems).  Is this recommended,
or is there a better idiom?

And, if this is the recommended path, what's the right way to turn on
pylab with the inline engine?  That option gets passed to IPKernelApp,
not NotebookApp.  What's the best way to "get_config" or to specify
options to pass to IPKernelApp through NotebookApp?

Thanks very much,

Matt