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