From fperez.net at gmail.com Thu Aug 2 19:10:40 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 2 Aug 2012 16:10:40 -0700 Subject: [IPython-dev] [ANN] SIAM Conference on Computational Science & Engineering Submission Deadlines Approaching! In-Reply-To: References: Message-ID: Dear Colleagues, the SIAM CSE13 conference will be held next year in Boston, and this is a conference that is well suited for much of the type of work that goes on in the open source scientific Python development community (and Julia). The conference is co-chaired by Hans-Petter Langtangen, well known around these parts for his several books on scientific computing with Python and for having led a campus-wide adoption of Python as the core computational foundation across the University of Oslo. I am also on the program committee, as well as Randy LeVeque and other Python-friendly folks. An excellent way to participate is to organize a one- or two-part minisymposium on a specific topic with a group of related speakers (instructions at http://www.siam.org/meetings/cse13/submissions.php). Please note that the MS deadline is fast approaching: August 13, 2012. If you have any further questions, don't hesitate to contact me or one of the other organizers if you feel they can address your concerns more directly: "Fernando Perez" "Randy LeVeque" (Reproducible research track) "Hans Petter Langtangen" (Conference co-chair) "Karen Willcox" (conference chair) ---------- Forwarded message ---------- From: Karen Willcox Date: Tue, Jul 24, 2012 at 6:08 AM Subject: [SIAM-CSE] SIAM Conference on Computational Science & Engineering Submission Deadlines Approaching! To: SIAM-CSE at siam.org *SIAM Conference on Computational Science & Engineering (CSE13)* February 25-March 1, 2013 The Westin Boston Waterfront, Boston, Massachusetts, USA**** ** ** SUBMISSION DEADLINES ARE APPROACHING!**** August 13, 2012: Minisymposium proposals September 10, 2012: Abstracts for contributed and minisymposium speakers**** Visit http://www.siam.org/meetings/cse13/submissions.php to submit.**** ** ** Twitter hashtag: #SIAMcse13**** ** ** For more information about the conference, visit * http://www.siam.org/meetings/cse13/* or contact SIAM Conference Department at meetings at siam.org.**** -- Karen Willcox Professor and Associate Department Head Department of Aeronautics and Astronautics, MIT http://acdl.mit.edu/willcox.html _______________________________________________ SIAM-CSE mailing list To post messages to the list please send them to: SIAM-CSE at siam.org http://lists.siam.org/mailman/listinfo/siam-cse -------------- next part -------------- An HTML attachment was scrubbed... URL: From mirage007 at gmail.com Fri Aug 3 10:17:33 2012 From: mirage007 at gmail.com (Ivan Zhang) Date: Fri, 3 Aug 2012 10:17:33 -0400 Subject: [IPython-dev] Autocomplete fails when kernel namespace is updated In-Reply-To: References: Message-ID: <1C6CC4A7-1422-428F-BE17-F960E0DFE795@gmail.com> Hi Bradley, Added Kernel.shell.set_completer_frame() right before start, didn't seem to have worked, still doesn't resolve but shows up when evaluating. Any thoughts? -i On Jul 25, 2012, at 2:07 PM, Ivan Zhang wrote: > Hi, > > I'm running a simple script to feed a custom namespace into a kernel. Everything works fine except autocomplete. > ------------- > Kernel = IPKernelApp.instance() > Kernel.initialize(['python', '--pylab=qt']) > Namespace = {'abcdef': 123} > Namespace.update(Kernel.shell.user_ns) > Kernel.shell.user_ns = Namespace > Kernel.start() > ---------- > > If I connect a console via: > Ipython console --existing > > Tab complete doesn't show for variable abcdef > However when evaluating it, it does show up, it also shows up when using %who > I'm using Ipython .13 and python 2.7 > > Any ideas? > > -Ivan > > > -- > Ivan From dpquigl at davequigley.com Fri Aug 3 12:44:33 2012 From: dpquigl at davequigley.com (David Quigley) Date: Fri, 03 Aug 2012 12:44:33 -0400 Subject: [IPython-dev] Dynamically changing the prompt from within a magic Message-ID: I have been reading the dynamic prompt cookbook entry found at http://wiki.ipython.org/Cookbook/Dynamic_Prompt and it seems from the description that all of that work is done in the profile. I'm trying to figure out if there is a way to do this in a magic. I have a magic called prompt where if nothing is passed in it will print the format string for the prompt otherwise it will take the string save it off and apply it to the config structure passed into the class. I get the config entry during the __init__ call for my plugin class and pass it into the class I'm implementing the magic in. Once there I save it off and then use it later in the magic. The problem I'm having is that 1) unless I set the config.PromptManager.in_template field first it doesn't exist (no default?) and 2) when I do set that value it doesn't actually change the prompt. Is there something that I'm missing here? From takowl at gmail.com Fri Aug 3 13:19:32 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Fri, 3 Aug 2012 18:19:32 +0100 Subject: [IPython-dev] Dynamically changing the prompt from within a magic In-Reply-To: References: Message-ID: On 3 August 2012 17:44, David Quigley wrote: > I get the config entry during the __init__ call for my plugin class and > pass it into the class I'm implementing the magic in. Once there I save > it off and then use it later in the magic. The problem I'm having is > that 1) unless I set the config.PromptManager.in_template field first it > doesn't exist (no default?) and 2) when I do set that value it doesn't > actually change the prompt. > > Is there something that I'm missing here? By the sounds of it, you're changing the config itself. When the application is started up, the config is applied to the relevant objects, and if there's no value in the config, it uses the default values for traits. After that, changing the config will have no effect. You need to change the attribute ip.prompt_manager.in_template directly (where ip is the shell object passed into your load_ipython_extension() function). Hope that helps, Thomas From takowl at gmail.com Fri Aug 3 13:25:16 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Fri, 3 Aug 2012 18:25:16 +0100 Subject: [IPython-dev] Dynamically changing the prompt from within a magic In-Reply-To: References: Message-ID: On 3 August 2012 17:44, David Quigley wrote: > I have a magic > called prompt where if nothing is passed in it will print the format > string for the prompt otherwise it will take the string save it off and > apply it to the config structure passed into the class. Also, I should mention the %config magic function, which can update any configurable variable like this: %config PromptManager.in_template = ">>>" Thomas From brad.froehle at gmail.com Fri Aug 3 13:29:10 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Fri, 3 Aug 2012 10:29:10 -0700 Subject: [IPython-dev] Dynamically changing the prompt from within a magic In-Reply-To: References: Message-ID: Otherwise, the function magic function would look something like: from IPython.core.magic import magics_class, Magics, line_magic from IPython.utils import text @magics_class class PromptMagics(Magics): @line_magic def prompt(self, line): """Get or update the input prompt. Usage: %prompt [in_template] If called without arguments, return the prompt `in_template`. Otherwise set the `in_template` to the given value. """ pm = self.shell.prompt_manager if line: pm.in_template = text.unquote_ends(line) else: return pm.in_template From ondrej.certik at gmail.com Fri Aug 3 14:19:15 2012 From: ondrej.certik at gmail.com (=?UTF-8?B?T25kxZllaiDEjGVydMOtaw==?=) Date: Fri, 3 Aug 2012 11:19:15 -0700 Subject: [IPython-dev] Regression in .embed() Message-ID: Hi, Before this commit: b70ac127e2c3698ea643b15af7d6bb5783ff3e7e is the first bad commit commit b70ac127e2c3698ea643b15af7d6bb5783ff3e7e Author: Bradley M. Froehle Date: Wed Jul 4 15:02:21 2012 -0700 embed(): Default to the future compile flags of the calling frame. This is how things used to work in Qsnake (http://qsnake.com/): $ qsnake ---------------------------------------------------------------------- | Qsnake Version 0.9.12, Release Date: May 7, 2011 | | Type lab() for the GUI. | ---------------------------------------------------------------------- In [1]: 4 / 3. Out[1]: 1.3333333333333333 After that commit, this is how it works now: $ qsnake ---------------------------------------------------------------------- | Qsnake Version 0.9.12, Release Date: May 7, 2011 | | Type lab() for the GUI. | ---------------------------------------------------------------------- In [1]: 4 / 3. TypeError: unsupported operand type(s) for |: 'NoneType' and 'int' Here is how I call .embed(): banner = "..." namespace = {"lab": run_lab} c = IPython.config.loader.Config() c.InteractiveShell.confirm_exit = False IPython.frontend.terminal.embed.InteractiveShellEmbed(config=c, user_ns=namespace, banner1=banner).mainloop(local_ns={}) Would anyone know what the problem is? Many thanks, Ondrej From ondrej.certik at gmail.com Fri Aug 3 14:19:52 2012 From: ondrej.certik at gmail.com (=?UTF-8?B?T25kxZllaiDEjGVydMOtaw==?=) Date: Fri, 3 Aug 2012 11:19:52 -0700 Subject: [IPython-dev] High-quality pdf output (pdflatex) directly from notebooks In-Reply-To: References: Message-ID: Hi, On Mon, Apr 30, 2012 at 1:02 AM, Fernando Perez wrote: > Hi folks, > > This pdf file: > > http://archive.ipython.org/tmp/IntroNumPy.pdf > > was produced without a single manual change, straight from the > notebook in the tarball next to it. We're getting to the point where > we can really produce very nice PDFs straight from the notebook! > > If you want to see this in master, please come along and help with the > code review (it also has the instructions to reproduce it yourself): > > https://github.com/ipython/nbconvert/pull/12 > > I hope we'll have this moved over soon, so we can polish it further > and can make notebooks part of a regular publishing workflow. > > Ouch, my wrists hurt now. But it was a weekend well spent, I think... Would it be possible to somehow add this as a menu item "File -> Download as -> pdf", just like in Google Docs? This is where I first looked. Then I did "Print Preview", then print in Chrome, then I had to click print using system dialog, there I set to print to pdf and finally I got the pdf. So I searched this list and found that you already implemented a solution in the nbconvert project. I just tried it and it works out of the box in Ubuntu. Few comments: 1) Sometimes it might be useful to allow the user to keep the In[1], Out[1] lines, so that it is clear what is going on. 2) The images in my notebook are saved as png, and then they look ugly in pdf, as they are enlarged... Fernando, how did you tell the ipython notebook to save plots from matplotlib as svg? I can save svg image by "savefig('a.svg')", but the actual image in the notebook is still png. Thanks for all the hard work. I am now using the IPython notebook pretty much regularly whenever I need to do some interactive work. Today I just created a pdf (using my long way through the system print dialog above) and sent it to my collaborator. I like that the ipynb format is self-contained, I have them all checked in in my git repository. Eventually, as ipython notebook becomes more widespread, it should be enough to just send the .ipynb, right? Just like people send around Mathematica .nb notebooks. Ondrej From dpquigl at davequigley.com Fri Aug 3 14:20:55 2012 From: dpquigl at davequigley.com (David Quigley) Date: Fri, 03 Aug 2012 14:20:55 -0400 Subject: [IPython-dev] Dynamically changing the prompt from within a magic In-Reply-To: References: Message-ID: On 08/03/2012 13:19, Thomas Kluyver wrote: > On 3 August 2012 17:44, David Quigley > wrote: >> I get the config entry during the __init__ call for my plugin class >> and >> pass it into the class I'm implementing the magic in. Once there I >> save >> it off and then use it later in the magic. The problem I'm having is >> that 1) unless I set the config.PromptManager.in_template field >> first it >> doesn't exist (no default?) and 2) when I do set that value it >> doesn't >> actually change the prompt. >> >> Is there something that I'm missing here? > > By the sounds of it, you're changing the config itself. When the > application is started up, the config is applied to the relevant > objects, and if there's no value in the config, it uses the default > values for traits. After that, changing the config will have no > effect. > > You need to change the attribute ip.prompt_manager.in_template > directly (where ip is the shell object passed into your > load_ipython_extension() function). > > Hope that helps, > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev That makes sense now. I guess the reason the recipe works is because create a new variable to use later and that variable is loaded in as the template so we can manipulate it after the fact instead of manipulating the config entry. Its good to know that whats passed into config on startup should also be in shell instance. From takowl at gmail.com Fri Aug 3 14:25:42 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Fri, 3 Aug 2012 19:25:42 +0100 Subject: [IPython-dev] Regression in .embed() In-Reply-To: References: Message-ID: On 3 August 2012 19:19, Ond?ej ?ert?k wrote: > Would anyone know what the problem is? Do you use "from __future__ import division" (or any other future statements) in the module which embeds IPython? Thomas From takowl at gmail.com Fri Aug 3 14:27:41 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Fri, 3 Aug 2012 19:27:41 +0100 Subject: [IPython-dev] Dynamically changing the prompt from within a magic In-Reply-To: References: Message-ID: On 3 August 2012 19:20, David Quigley wrote: > I guess the reason the recipe works is because > create a new variable to use later and that variable is loaded in as the > template so we can manipulate it after the fact instead of manipulating > the config entry. Yep, that's precisely it. Thomas From bussonniermatthias at gmail.com Fri Aug 3 14:28:56 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Fri, 3 Aug 2012 20:28:56 +0200 Subject: [IPython-dev] High-quality pdf output (pdflatex) directly from notebooks In-Reply-To: References: Message-ID: Le 3 ao?t 2012 ? 20:19, Ond?ej ?ert?k a ?crit : > Hi, > > On Mon, Apr 30, 2012 at 1:02 AM, Fernando Perez wrote: >> Hi folks, >> >> This pdf file: >> >> http://archive.ipython.org/tmp/IntroNumPy.pdf >> >> was produced without a single manual change, straight from the >> notebook in the tarball next to it. We're getting to the point where >> we can really produce very nice PDFs straight from the notebook! >> >> If you want to see this in master, please come along and help with the >> code review (it also has the instructions to reproduce it yourself): >> >> https://github.com/ipython/nbconvert/pull/12 >> >> I hope we'll have this moved over soon, so we can polish it further >> and can make notebooks part of a regular publishing workflow. >> >> Ouch, my wrists hurt now. But it was a weekend well spent, I think... > > > Would it be possible to somehow add this as a menu item "File -> > Download as -> pdf", just like in Google Docs? > This is where I first looked. Then I did "Print Preview", then print > in Chrome, then I had to click print using system dialog, there I set > to print to pdf and finally I got the pdf. It is planed, but we want nbconvert to cleaner before merging. > So I searched this list and found that you already implemented a > solution in the nbconvert project. I just tried it and it works out of > the box in Ubuntu. Few comments: > > 1) Sometimes it might be useful to allow the user to keep the In[1], > Out[1] lines, so that it is clear what is going on. You could open an issue for it on nbconvert repo. > 2) The images in my notebook are saved as png, and then they look ugly > in pdf, as they are enlarged... > Fernando, how did you tell the ipython notebook to save plots from > matplotlib as svg? I can save > svg image by "savefig('a.svg')", but the actual image in the notebook > is still png. %config InlineBackend.figure_format = 'svg' at run time ? or in your profile?. > Thanks for all the hard work. I am now using the IPython notebook > pretty much regularly whenever I need to do some interactive work. > Today I just created a pdf (using my long way through the system print > dialog above) and sent it to my collaborator. I like that the ipynb > format is self-contained, I have them all checked in in my git > repository. Eventually, as ipython notebook becomes more widespread, > it should be enough to just send the .ipynb, right? Just like people > send around Mathematica .nb notebooks. We hope so :-) -- Matthias > > Ondrej > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From dpquigl at davequigley.com Fri Aug 3 14:41:49 2012 From: dpquigl at davequigley.com (David Quigley) Date: Fri, 03 Aug 2012 14:41:49 -0400 Subject: [IPython-dev] Dynamically changing the prompt from within a magic In-Reply-To: References: Message-ID: <362cf1d3e969d799d9c81063930b22c3@countercultured.net> On 08/03/2012 13:29, Bradley M. Froehle wrote: > Otherwise, the function magic function would look something like: > > from IPython.core.magic import magics_class, Magics, line_magic > from IPython.utils import text > @magics_class > class PromptMagics(Magics): > > @line_magic > def prompt(self, line): > """Get or update the input prompt. > > Usage: > %prompt [in_template] > > If called without arguments, return the prompt `in_template`. > Otherwise set the `in_template` to the given value. > """ > pm = self.shell.prompt_manager > if line: > pm.in_template = text.unquote_ends(line) > else: > return pm.in_template > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev Thank you for the magic implementation. It was very helpful. From brad.froehle at gmail.com Fri Aug 3 17:29:59 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Fri, 3 Aug 2012 14:29:59 -0700 Subject: [IPython-dev] Regression in .embed() In-Reply-To: References: Message-ID: Yes, you are correct that it is a regression. See https://github.com/ipython/ipython/pull/2245 for a proposed resolution. -Brad From ondrej.certik at gmail.com Fri Aug 3 19:40:20 2012 From: ondrej.certik at gmail.com (=?UTF-8?B?T25kxZllaiDEjGVydMOtaw==?=) Date: Fri, 3 Aug 2012 16:40:20 -0700 Subject: [IPython-dev] Regression in .embed() In-Reply-To: References: Message-ID: On Fri, Aug 3, 2012 at 11:25 AM, Thomas Kluyver wrote: > On 3 August 2012 19:19, Ond?ej ?ert?k wrote: >> Would anyone know what the problem is? > > Do you use "from __future__ import division" (or any other future > statements) in the module which embeds IPython? I just checked and I don't use the __future__ statement at all. However, Bradley's patch does fix it. Ondrej From takowl at gmail.com Fri Aug 3 20:18:10 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 4 Aug 2012 01:18:10 +0100 Subject: [IPython-dev] Change to testing Message-ID: A quick heads up: Running iptest from master no longer runs the whole test suite - it excludes IPython.parallel, which accounted for a disproportionate amount of the test time. You can run "iptest --all" to include those tests as well. The same applies to the test_pr script - if you have reason to think a pull request might affect IPython.parallel, you can add the --all flag to the end of the command: python tools/test_pr.py -p 3456 --all I've configured our main ShiningPanda job to keep running all the tests every night for now, but if we need to free up more build time, we can change that. Thanks, Thomas From fperez.net at gmail.com Sat Aug 4 00:53:50 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 3 Aug 2012 21:53:50 -0700 Subject: [IPython-dev] Change to testing In-Reply-To: References: Message-ID: Hi Thomas, On Fri, Aug 3, 2012 at 5:18 PM, Thomas Kluyver wrote: > Running iptest from master no longer runs the whole test suite - it > excludes IPython.parallel, which accounted for a disproportionate > amount of the test time. You can run "iptest --all" to include those > tests as well. > > The same applies to the test_pr script - if you have reason to think a > pull request might affect IPython.parallel, you can add the --all flag > to the end of the command: > > python tools/test_pr.py -p 3456 --all This is great, thanks a lot! But I think it would be a good idea, before we forget, to add a brief note about this to docs/source/development/testing.txt Would you mind doing that? No need for a PR on this, just go ahead and push with this info (and mentioning test_pr there is probably a good idea, so our dev guide grows). If you don't have the time/bandwidth right now, then let's leave an open issue on it... Cheers, f From takowl at gmail.com Sat Aug 4 06:20:06 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 4 Aug 2012 11:20:06 +0100 Subject: [IPython-dev] Change to testing In-Reply-To: References: Message-ID: On 4 August 2012 05:53, Fernando Perez wrote: > This is great, thanks a lot! But I think it would be a good idea, > before we forget, to add a brief note about this to > > docs/source/development/testing.txt Good point - I've done that. Thomas From fperez.net at gmail.com Sat Aug 4 17:01:50 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sat, 4 Aug 2012 14:01:50 -0700 Subject: [IPython-dev] Change to testing In-Reply-To: References: Message-ID: On Sat, Aug 4, 2012 at 3:20 AM, Thomas Kluyver wrote: > Good point - I've done that. Much appreciated, thanks. From fperez.net at gmail.com Mon Aug 6 19:36:52 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 6 Aug 2012 16:36:52 -0700 Subject: [IPython-dev] Fwd: [matplotlib-devel] Client-side plotting In-Reply-To: <50203E45.4080105@stsci.edu> References: <50203E45.4080105@stsci.edu> Message-ID: Hi all, just wanted to ping you on this new blog post by Michael Droetboom; he's starting to seriously think about interactive plotting in the browser, so in many ways this does concern us. Probably best for Michael to keep feedback on the mpl-dev list, I just wanted to bring it to people's attention here. Cheers, f ---------- Forwarded message ---------- From: Michael Droettboom Date: Mon, Aug 6, 2012 at 2:59 PM Subject: [matplotlib-devel] Client-side plotting To: "matplotlib-devel at lists.sourceforge.net" For anyone who's interested, I've started blogging about my initial thinking on client-side plotting in the web browser with matplotlib here: http://mdboom.github.com/ (I hope to get this aggregated into planet.scipy.org soon, too). Mike ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel From carl.input at gmail.com Wed Aug 8 20:05:16 2012 From: carl.input at gmail.com (Carl Smith) Date: Thu, 9 Aug 2012 01:05:16 +0100 Subject: [IPython-dev] Static View for the Notebook Message-ID: Hi all I was writing a blog post in the Notebook yesterday and wanted to post a bit of feedback. I was writing the English in Markdown cells and writing Python examples in code cells, as you'd expect. Once I was happy with the code example, I would indent the whole cell one extra level and convert it to a markdown cell, so it could be merged into the markdown cells around it. This was a bit clumsy, but worked ok. I was thinking it might be possible to have a way of automating something like this. Imagine you press a button and every code cell in the notebook would indent and convert to a markdown cell, then every cell would be merged into one big markdown super cell and rendered. This should be a view, it shouldn't change the notebook content itself, so users could toggle in and out of the view. It'd be really nice if this feature could also display this super cell as markdown and as plain html, so it could be copied into forums and web pages easily. It was just an idea I thought I'd share. I haven't any code for it or anything, but wondered if it made sense to others. Cheers Carl From carl.input at gmail.com Wed Aug 8 20:08:00 2012 From: carl.input at gmail.com (Carl Smith) Date: Thu, 9 Aug 2012 01:08:00 +0100 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: On a relevant note: Would it be possible to use absolute urls for everything in the notebook, and then host a copy of the external resources on some server, so it detaches things a bit? From carl.input at gmail.com Wed Aug 8 20:10:55 2012 From: carl.input at gmail.com (Carl Smith) Date: Thu, 9 Aug 2012 01:10:55 +0100 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: > On a relevant note: Would it be possible to use absolute urls for > everything in the notebook, and then host a copy of the external > resources on some server, so it detaches things a bit? I can answer that one myself. Not really, without every install depending on non-local resources too. Sorry, just thinking out loud a bit there. From benjaminrk at gmail.com Wed Aug 8 20:10:52 2012 From: benjaminrk at gmail.com (MinRK) Date: Wed, 8 Aug 2012 17:10:52 -0700 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: This is one of the use cases nbconvert is meant to cover, by the time it's done. The whole print-view, etc. we have now will be discarded in favor of a static HTML render via nbconvert. Once nbconvert is in, then it would be trivial to also provide the markdown / PDF renders in the same fashion. -MinRK On Wed, Aug 8, 2012 at 5:05 PM, Carl Smith wrote: > Hi all > > I was writing a blog post in the Notebook yesterday and wanted to post > a bit of feedback. > > I was writing the English in Markdown cells and writing Python > examples in code cells, as you'd expect. Once I was happy with the > code example, I would indent the whole cell one extra level and > convert it to a markdown cell, so it could be merged into the markdown > cells around it. This was a bit clumsy, but worked ok. > > I was thinking it might be possible to have a way of automating > something like this. Imagine you press a button and every code cell in > the notebook would indent and convert to a markdown cell, then every > cell would be merged into one big markdown super cell and rendered. > > This should be a view, it shouldn't change the notebook content > itself, so users could toggle in and out of the view. > > It'd be really nice if this feature could also display this super cell > as markdown and as plain html, so it could be copied into forums and > web pages easily. > > It was just an idea I thought I'd share. I haven't any code for it or > anything, but wondered if it made sense to others. > > Cheers > > Carl > _______________________________________________ > 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: From carl.input at gmail.com Wed Aug 8 20:13:53 2012 From: carl.input at gmail.com (Carl Smith) Date: Thu, 9 Aug 2012 01:13:53 +0100 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: Ah, no worries. I was thinking that'd be trickier when using IPython as a web app, but I guess that's a separate issue. How to convert to html verses how to download a file through the notebook, which I never could get working without running another mini server on the same machine. On 9 August 2012 01:10, MinRK wrote: > This is one of the use cases nbconvert is meant to cover, by the time it's > done. > > The whole print-view, etc. we have now will be discarded in favor of a > static HTML render via nbconvert. > Once nbconvert is in, then it would be trivial to also provide the markdown > / PDF renders in the same fashion. > > -MinRK > > On Wed, Aug 8, 2012 at 5:05 PM, Carl Smith wrote: >> >> Hi all >> >> I was writing a blog post in the Notebook yesterday and wanted to post >> a bit of feedback. >> >> I was writing the English in Markdown cells and writing Python >> examples in code cells, as you'd expect. Once I was happy with the >> code example, I would indent the whole cell one extra level and >> convert it to a markdown cell, so it could be merged into the markdown >> cells around it. This was a bit clumsy, but worked ok. >> >> I was thinking it might be possible to have a way of automating >> something like this. Imagine you press a button and every code cell in >> the notebook would indent and convert to a markdown cell, then every >> cell would be merged into one big markdown super cell and rendered. >> >> This should be a view, it shouldn't change the notebook content >> itself, so users could toggle in and out of the view. >> >> It'd be really nice if this feature could also display this super cell >> as markdown and as plain html, so it could be copied into forums and >> web pages easily. >> >> It was just an idea I thought I'd share. I haven't any code for it or >> anything, but wondered if it made sense to others. >> >> Cheers >> >> Carl >> _______________________________________________ >> 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 benjaminrk at gmail.com Wed Aug 8 20:37:32 2012 From: benjaminrk at gmail.com (MinRK) Date: Wed, 8 Aug 2012 17:37:32 -0700 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: On Wed, Aug 8, 2012 at 5:13 PM, Carl Smith wrote: > Ah, no worries. I was thinking that'd be trickier when using IPython > as a web app, but I guess that's a separate issue. How to convert to > html verses how to download a file through the notebook, which I never > could get working without running another mini server on the same > machine. > When nbconvert is merged into IPython proper, then handlers will be added for nbconvert renderers, which should take care of all of that. The result would be akin to running `!nbconvert -f html `, and then visiting files/notebook.html. In fact, here's a notebook that checks out nbconvert, and renders and serves an HTML export of itself: https://gist.github.com/3299958 And the static HTML export you will see: http://nbviewer.ipython.org/3299958 -MinRK > > On 9 August 2012 01:10, MinRK wrote: > > This is one of the use cases nbconvert is meant to cover, by the time > it's > > done. > > > > The whole print-view, etc. we have now will be discarded in favor of a > > static HTML render via nbconvert. > > Once nbconvert is in, then it would be trivial to also provide the > markdown > > / PDF renders in the same fashion. > > > > -MinRK > > > > On Wed, Aug 8, 2012 at 5:05 PM, Carl Smith wrote: > >> > >> Hi all > >> > >> I was writing a blog post in the Notebook yesterday and wanted to post > >> a bit of feedback. > >> > >> I was writing the English in Markdown cells and writing Python > >> examples in code cells, as you'd expect. Once I was happy with the > >> code example, I would indent the whole cell one extra level and > >> convert it to a markdown cell, so it could be merged into the markdown > >> cells around it. This was a bit clumsy, but worked ok. > >> > >> I was thinking it might be possible to have a way of automating > >> something like this. Imagine you press a button and every code cell in > >> the notebook would indent and convert to a markdown cell, then every > >> cell would be merged into one big markdown super cell and rendered. > >> > >> This should be a view, it shouldn't change the notebook content > >> itself, so users could toggle in and out of the view. > >> > >> It'd be really nice if this feature could also display this super cell > >> as markdown and as plain html, so it could be copied into forums and > >> web pages easily. > >> > >> It was just an idea I thought I'd share. I haven't any code for it or > >> anything, but wondered if it made sense to others. > >> > >> Cheers > >> > >> Carl > >> _______________________________________________ > >> 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: From jason-sage at creativetrax.com Thu Aug 9 00:52:30 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Wed, 08 Aug 2012 21:52:30 -0700 Subject: [IPython-dev] IBM DeveloperWorks article on IPython Message-ID: <5023420E.8080208@creativetrax.com> There's a nice article on IBM DeveloperWorks on IPython and Sage, including some screenshots of the QT console and the IPython notebook: http://www.ibm.com/developerworks/linux/library/l-science-compute/index.html Thanks to Harald Schilly for posting about this to the sage-marketing list. Thanks, Jason From carl.input at gmail.com Thu Aug 9 05:24:05 2012 From: carl.input at gmail.com (Carl Smith) Date: Thu, 9 Aug 2012 10:24:05 +0100 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: > http://nbviewer.ipython.org/3299958 This is looking really good. I've got a few ideas for doing some kind of notebook tracker as a web service, but didn't have a way to allow users to view the notebook before downloading it proper. This will hopefully make it a weekends work. Thanks again to every one working on IPython. It's actually, literally awesome. From dave.hirschfeld at gmail.com Thu Aug 9 07:02:58 2012 From: dave.hirschfeld at gmail.com (Dave Hirschfeld) Date: Thu, 9 Aug 2012 11:02:58 +0000 (UTC) Subject: [IPython-dev] Static View for the Notebook References: Message-ID: MinRK gmail.com> writes: > > > When nbconvert is merged into IPython proper, then handlers will be added for nbconvert renderers, which should take care of all of that. > > The result would be akin to running `!nbconvert -f html `, and then visiting files/notebook.html. > > > -MinRK > ? Is this supposed to work on windows? I can't get it to work on my Win32 Python 2.7.3. I get the following error: C:\dev\code\nbconvert>nbconvert.py -f html staticHTML.ipynb Traceback (most recent call last): File "C:\dev\code\nbconvert\nbconvert.py", line 1439, in main(infile=args.infile[0], format=args.format) File "C:\dev\code\nbconvert\nbconvert.py", line 1414, in main htmlfname = converter.render() File "C:\dev\code\nbconvert\nbconvert.py", line 287, in render self.output = self.convert() File "C:\dev\code\nbconvert\nbconvert.py", line 277, in convert converted_cells.append('\n'.join(conv_fn(cell))) File "C:\dev\code\nbconvert\nbconvert.py", line 727, in wrapped rendered = f(self, cell) File "C:\dev\code\nbconvert\nbconvert.py", line 844, in render_markdown p = subprocess.Popen(['markdown'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) File "C:\dev\bin\Python27\lib\subprocess.py", line 679, in __init__ errread, errwrite) File "C:\dev\bin\Python27\lib\subprocess.py", line 893, in _execute_child startupinfo) WindowsError: [Error 2] The system cannot find the file specified After installing ActivePerl, putting Markdown.pl in the nbconvert directory and changing line 844 to p = subprocess.Popen(['markdown.pl'], ... I then get a different error: Traceback (most recent call last): File "C:\dev\code\nbconvert\nbconvert.py", line 1439, in main(infile=args.infile[0], format=args.format) File "C:\dev\code\nbconvert\nbconvert.py", line 1414, in main htmlfname = converter.render() File "C:\dev\code\nbconvert\nbconvert.py", line 287, in render self.output = self.convert() File "C:\dev\code\nbconvert\nbconvert.py", line 277, in convert converted_cells.append('\n'.join(conv_fn(cell))) File "C:\dev\code\nbconvert\nbconvert.py", line 727, in wrapped rendered = f(self, cell) File "C:\dev\code\nbconvert\nbconvert.py", line 844, in render_markdown p = subprocess.Popen(['markdown.pl'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) File "C:\dev\bin\Python27\lib\subprocess.py", line 679, in __init__ errread, errwrite) File "C:\dev\bin\Python27\lib\subprocess.py", line 893, in _execute_child startupinfo) WindowsError: [Error 193] %1 is not a valid Win32 application -Dave From bussonniermatthias at gmail.com Thu Aug 9 07:08:00 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Thu, 9 Aug 2012 13:08:00 +0200 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: <298DC0AC-0637-4A79-B282-82231B0BDCFC@gmail.com> Le 9 ao?t 2012 ? 11:24, Carl Smith a ?crit : >> http://nbviewer.ipython.org/3299958 You can find the repo on github under python organization if you wan't to hack it. it is pretty strait forward to host on heroku for free -- Matthias > > This is looking really good. I've got a few ideas for doing some kind > of notebook tracker as a web service, but didn't have a way to allow > users to view the notebook before downloading it proper. This will > hopefully make it a weekends work. > > Thanks again to every one working on IPython. It's actually, literally awesome. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From bussonniermatthias at gmail.com Thu Aug 9 07:12:48 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Thu, 9 Aug 2012 13:12:48 +0200 Subject: [IPython-dev] Static View for the Notebook In-Reply-To: References: Message-ID: Le 9 ao?t 2012 ? 13:02, Dave Hirschfeld a ?crit : > MinRK gmail.com> writes: > >> >> >> When nbconvert is merged into IPython proper, then handlers will be added for > nbconvert renderers, which should take care of all of that. >> >> The result would be akin to running `!nbconvert -f html `, and > then visiting files/notebook.html. >> >> >> -MinRK >> > > Is this supposed to work on windows? I can't get it to work on my Win32 Python > 2.7.3. I get the following error: > > > C:\dev\code\nbconvert>nbconvert.py -f html staticHTML.ipynb > Traceback (most recent call last): > File "C:\dev\code\nbconvert\nbconvert.py", line 1439, in > main(infile=args.infile[0], format=args.format) > File "C:\dev\code\nbconvert\nbconvert.py", line 1414, in main > htmlfname = converter.render() > File "C:\dev\code\nbconvert\nbconvert.py", line 287, in render > self.output = self.convert() > File "C:\dev\code\nbconvert\nbconvert.py", line 277, in convert > converted_cells.append('\n'.join(conv_fn(cell))) > File "C:\dev\code\nbconvert\nbconvert.py", line 727, in wrapped > rendered = f(self, cell) > File "C:\dev\code\nbconvert\nbconvert.py", line 844, in render_markdown > p = subprocess.Popen(['markdown'], stdin=subprocess.PIPE, > stdout=subprocess.PIPE) > File "C:\dev\bin\Python27\lib\subprocess.py", line 679, in __init__ > errread, errwrite) > File "C:\dev\bin\Python27\lib\subprocess.py", line 893, in _execute_child > startupinfo) > WindowsError: [Error 2] The system cannot find the file specified > > After installing ActivePerl, putting Markdown.pl in the nbconvert directory > and changing line 844 to > > p = subprocess.Popen(['markdown.pl'], ... > > I then get a different error: Instead of using popen you can use the markdown python package that is pip installable. I did it for nbviewer that yon can find on github and need to bring the changes to nbconvert. notebook convert still need some work. import markdown ?. 843 @DocInherit$ 844 @text_cell$ 845 def render_markdown(self, cell):$ 846 return [markdown.markdown(cell.source)] $ just need to replace i everywhere if someone have time to do it and test?. -- Matthias > > Traceback (most recent call last): > File "C:\dev\code\nbconvert\nbconvert.py", line 1439, in > main(infile=args.infile[0], format=args.format) > File "C:\dev\code\nbconvert\nbconvert.py", line 1414, in main > htmlfname = converter.render() > File "C:\dev\code\nbconvert\nbconvert.py", line 287, in render > self.output = self.convert() > File "C:\dev\code\nbconvert\nbconvert.py", line 277, in convert > converted_cells.append('\n'.join(conv_fn(cell))) > File "C:\dev\code\nbconvert\nbconvert.py", line 727, in wrapped > rendered = f(self, cell) > File "C:\dev\code\nbconvert\nbconvert.py", line 844, in render_markdown > p = subprocess.Popen(['markdown.pl'], stdin=subprocess.PIPE, > stdout=subprocess.PIPE) > File "C:\dev\bin\Python27\lib\subprocess.py", line 679, in __init__ > errread, errwrite) > File "C:\dev\bin\Python27\lib\subprocess.py", line 893, in _execute_child > startupinfo) > WindowsError: [Error 193] %1 is not a valid Win32 application > > > -Dave > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From dave.hirschfeld at gmail.com Thu Aug 9 07:22:28 2012 From: dave.hirschfeld at gmail.com (Dave Hirschfeld) Date: Thu, 9 Aug 2012 11:22:28 +0000 (UTC) Subject: [IPython-dev] Static View for the Notebook References: Message-ID: Matthias BUSSONNIER gmail.com> writes: > > Instead of using popen you can use the markdown python package that is pip installable. > I did it for nbviewer that yon can find on github and need to bring the changes to nbconvert. > notebook convert still need some work. > > import markdown > ?. > 843 @DocInherit$ > 844 @text_cell$ > 845 def render_markdown(self, cell):$ > 846 return [markdown.markdown(cell.source)] $ > > just need to replace i everywhere > > if someone have time to do it and test?. Cheers for the hint, I can confirm that your fix Works For Me. C:\dev\code\nbconvert>nbconvert.py -f html staticHTML.ipynb C:\dev\code\nbconvert>ls *.html staticHTML.html It seems that there is another call to markdown on L1314, however this doesn't appear to be called in this particular case. https://github.com/ipython/nbconvert/blob/master/nbconvert.py#L1314 -Dave From fperez.net at gmail.com Fri Aug 10 15:26:26 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 12:26:26 -0700 Subject: [IPython-dev] Our github workflow tools slowly propagating: the success of test_pr and friends Message-ID: Hi folks, thanks to all the work we've been doing over the last couple of years to streamline our github worfklow, other projects (in this case networkx) are starting to adapt and benefit from these same tools: https://github.com/networkx/networkx/pull/752 Eventually they may be cleaned up and generalized, but for now I think the copy-and-adapt approach is OK as it gets each project moving with something that works specifically for their needs. Thanks to everyone who over time has pitched in to help these tools improve... Cheers, f From matthew.brett at gmail.com Fri Aug 10 18:00:18 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Fri, 10 Aug 2012 17:00:18 -0500 Subject: [IPython-dev] Minus signs in argparse line magics Message-ID: Hi, I ran into this when using the R magics, but it's obviously generic to argparse magics: In [1]: %load_ext rmagic In [6]: %R c(1, -1) UsageError: unrecognized arguments: -1) The problem is that argparse is looking for '-' options throughout the input string, not just preceding the main line text. Thus it's identifying '-1' as an option and barfing. Obviously there's a variety of workarounds: In [7]: %R c(1,-1) # no space before '-' Out[7]: array([ 1., -1.]) In [8]: %R -- c(1, -1) # '--' signalling end of options to argparse Out[8]: array([ 1., -1.]) but the error is rather confusing and it's a little annoying having to consider argument parsing in your line text. I couldn't think immediately of a clean way to fix it that wouldn't involve hacking on argparse. Is there a good way? Thanks a lot, Matthew From fperez.net at gmail.com Fri Aug 10 18:23:33 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 15:23:33 -0700 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 3:00 PM, Matthew Brett wrote: > I couldn't think > immediately of a clean way to fix it that wouldn't involve hacking on > argparse. Is there a good way? Mmmh, me neither. I don't know if disabling short options and allowing only -- ones would help, or if its string-walking algorithm is independent of the declared options... A bit stumped right now, I admit... f From benjaminrk at gmail.com Fri Aug 10 18:39:22 2012 From: benjaminrk at gmail.com (MinRK) Date: Fri, 10 Aug 2012 15:39:22 -0700 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: You can use '--' to halt argument parsing in argparse, so you should be able to do: %R -- c(1, -1) -MinRK On Fri, Aug 10, 2012 at 3:23 PM, Fernando Perez wrote: > On Fri, Aug 10, 2012 at 3:00 PM, Matthew Brett > wrote: > > I couldn't think > > immediately of a clean way to fix it that wouldn't involve hacking on > > argparse. Is there a good way? > > Mmmh, me neither. I don't know if disabling short options and > allowing only -- ones would help, or if its string-walking algorithm > is independent of the declared options... > > A bit stumped right now, I admit... > > 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: From fperez.net at gmail.com Fri Aug 10 18:44:32 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 15:44:32 -0700 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 3:39 PM, MinRK wrote: > You can use '--' to halt argument parsing in argparse, so you should be able > to do: > > %R -- c(1, -1) Yes, that was mentioned in Matthew's reply; we were wondering about ways of getting that effect without the explicit --. Given how loosely specified the distinction between what can be an argument and what can't is, I don't see a magical solution here. From matthew.brett at gmail.com Fri Aug 10 18:49:24 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Fri, 10 Aug 2012 17:49:24 -0500 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: Hi, On Fri, Aug 10, 2012 at 5:39 PM, MinRK wrote: > You can use '--' to halt argument parsing in argparse, so you should be able > to do: > > %R -- c(1, -1) Yes, indeed - that was in my original mail as a workaround, but understanding why that's a good idea requires understanding that the whole line is being option parsed, and so it's a bit heavy on the eye, and I found I was preferring either to use cell magics or adjust the whitespace in the line to avoid the option parsing... I think most people would expect the options to follow the magic command and be clustered together, but would not expect to consider options at any position in the input string. I don't think there's a way to make argparse do that by default... Cheers, Matthew From benjaminrk at gmail.com Fri Aug 10 19:04:37 2012 From: benjaminrk at gmail.com (MinRK) Date: Fri, 10 Aug 2012 16:04:37 -0700 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 3:49 PM, Matthew Brett wrote: > Hi, > > On Fri, Aug 10, 2012 at 5:39 PM, MinRK wrote: > > You can use '--' to halt argument parsing in argparse, so you should be > able > > to do: > > > > %R -- c(1, -1) > > Yes, indeed - that was in my original mail as a workaround, but > understanding why that's a good idea requires understanding that the > whole line is being option parsed, and so it's a bit heavy on the eye, > and I found I was preferring either to use cell magics or adjust the > whitespace in the line to avoid the option parsing... > > I think most people would expect the options to follow the magic > command and be clustered together, but would not expect to consider > options at any position in the input string. I don't think there's a > way to make argparse do that by default... > I don't think that's possible. This is actually why I have tried to avoid having options in line magics that also take a blob. For instance, %px takes none of the options %%px can take, because I have been burned so many times by the magics that take python code, such as %timeit getting parsed inappropriately. The only reasonable approaches I see: 1. line magics that take blobs (e.g. Python code, or R code) should not take any options (or at least minimal ones that can be parsed simply and manually from the front or back of the argstring) 2. *always* use an explicit delimiter for line magics that separates flags from the blob. 2. is really identical to cell magics, where the delimiter is a newline. With the advent of cell magics, I am inclined to remove as many options as we can from line magics that take code. > > Cheers, > > Matthew > _______________________________________________ > 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: From takowl at gmail.com Fri Aug 10 19:09:42 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 11 Aug 2012 00:09:42 +0100 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: However, in the case of rmagic: - It's not much use without options to specify input & output variables - Some uses can't easily be replaced by cell magics, for instance if you want to call it in a (Python) loop. From matthew.brett at gmail.com Fri Aug 10 19:21:09 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Fri, 10 Aug 2012 18:21:09 -0500 Subject: [IPython-dev] mathjax not rendering in notebook Message-ID: Hi, I've run into some puzzling trouble using mathjax in the notebook. Here's some mathjax markdown text: $$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}_i \cr y_{3} \end{array} $$ In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by mathjax. The following make it render correctly: 1) y_3 instead of y_{3} 2) removing _i of \mathtt{t}_i The same text in an html page works OK: $$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}_i \cr y_{3} \end{array} $$ I also found that I could not use `\\` in the notebook markdown for newline and had to use `\cr`. Again, this was fine in the raw html mathjax. Is there anything I can do to debug? Cheers, Matthew From ellisonbg at gmail.com Fri Aug 10 20:40:07 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Fri, 10 Aug 2012 17:40:07 -0700 Subject: [IPython-dev] AttributeError when running sphinx docs Message-ID: When I run "make html" to build the sphinx docs, I see a long sequence of AttributeErrors - all on IPython attributes that clearly exist. All of these are happening in the autodoc sphinx extension. I have a vague recollection of seeing this before but have no idea what I did to get it to run. Has anyone seen this or know what is going on? Cheers, Brian -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From fperez.net at gmail.com Fri Aug 10 22:09:55 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 19:09:55 -0700 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 5:40 PM, Brian Granger wrote: > When I run "make html" to build the sphinx docs, I see a long sequence > of AttributeErrors - all on IPython attributes that clearly exist. > All of these are happening in the autodoc sphinx extension. I have a > vague recollection of seeing this before but have no idea what I did > to get it to run. Has anyone seen this or know what is going on? Do they stop the build for you? Because I do see all of those, but they go by and eventually the build does complete. Now, we are in *major* need of a massive doc cleanup project, that should: - begin by fixing all those errors and warnings of the build process so that in the future, we can actually pay attention to new warnings/errors. Now there's so much noise in the build that, unless it flat out fails, we simply ignore all the noise. - then, start organizing the docs in a more friendly and useful way that they are today. I think basically our docs should have an intro layout similar to that of StarCluster's fantastic documentation (http://web.mit.edu/star/cluster), and there should at least be the following main areas: - Introductory overview, meant to take ~15 minutes of reading and to give people a useful understanding of the available tools without overwhelming them with detail. Lots of screenshots and examples, little prose. - IPython for interactive use. We have a lot of this material, but it's a mix of high and low-level detail that makes it hard to read. - IPython for parallel computing. - Using IPython as a library for your own applications: the "IPython SDK". - Configuring, customizing and extending IPython: we need to rationalize the zoo of plugins/extensions/hooks concepts we use into just a few, and describe each with some clear examples. At this point I don't even remember all we have. - The architecture of IPython: I think that we should have a dedicated section that's a reference with a few diagrams that explain the various moving parts in a high-level way. Key objects, protocols and ways in which they are organized. The SDK can refer to this and expand it in more detail, but I think that having a single high-level view of the whole project we can refer to would be very useful. - Developer's guide for hacking *on* IPython itself. This should be fairly short and we mostly have it. This is a major project, though... Cheers, f From asmeurer at gmail.com Fri Aug 10 22:21:41 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Fri, 10 Aug 2012 20:21:41 -0600 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: We are getting a lot of these in SymPy too, sometimes getting them and sometimes not. I think it might be a bug in Sphinx or numpydoc. Otherwise, make sure that you have the right type (i.e., autofunction, automethod, etc.). By the way, for SymPy, we've added docs building to our sympy-bot, as it's the only way that people even consider this in pull requests. Perhaps you might consider the same for your test_pr. Otherwise, people don't even know that things are not Sphinx friendly, and the build errors just accumulate. Aaron Meurer On Fri, Aug 10, 2012 at 6:40 PM, Brian Granger wrote: > When I run "make html" to build the sphinx docs, I see a long sequence > of AttributeErrors - all on IPython attributes that clearly exist. > All of these are happening in the autodoc sphinx extension. I have a > vague recollection of seeing this before but have no idea what I did > to get it to run. Has anyone seen this or know what is going on? > > 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 fperez.net at gmail.com Fri Aug 10 22:24:14 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 19:24:14 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: Message-ID: Hi Matthew, On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: > Hi, > > I've run into some puzzling trouble using mathjax in the notebook. > > 1) y_3 instead of y_{3} > 2) removing _i of \mathtt{t}_i For me, #2 wasn't necessary, it worked only once I did #1. I'm still trying to figure out that one, though, as it's a pretty crippling limitation, since it prevents you from doing any kind of subscript with more than one character. > I also found that I could not use `\\` in the notebook markdown for > newline and had to use `\cr`. Again, this was fine in the raw html > mathjax. Is there anything I can do to debug? This is a known bug: https://github.com/ipython/ipython/issues/1381. Note that you can use `\\\` instead for now. We do need to fix it, obviously, as something in our JS is going awry with handling math. If I can find at least a workaround for #1 above I'll ping back. Cheers, f From fperez.net at gmail.com Fri Aug 10 23:06:20 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 20:06:20 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: > > In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} > \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by > mathjax. The following make it render correctly: > > 1) y_3 instead of y_{3} > 2) removing _i of \mathtt{t}_i It seems the thing that confuses it most is the mathtt call. If I remove it altogether (and using \\\ for line separators), then I can use y_{3, 4} and t_{i, j} no problem. Or, if there are no complex subscripts, the mathtt call by itself is OK. But there's something very brittle inside that is messing up mathjax's processing of this. Filed it here, b/c I'm out of ideas: https://github.com/ipython/ipython/issues/2289 Cheers, f From fperez.net at gmail.com Fri Aug 10 23:08:11 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 20:08:11 -0700 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 4:09 PM, Thomas Kluyver wrote: > However, in the case of rmagic: > > - It's not much use without options to specify input & output variables > - Some uses can't easily be replaced by cell magics, for instance if > you want to call it in a (Python) loop. Indeed, and for this reason I don't really see any solution other than using the official `--` mechanism, as ugly as it may be in some cases. From ellisonbg at gmail.com Fri Aug 10 23:12:04 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Fri, 10 Aug 2012 20:12:04 -0700 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 7:09 PM, Fernando Perez wrote: > On Fri, Aug 10, 2012 at 5:40 PM, Brian Granger wrote: >> When I run "make html" to build the sphinx docs, I see a long sequence >> of AttributeErrors - all on IPython attributes that clearly exist. >> All of these are happening in the autodoc sphinx extension. I have a >> vague recollection of seeing this before but have no idea what I did >> to get it to run. Has anyone seen this or know what is going on? > > Do they stop the build for you? Because I do see all of those, but > they go by and eventually the build does complete. Yes, it completely fails. I am attaching the log of the TB that finally kills it. > Now, we are in *major* need of a massive doc cleanup project, that should: > > - begin by fixing all those errors and warnings of the build process > so that in the future, we can actually pay attention to new > warnings/errors. Now there's so much noise in the build that, unless > it flat out fails, we simply ignore all the noise. Yep, silent errors like that are horrible. Can we set a flag to cause warnings to halt the build? > - then, start organizing the docs in a more friendly and useful way > that they are today. > > I think basically our docs should have an intro layout similar to that > of StarCluster's fantastic documentation > (http://web.mit.edu/star/cluster), and there should at least be the > following main areas: > > - Introductory overview, meant to take ~15 minutes of reading and to > give people a useful understanding of the available tools without > overwhelming them with detail. Lots of screenshots and examples, > little prose. > > - IPython for interactive use. We have a lot of this material, but > it's a mix of high and low-level detail that makes it hard to read. We currently have this category, and it is logically sound. But these days the notebook almost belongs at the top-level. But it does share a lot with the other frontends. Maybe organize this "interactive" section according to components: qtconsole, terminal, notebook, kernel. But the kernel is more of a dev level thing. > - IPython for parallel computing. > > - Using IPython as a library for your own applications: the "IPython SDK". > > - Configuring, customizing and extending IPython: we need to > rationalize the zoo of plugins/extensions/hooks concepts we use into > just a few, and describe each with some clear examples. At this point > I don't even remember all we have. I think we are ready to get rid of the plugin stuff. I will check on that are submit a PR. > - The architecture of IPython: I think that we should have a dedicated > section that's a reference with a few diagrams that explain the > various moving parts in a high-level way. Key objects, protocols and > ways in which they are organized. The SDK can refer to this and > expand it in more detail, but I think that having a single high-level > view of the whole project we can refer to would be very useful. > > - Developer's guide for hacking *on* IPython itself. This should be > fairly short and we mostly have it. I almost think that the dev guide should be done as a github wiki - basically use github for everything dev related. I think that will encourage more people to keep those docs updated. > > This is a major project, though... Yes, but for now I would be happy being able to build the docs, errors and all ;-( > 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: sphinx-err-Dv_u_T.log Type: application/octet-stream Size: 6936 bytes Desc: not available URL: From asmeurer at gmail.com Fri Aug 10 23:22:47 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Fri, 10 Aug 2012 21:22:47 -0600 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: Oh, and if you use return codes to determine if the build passes or not, you might need to do something like https://github.com/sympy/sympy/commit/b41a87a209227f43f67c99f6bee648699e9a538b. Aaron Meurer On Fri, Aug 10, 2012 at 8:21 PM, Aaron Meurer wrote: > We are getting a lot of these in SymPy too, sometimes getting them and > sometimes not. I think it might be a bug in Sphinx or numpydoc. > Otherwise, make sure that you have the right type (i.e., autofunction, > automethod, etc.). > > By the way, for SymPy, we've added docs building to our sympy-bot, as > it's the only way that people even consider this in pull requests. > Perhaps you might consider the same for your test_pr. Otherwise, > people don't even know that things are not Sphinx friendly, and the > build errors just accumulate. > > Aaron Meurer > > On Fri, Aug 10, 2012 at 6:40 PM, Brian Granger wrote: >> When I run "make html" to build the sphinx docs, I see a long sequence >> of AttributeErrors - all on IPython attributes that clearly exist. >> All of these are happening in the autodoc sphinx extension. I have a >> vague recollection of seeing this before but have no idea what I did >> to get it to run. Has anyone seen this or know what is going on? >> >> 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 fperez.net at gmail.com Fri Aug 10 23:28:36 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 20:28:36 -0700 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 8:12 PM, Brian Granger wrote: > Yes, it completely fails. I am attaching the log of the TB that > finally kills it. Argh.. No clue. I compared my versions and I have almost everything the same as you, except sphinx is 1.1.3 for me, but I doubt that tiny version delta is the issue here. One option would be to get rid of our auto-generated API docs. I'm reluctant to do this because that's the kind of thing that we never know who may regularly use them and we've had them for years. But I personally never use them, and they are the source of most of our build time as well as most of the errors and warnings. A bit brutal of a solution, but it would go a long way to making this more manageable. Thoughts? > Yep, silent errors like that are horrible. Can we set a flag to cause > warnings to halt the build? Yup, call the build with -W: http://sphinx.pocoo.org/latest/invocation.html#cmdoption-sphinx-build-W The problem is that right now that's so depressing to do that we have all just stuck our collective heads in the sand :) > We currently have this category, and it is logically sound. But these > days the notebook almost belongs at the top-level. But it does share > a lot with the other frontends. Maybe organize this "interactive" > section according to components: qtconsole, terminal, notebook, > kernel. But the kernel is more of a dev level thing. Agreed. > I think we are ready to get rid of the plugin stuff. I will check on > that are submit a PR. Great! > I almost think that the dev guide should be done as a github wiki - > basically use github for everything dev related. I think that will > encourage more people to keep those docs updated. I'd be up for that. And we've had the conversation about getting rid of our wiki in favor of a github one, we might as well make that decision with this in mind... Though probably in a separate thread to keep the conversation manageable. > Yes, but for now I would be happy being able to build the docs, errors > and all ;-( I know, I wish I knew what was going on for you. I'm assuming you did a make clean first, right? I've had in the past (years ago) to debug one of those, and all I remember is that it was a pain and put me in a bad mood... Cheers, f From tsyu80 at gmail.com Fri Aug 10 23:30:52 2012 From: tsyu80 at gmail.com (Tony Yu) Date: Fri, 10 Aug 2012 23:30:52 -0400 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 11:08 PM, Fernando Perez wrote: > On Fri, Aug 10, 2012 at 4:09 PM, Thomas Kluyver wrote: > > However, in the case of rmagic: > > > > - It's not much use without options to specify input & output variables > > - Some uses can't easily be replaced by cell magics, for instance if > > you want to call it in a (Python) loop. > > Indeed, and for this reason I don't really see any solution other than > using the official `--` mechanism, as ugly as it may be in some cases. > Could you just look for a function by searching for an open parenthesis to split the command from the rest? This wouldn't cover all cases, but most, maybe? And if needed, this magic parsing could be overridden by adding the explicit separator ` -- `. -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmeurer at gmail.com Fri Aug 10 23:35:57 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Fri, 10 Aug 2012 21:35:57 -0600 Subject: [IPython-dev] Minus signs in argparse line magics In-Reply-To: References: Message-ID: Can you add some logic that says as soon as the first character of an argument is not -, then the rest should be interpreted as R code? Obviously that won't work for something like %R -1, or even %R -X, where X is an R variable and a real option, but it should handle cases like this where the - clearly doesn't denote an option. Aaron Meurer On Fri, Aug 10, 2012 at 9:08 PM, Fernando Perez wrote: > On Fri, Aug 10, 2012 at 4:09 PM, Thomas Kluyver wrote: >> However, in the case of rmagic: >> >> - It's not much use without options to specify input & output variables >> - Some uses can't easily be replaced by cell magics, for instance if >> you want to call it in a (Python) loop. > > Indeed, and for this reason I don't really see any solution other than > using the official `--` mechanism, as ugly as it may be in some cases. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From fperez.net at gmail.com Fri Aug 10 23:48:16 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 10 Aug 2012 20:48:16 -0700 Subject: [IPython-dev] Extra blank lines in output of %%cython -a? Message-ID: Hi folks, I'm getting the output of annotated cython compiles to show up with a bunch of extra newlines: http://i.imgur.com/AvNiZ.png I distinctly remember Sage not doing that: http://docs.cython.org/src/quickstart/cythonize.html Any idea why? It's really annoying as it wastes a crazy amount of vertical space... Cheers, f From ellisonbg at gmail.com Sat Aug 11 00:58:45 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Fri, 10 Aug 2012 21:58:45 -0700 Subject: [IPython-dev] Extra blank lines in output of %%cython -a? In-Reply-To: References: Message-ID: Now that I think about it, I saw the same thing. On Fri, Aug 10, 2012 at 8:48 PM, Fernando Perez wrote: > Hi folks, > > I'm getting the output of annotated cython compiles to show up with a > bunch of extra newlines: > > http://i.imgur.com/AvNiZ.png > > I distinctly remember Sage not doing that: > > http://docs.cython.org/src/quickstart/cythonize.html > > Any idea why? It's really annoying as it wastes a crazy amount of > vertical space... > > Cheers, > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From ellisonbg at gmail.com Sat Aug 11 01:01:37 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Fri, 10 Aug 2012 22:01:37 -0700 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 8:28 PM, Fernando Perez wrote: > On Fri, Aug 10, 2012 at 8:12 PM, Brian Granger wrote: > >> Yes, it completely fails. I am attaching the log of the TB that >> finally kills it. > > Argh.. No clue. I compared my versions and I have almost everything > the same as you, except sphinx is 1.1.3 for me, but I doubt that tiny > version delta is the issue here. I wonder if it is that I use setup.py develop? > One option would be to get rid of our auto-generated API docs. I'm > reluctant to do this because that's the kind of thing that we never > know who may regularly use them and we've had them for years. But I > personally never use them, and they are the source of most of our > build time as well as most of the errors and warnings. A bit brutal > of a solution, but it would go a long way to making this more > manageable. Thoughts? We could get rid of that until we can clean up the build. I do like having the auto-generated API docs though. >> Yep, silent errors like that are horrible. Can we set a flag to cause >> warnings to halt the build? > > Yup, call the build with -W: > > http://sphinx.pocoo.org/latest/invocation.html#cmdoption-sphinx-build-W > > The problem is that right now that's so depressing to do that we have > all just stuck our collective heads in the sand :) > >> We currently have this category, and it is logically sound. But these >> days the notebook almost belongs at the top-level. But it does share >> a lot with the other frontends. Maybe organize this "interactive" >> section according to components: qtconsole, terminal, notebook, >> kernel. But the kernel is more of a dev level thing. > > Agreed. > >> I think we are ready to get rid of the plugin stuff. I will check on >> that are submit a PR. > > Great! > >> I almost think that the dev guide should be done as a github wiki - >> basically use github for everything dev related. I think that will >> encourage more people to keep those docs updated. > > I'd be up for that. And we've had the conversation about getting rid > of our wiki in favor of a github one, we might as well make that > decision with this in mind... Though probably in a separate thread to > keep the conversation manageable. > >> Yes, but for now I would be happy being able to build the docs, errors >> and all ;-( > > I know, I wish I knew what was going on for you. I'm assuming you did > a make clean first, right? I've had in the past (years ago) to debug > one of those, and all I remember is that it was a pain and put me in a > bad mood... Yes, I did make clean. Don't feel up to it tonight. Brian > 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 nicolas at pettiaux.be Sat Aug 11 02:12:10 2012 From: nicolas at pettiaux.be (Nicolas Pettiaux) Date: Sat, 11 Aug 2012 08:12:10 +0200 Subject: [IPython-dev] internationalisation and translation of ipython Message-ID: Dear all, This is my first message to the list. So here is a short presentation : I am a Belgian long time free software (FS) and free content advocate, as well as python advocate. After some years doing research and managing IT departments, I came back to teaching physics and computing in different secondary schools in the French speaking part of Belgium. I have organized many conferences and talks about FS in Belgium, and help setup collaborative content developpement initiatives, especially for physics at secondary level, in Belgium. I have helped the University of Brussels to adopt python as the new language to teach computing, and I am now the initiator of the EuroScipy conference in Brussels in 2012 (see http://euroscipy.org), an initiative that is lead by a colleague, Pierre de Buyl. Professionnally, I am now a full time teacher at college level at the Ecole sup?rieure d'informatique in Brussels, a teaching assistant at the Faculty of applied sciences of the French speaking Free University of Brussels (Universit? Libre de Bruxelles - ULB) where the annual FOSDEM takes place as well as this year EuroScipy, and a professor at the design and fashion school Ecole nationale des arts visuels La Cambre, also in Brussels. I am involved in projects about the developpement of content (mainly about physics), the use of FS in libraries, schools, colleges, the fight against ACTA and the like and many polititical and law artivity around FS, some translation efforts and I still try to help ease the use of python around me. This leads me to the true content of this email : I would very much like to participate and help in the internationalization and translation of ipython and its documentation and help, again to help its adoption. I have already discussed the topic a little with Fernando Perez, and we have considered that before anything, a discussion of the topic on this list would be necessary. My first aim would be to setup the good framework for the translations to be easy and contribuable by people having languages skills but no developpement skills, reusing the platforms and tools that exists, for example the gettext suite of tools. Then I would like for example to have the menu bar and quickhelp in the notebook internationalized and translated. I could do the translations to French (my native language) and help with Dutch. I am not a highly skilled developper not internationalizer, but I would like to learn. I would with pleasure read your comments and suggestions so far and I plan to come as soon as I can with another mail with a first analysis and some proposals. Best regards, Nicolas -- Nicolas Pettiaux From takowl at gmail.com Sat Aug 11 11:55:15 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 11 Aug 2012 16:55:15 +0100 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: On 11 August 2012 03:21, Aaron Meurer wrote: > By the way, for SymPy, we've added docs building to our sympy-bot, as > it's the only way that people even consider this in pull requests. > Perhaps you might consider the same for your test_pr. Otherwise, > people don't even know that things are not Sphinx friendly, and the > build errors just accumulate. We considered it, but we want to keep test_pr light and fast. There's a weekly job on ShiningPanda to build the docs: https://jenkins.shiningpanda.com/ipython/job/ipython-docs/ Fernando: > One option would be to get rid of our auto-generated API docs. I'm > reluctant to do this because that's the kind of thing that we never > know who may regularly use them and we've had them for years. But I > personally never use them, and they are the source of most of our > build time as well as most of the errors and warnings. A bit brutal > of a solution, but it would go a long way to making this more > manageable. Thoughts? On other projects I've worked on, I've found it quite good discipline to have to write API docs 'manually': specifying the names of classes and functions for Sphinx autodoc. It forces you to think about what parts you want third parties to be relying on, rather than mechanically listing every helper method you've defined. Then again, those projects have been much smaller than IPython. Thomas From matthew.brett at gmail.com Sat Aug 11 13:55:30 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Sat, 11 Aug 2012 10:55:30 -0700 Subject: [IPython-dev] internationalisation and translation of ipython In-Reply-To: References: Message-ID: Hi, On Fri, Aug 10, 2012 at 11:12 PM, Nicolas Pettiaux wrote: > Dear all, > > This is my first message to the list. So here is a short presentation > : I am a Belgian long time free software (FS) and free content > advocate, as well as python advocate. After some years doing research > and managing IT departments, I came back to teaching physics and > computing in different secondary schools in the French speaking part > of Belgium. I have organized many conferences and talks about FS in > Belgium, and help setup collaborative content developpement > initiatives, especially for physics at secondary level, in Belgium. I > have helped the University of Brussels to adopt python as the new > language to teach computing, and I am now the initiator of the > EuroScipy conference in Brussels in 2012 (see http://euroscipy.org), > an initiative that is lead by a colleague, Pierre de Buyl. > > Professionnally, I am now a full time teacher at college level at the > Ecole sup?rieure d'informatique in Brussels, a teaching assistant at > the Faculty of applied sciences of the French speaking Free University > of Brussels (Universit? Libre de Bruxelles - ULB) where the annual > FOSDEM takes place as well as this year EuroScipy, and a professor at > the design and fashion school Ecole nationale des arts visuels La > Cambre, also in Brussels. > > I am involved in projects about the developpement of content (mainly > about physics), the use of FS in libraries, schools, colleges, the > fight against ACTA and the like and many polititical and law artivity > around FS, some translation efforts and I still try to help ease the > use of python around me. > > This leads me to the true content of this email : I would very much > like to participate and help in the internationalization and > translation of ipython and its documentation and help, again to help > its adoption. > > I have already discussed the topic a little with Fernando Perez, and > we have considered that before anything, a discussion of the topic on > this list would be necessary. > > My first aim would be to setup the good framework for the translations > to be easy and contribuable by people having languages skills but no > developpement skills, reusing the platforms and tools that exists, for > example the gettext suite of tools. > > Then I would like for example to have the menu bar and quickhelp in > the notebook internationalized and translated. I could do the > translations to French (my native language) and help with Dutch. > > I am not a highly skilled developper not internationalizer, but I > would like to learn. > > I would with pleasure read your comments and suggestions so far and I > plan to come as soon as I can with another mail with a first analysis > and some proposals. Nicolas - hello - thank you for being interested in these things. I am sure that many of you saw that sympy recently spent some time thinking about internationalization of their docs at least; they have partial translations of their main website in Czech, French, German, Russian. Discussion of framework to do this begins here: http://www.mail-archive.com/sympy at googlegroups.com/msg11005.html Maybe the sympy folks on this list can comment how it worked out? See you, Matthew From nicolas at pettiaux.be Sat Aug 11 14:21:05 2012 From: nicolas at pettiaux.be (Nicolas Pettiaux) Date: Sat, 11 Aug 2012 20:21:05 +0200 Subject: [IPython-dev] internationalisation and translation of ipython In-Reply-To: References: Message-ID: Hi Matthew, Thanks for the information. Translating the documentation and the website of ipython would be a terrific idea, but this is much more than I first thought. I have many ideas about how to do and I have read the links you gave. Now, I would like ton concerntrate first on the application (aka python and javascript) but in any case, indeed everything, the application, the website, the documentation should produce .po files to use the gettext utilities and the great many tools that allows to translate and keep the translation uptodate with the original wihtout too much workload. I have just registered to the sympy mailing list to contribute on this subject too there. Best regards, Nicolas -- Nicolas Pettiaux From matthew.brett at gmail.com Sat Aug 11 14:53:51 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Sat, 11 Aug 2012 11:53:51 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: Message-ID: Yo, On Fri, Aug 10, 2012 at 8:06 PM, Fernando Perez wrote: > On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: >> >> In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} >> \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by >> mathjax. The following make it render correctly: >> >> 1) y_3 instead of y_{3} >> 2) removing _i of \mathtt{t}_i > > It seems the thing that confuses it most is the mathtt call. If I > remove it altogether (and using \\\ for line separators), then I can > use y_{3, 4} and t_{i, j} no problem. Or, if there are no complex > subscripts, the mathtt call by itself is OK. But there's something > very brittle inside that is messing up mathjax's processing of this. > > Filed it here, b/c I'm out of ideas: > https://github.com/ipython/ipython/issues/2289 As a matter of interest, and from great ignorance, where in ipython would I look for explanations of different behavior of mathjax in a markdown cell in the notebook to mathjax in a standalone html page like the one above? Is there a good track to follow for debugging? See you, Matthew From bussonniermatthias at gmail.com Sat Aug 11 15:04:22 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Sat, 11 Aug 2012 21:04:22 +0200 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: Message-ID: Le 11 ao?t 2012 ? 20:53, Matthew Brett a ?crit : > Yo, > > On Fri, Aug 10, 2012 at 8:06 PM, Fernando Perez wrote: >> On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: >>> >>> In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} >>> \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by >>> mathjax. The following make it render correctly: >>> >>> 1) y_3 instead of y_{3} >>> 2) removing _i of \mathtt{t}_i >> >> It seems the thing that confuses it most is the mathtt call. If I >> remove it altogether (and using \\\ for line separators), then I can >> use y_{3, 4} and t_{i, j} no problem. Or, if there are no complex >> subscripts, the mathtt call by itself is OK. But there's something >> very brittle inside that is messing up mathjax's processing of this. >> >> Filed it here, b/c I'm out of ideas: >> https://github.com/ipython/ipython/issues/2289 > > As a matter of interest, and from great ignorance, where in ipython > would I look for explanations of different behavior of mathjax in a > markdown cell in the notebook to mathjax in a standalone html page > like the one above? Is there a good track to follow for debugging? a quick grep in the source tell me that the 2 places that triggers mathjax rendering are IPython/frontend/html/notebook/static/js cell.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); outputarea.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); You could try to deactivate auto rendering and do it manually to check the source before/after rendering if you see an error in what is published. -- Matthias From asmeurer at gmail.com Sat Aug 11 19:29:00 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Sat, 11 Aug 2012 17:29:00 -0600 Subject: [IPython-dev] internationalisation and translation of ipython In-Reply-To: References: Message-ID: I think what you have to do is set it up with gettext. You then translate each string (usually a sentence or a paragraph) on the site, and gettext automatically puts in the translated version, but falls back to the English version if the translation is out of date (this is determined by the hash of the string). You'll have to ask Ondrej for the technical details, as he's the one who set the whole thing up. Actually, our process need to be improved, especially the one we use for Sphinx. So if anyone can give advice there, that would be awesome. One consequence of this is that if you don't keep the translation up to date, then the document will become littered with English phrases. For example, you can see that most of the text on our SymPy homepage translations is out of date, because it was updated after the translations were made (for example, http://sympy.org/fr/index.html, and you can find other languages at the bottom). The reason that we have a translated webpage and tutorial for SymPy is that we were required to have translation tasks for Google Code-In. Very little translation contribution has come outside of that program. It's very hard for a small community to maintain translation, unless the whole community speaks the second language (I'm here considering SymPy to be a small community, but IPython is obviously much smaller, at least in terms of the development team). For the languages we translated, I think there was only one for which we had more than one person who was able to verify the translations. Not to be discouraging, but in my opinion, unless you have a group of people who are dedicated to keeping the translations up to date (i.e., they actually speak the second language, and are willing to update the po files on a regular basis), the translations are doomed to become out of date. For us, even among those who are still quite active, the GCI mentors have not really kept the translations up to date (and none of the GCI students themselves have done anything outside the program). Another thing we noticed when doing the translations with Google Code-In: you have to be very fluent in the both English and second language to do the translation. There are a lot of technical terms that have to be translated, and if you are not fluent in the second language, you will not be able translate them in the expected ways. This also means that you should have read enough websites or other materials written in the second language to know what the standard translation of technical terms is, especially those that do not have direct translations. A common theme when we did our translating was that if you are going to have an official translation, then it should be done well. Anyone can get a poor translation for free with Google Translate (by the way, is there a way to tell Google translate to not translate Python code examples in Sphinx? "Sympy de importaci?n oo" doesn't work quite as well as "from sympy import oo"). This is my best advice. Note that I actually do not speak a second language, so this is mostly anecdotal from following the translation tasks from the outside. Those who mentored the Google Code-In students directly can probably comment more. For that, I would ask on the SymPy list. Aaron Meurer On Sat, Aug 11, 2012 at 12:21 PM, Nicolas Pettiaux wrote: > Hi Matthew, > > Thanks for the information. Translating the documentation and the > website of ipython would be a terrific idea, but this is much more > than I first thought. I have many ideas about how to do and I have > read the links you gave. > > Now, I would like ton concerntrate first on the application (aka > python and javascript) but in any case, indeed everything, the > application, the website, the documentation should produce .po files > to use the gettext utilities and the great many tools that allows to > translate and keep the translation uptodate with the original wihtout > too much workload. > > I have just registered to the sympy mailing list to contribute on this > subject too there. > > Best regards, > > Nicolas > > -- > Nicolas Pettiaux > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From ellisonbg at gmail.com Sat Aug 11 21:46:32 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Sat, 11 Aug 2012 18:46:32 -0700 Subject: [IPython-dev] Policy for closing pull requests Message-ID: Hi, Ondrej has been going through the sympy pull request queue (they have 53 open, but had more than 70) and trying to close ones that are no longer active. This as inspired me to think about these issues for IPython. I am wondering if we can come up with a policy for closing pull requests. Here is what I am thinking. * Let's use use pull requests for code that is actively being worked on and reviewed and that has a strong chance of being merged soon. * Open PRs should be in one of two states: waiting for review or waiting for additional code. It should be obvious who the "person of next action" is. * When a PR is not in one of these states, it should be closed. * When a PR is in one of these states, but sits untouched for a long period of time, we close it and indicate in a comment what would need to be done to reopen it. In some rare cases we will outright reject a PR. But in many cases, we will close PRs with a fairly positive statement like "this is promising, please reopen this PR after you do ..." This is similar to the to "Someday/Maybe" category of Getting Things Done. I think this would help us keep our PR/review workflow moving and encourage people to revisit PRs that are inactive. Thoughts? Cheers, Brian -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From ellisonbg at gmail.com Sat Aug 11 21:53:10 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Sat, 11 Aug 2012 18:53:10 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: I should also mention that one of the reasons we tend to have PRs that remain open for a long period of time is that we are working out difficult technical issues. In these cases I think we should use issues for the long term discussion, rather than putting everything into a PR that might not be the final solutions. On Sat, Aug 11, 2012 at 6:46 PM, Brian Granger wrote: > Hi, > > Ondrej has been going through the sympy pull request queue (they have > 53 open, but had more than 70) and trying to close ones that are no > longer active. This as inspired me to think about these issues for > IPython. I am wondering if we can come up with a policy for closing > pull requests. Here is what I am thinking. > > * Let's use use pull requests for code that is actively being worked > on and reviewed and that has a strong chance of being merged soon. > * Open PRs should be in one of two states: waiting for review or > waiting for additional code. It should be obvious who the "person of > next action" is. > * When a PR is not in one of these states, it should be closed. > * When a PR is in one of these states, but sits untouched for a long > period of time, we close it and indicate in a comment what would need > to be done to reopen it. > > In some rare cases we will outright reject a PR. But in many cases, > we will close PRs with a fairly positive statement like "this is > promising, please reopen this PR after you do ..." This is similar to > the to "Someday/Maybe" category of Getting Things Done. > > I think this would help us keep our PR/review workflow moving and > encourage people to revisit PRs that are inactive. > > Thoughts? > > Cheers, > > Brian > > > -- > Brian E. Granger > Cal Poly State University, San Luis Obispo > bgranger at calpoly.edu and ellisonbg at gmail.com -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From asmeurer at gmail.com Sat Aug 11 22:17:24 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Sat, 11 Aug 2012 20:17:24 -0600 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: One other important rule that we have in SymPy is that if we close a pull request that still needs work (as opposed to an outright rejection), we make sure that it is mentioned in an open issue. Otherwise, it will be forgotten forever. On Sat, Aug 11, 2012 at 7:46 PM, Brian Granger wrote: > Hi, > > Ondrej has been going through the sympy pull request queue (they have > 53 open, but had more than 70) and trying to close ones that are no > longer active. This as inspired me to think about these issues for > IPython. I am wondering if we can come up with a policy for closing > pull requests. Here is what I am thinking. > > * Let's use use pull requests for code that is actively being worked > on and reviewed and that has a strong chance of being merged soon. > * Open PRs should be in one of two states: waiting for review or > waiting for additional code. It should be obvious who the "person of > next action" is. > * When a PR is not in one of these states, it should be closed. > * When a PR is in one of these states, but sits untouched for a long > period of time, we close it and indicate in a comment what would need > to be done to reopen it. > > In some rare cases we will outright reject a PR. But in many cases, > we will close PRs with a fairly positive statement like "this is > promising, please reopen this PR after you do ..." This is similar to > the to "Someday/Maybe" category of Getting Things Done. You could also use actual labels in the issue tracker to do this. Aaron Meurer > > I think this would help us keep our PR/review workflow moving and > encourage people to revisit PRs that are inactive. > > Thoughts? > > 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 Aug 11 22:21:34 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Sat, 11 Aug 2012 19:21:34 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sat, Aug 11, 2012 at 7:17 PM, Aaron Meurer wrote: > One other important rule that we have in SymPy is that if we close a > pull request that still needs work (as opposed to an outright > rejection), we make sure that it is mentioned in an open issue. > Otherwise, it will be forgotten forever. Very good point. > On Sat, Aug 11, 2012 at 7:46 PM, Brian Granger wrote: >> Hi, >> >> Ondrej has been going through the sympy pull request queue (they have >> 53 open, but had more than 70) and trying to close ones that are no >> longer active. This as inspired me to think about these issues for >> IPython. I am wondering if we can come up with a policy for closing >> pull requests. Here is what I am thinking. >> >> * Let's use use pull requests for code that is actively being worked >> on and reviewed and that has a strong chance of being merged soon. >> * Open PRs should be in one of two states: waiting for review or >> waiting for additional code. It should be obvious who the "person of >> next action" is. >> * When a PR is not in one of these states, it should be closed. >> * When a PR is in one of these states, but sits untouched for a long >> period of time, we close it and indicate in a comment what would need >> to be done to reopen it. >> >> In some rare cases we will outright reject a PR. But in many cases, >> we will close PRs with a fairly positive statement like "this is >> promising, please reopen this PR after you do ..." This is similar to >> the to "Someday/Maybe" category of Getting Things Done. > > You could also use actual labels in the issue tracker to do this. > > Aaron Meurer > >> >> I think this would help us keep our PR/review workflow moving and >> encourage people to revisit PRs that are inactive. >> >> Thoughts? >> >> 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 Sun Aug 12 13:29:34 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sun, 12 Aug 2012 18:29:34 +0100 Subject: [IPython-dev] IPEP 2: Input transformations (inputsplitter & prefilter) Message-ID: I promised to look into the situation with our input transformation machinery. I've written out a description of the requirements, current situation, and suggestions for where to go, as IPEP 2: https://gist.github.com/3333121 Discussion is welcome on this list, or on issue 2293 ( https://github.com/ipython/ipython/issues/2293 ). Thanks, Thomas * * -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Sun Aug 12 23:07:49 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 12 Aug 2012 20:07:49 -0700 Subject: [IPython-dev] AttributeError when running sphinx docs In-Reply-To: References: Message-ID: On Sat, Aug 11, 2012 at 8:55 AM, Thomas Kluyver wrote: > On other projects I've worked on, I've found it quite good discipline > to have to write API docs 'manually': specifying the names of classes > and functions for Sphinx autodoc. It forces you to think about what > parts you want third parties to be relying on, rather than > mechanically listing every helper method you've defined. Then again, > those projects have been much smaller than IPython. I'm not opposed to that at all: having an auto-generated dump was the 'quick way out' when we were just getting our feet wet with sphinx, and we adapted a pymvpa script for our needs. But given the problems it gives us, and the (valid) point your raise above, it might not be a bad idea to cut our losses by nuking the auto-generated docs altogether, and start gradually building API docs manually by including only what makes sense to declare publicly. I'm starting to think towards a 1.0 horizon, and it would certainly *much* better to have 1.0 land with a clean API documentation, since to a good extent just about the only thing that will distinguish 1.0 from other 0.x releases will be our statement of commitment to its API. IPython has been 'production ready' for years, but we're finally getting to the point where we feel the internal design, structure and capabilities are where we want them, and we can mark that with an official 1.0 release. But it will be very awkward to do so if our docs are a dump of every last dark corner in our codebase. And since asking that we clean every single function and method in ipython before 1.0 is unrealistic (we'd never clear that bar), it may be wiser to instead say that the public API is only whatever we've built docs for, and that the rest should be considered private, even if it has decent dosctrings. If we all agree with this view of things, then we should *sooner* rather than later nuke the automatic API docs, and start slowly adding things back up manually. The initial PR that does this could be very simple and only create the minimal template adding a module or two, we can always build that up slowly. As I type this, I'm growing increasingly convinced that it's a good idea... Thoughts, dissent? Cheers, f From fperez.net at gmail.com Mon Aug 13 00:18:53 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 12 Aug 2012 21:18:53 -0700 Subject: [IPython-dev] internationalisation and translation of ipython In-Reply-To: References: Message-ID: Hi Nicolas, On Fri, Aug 10, 2012 at 11:12 PM, Nicolas Pettiaux wrote: > My first aim would be to setup the good framework for the translations > to be easy and contribuable by people having languages skills but no > developpement skills, reusing the platforms and tools that exists, for > example the gettext suite of tools. > > Then I would like for example to have the menu bar and quickhelp in > the notebook internationalized and translated. I could do the > translations to French (my native language) and help with Dutch. > > I am not a highly skilled developper not internationalizer, but I > would like to learn. Thanks for starting the discussion here... As Aaron indicated (many thanks BTW for that insight, it's *extremely* useful!), this is a tough job, and one that is very easy to fall out of date. So I would follow a few criteria in any attempt in this direction: - focus only on localized, high-value targets: the notebook UI, the Qt console UI, the magic docstrings and the main usage.py strings. - I would, at least for now, leave the website alone: it's too dynamic, and for better or worse people survive with a few websites in English. We could add to the main website a summary page in other languages, that we would not attempt to maintain in perfect sync with the main site. This would serve as a reasonable explanation of what ipython is to speakers of other languages, and would tell them what parts they can expect to see translated and which ones they can't (for now). - focus only for now on high-value languages that have a decent chance of being maintained in the long run: Spanish and French. I understand the value of other languages, but this is simply a matter of resource triage and impact. For example, most Dutch/German/Scandinavian languages speakers tend to at least read English very well, which is not necessarily true in Spanish. If we get to a state where we have these in really good shape, we can consider others. And before anyone accuses me of Western-centrism: if we reach that point, we'll already be doing better *than Python itself*, which has vastly more resources than we do and whose docs aren't officially translated to any language that I can find. So yes, it's western-centric, but that's simply the reality we come from. - If you want to take this on, you'll pretty much have to lead the effort yourself. Other than providing you feedback by reviewing pull requests, I'm afraid right now I have zero bandwidth for this, and it's not something that has ever come up until now, so I suspect the 'available effort' from others may also be low. But it's also possible that if you lead the way, others may join in and help, after all this is the kind of task which, once the basic machinery is in place, lends itself well to distributed maintenance even by people who may not know how to code. - it will be very important to focus on implementing this in a way that is as unobtrusive as possible to the main development in English. I know next to nothing about i18n other than 'use gettext', but I'm sure that if the setup makes regular development in English substantially more cumbersome, you'll get tons of pushback from the main developers. Again, it's a matter of balancing priorities with limited resources: people try to squeeze whatever IPython development they can typically 'on the side' of otherwise very busy schedules. That's why we insist so much on tools and workflows that are very fluid (github, our very streamlined branch management, our tools/ directory, our website/docs setup that is now being adopted by others in the scipy community, etc). Anything that brings friction to the everyday work will be (rightfully) seen with very skeptical eyes by the core devs. And given that ipython's focus is scientific work, and that for better or worse scientific work pretty much *mandates* a command of English (I know what I'm talking about: as an undergraduate in Colombia in the early 90's, many of my *textbooks* were in English, so we didn't really have an option), our English bias will remain there for the foreseeable future. I hope the above doesn't sound discouraging to you: I'm simply trying to give you a realistic assessment of what will be needed, at least from what I can see at this point, to make this happen. I'd rather do that than give you a rosy but falsely encouraging picture. In summary, I think it's a worthwhile task, and if you are willing to lead the effort and make progress on it, we'll be delighted to review your contributions. And obviously, if others on the list would like to participate on this particular effort, by all means join Nicolas! This is the kind of thing that may seem a bit daunting for one person, but where if two or three people get together, significant progress may happen before you know it. Best, f From fperez.net at gmail.com Mon Aug 13 00:33:35 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 12 Aug 2012 21:33:35 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sat, Aug 11, 2012 at 7:17 PM, Aaron Meurer wrote: > One other important rule that we have in SymPy is that if we close a > pull request that still needs work (as opposed to an outright > rejection), we make sure that it is mentioned in an open issue. > Otherwise, it will be forgotten forever. With Aaron's additional point, I'm +1 on the idea, whereas the original proposal seemed too aggressive to me. I understand the need to optimize our limited resources so we can focus on code that has a hope of getting merged, but as originally presented I think that it pushed too hard in that direction and had the danger of alienating contributors (we don't want to 'solve' our current problem of having too many open PRs simply by losing contributors, that would be throwing out the baby with the bathwater). So I'm +1 on the original proposal, but once amended with: - Every time we close a PR because it has become 'dormant' (but one we assume would get merged with some extra work), we do two things: 1. In the closing comment, explain clearly to the author this, so they realize the closing isn't a rejection, and that the simple act of pushing a few commits would be sufficient to get it reopened (and possibly merged if that completes what was missing). 2. We create a regular issue linking to this PR, with a label 'dormant-PR'. This would let us quickly use the issue sorter to have a look at dormant PRs, which are also candidates for sprints, when a core developer wants to do some quick housecleaning, etc. How does that sound? f From ellisonbg at gmail.com Mon Aug 13 00:53:35 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Sun, 12 Aug 2012 21:53:35 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sun, Aug 12, 2012 at 9:33 PM, Fernando Perez wrote: > On Sat, Aug 11, 2012 at 7:17 PM, Aaron Meurer wrote: >> One other important rule that we have in SymPy is that if we close a >> pull request that still needs work (as opposed to an outright >> rejection), we make sure that it is mentioned in an open issue. >> Otherwise, it will be forgotten forever. > > With Aaron's additional point, I'm +1 on the idea, whereas the > original proposal seemed too aggressive to me. I understand the need > to optimize our limited resources so we can focus on code that has a > hope of getting merged, but as originally presented I think that it > pushed too hard in that direction and had the danger of alienating > contributors (we don't want to 'solve' our current problem of having > too many open PRs simply by losing contributors, that would be > throwing out the baby with the bathwater). > > So I'm +1 on the original proposal, but once amended with: > > - Every time we close a PR because it has become 'dormant' (but one we > assume would get merged with some extra work), we do two things: > > 1. In the closing comment, explain clearly to the author this, so they > realize the closing isn't a rejection, and that the simple act of > pushing a few commits would be sufficient to get it reopened (and > possibly merged if that completes what was missing). > > 2. We create a regular issue linking to this PR, with a label > 'dormant-PR'. This would let us quickly use the issue sorter to have > a look at dormant PRs, which are also candidates for sprints, when a > core developer wants to do some quick housecleaning, etc. I agree that Aaron's idea is important and I am +1 on implementing this as you describe. I just want their to be agreement on the criteria we use to decide *when* we take such an action. How do you feel about the following: * When a PR has been reviewed and is waiting additional code and sits in this state untouched for 1 month. * When the review process can't seem to reach a solid conclusion because there are larger issues or technical details that have to be worked out. Once it reaches this point and sits for a month, we should close the PR and open an issue to continue the larger discussion. I suppose if it becomes obvious that it is in this state in a shorter amount of time, we could close it earlier. The goal is to have PRs reflect code that is actively moving forward towards a merge. * What do we do about PRs that sit for a month waiting for review? We could go with a much simpler approach and say "regardless of the reason if a PR hasn't been touched for a month, we close it and open and issue." A more uniform criteria might come across as less personal. Thoughts? Cheers, Brian > > How does that sound? > > 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 asmeurer at gmail.com Mon Aug 13 00:53:36 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Sun, 12 Aug 2012 22:53:36 -0600 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sun, Aug 12, 2012 at 10:33 PM, Fernando Perez wrote: > On Sat, Aug 11, 2012 at 7:17 PM, Aaron Meurer wrote: >> One other important rule that we have in SymPy is that if we close a >> pull request that still needs work (as opposed to an outright >> rejection), we make sure that it is mentioned in an open issue. >> Otherwise, it will be forgotten forever. > > With Aaron's additional point, I'm +1 on the idea, whereas the > original proposal seemed too aggressive to me. I understand the need > to optimize our limited resources so we can focus on code that has a > hope of getting merged, but as originally presented I think that it > pushed too hard in that direction and had the danger of alienating > contributors (we don't want to 'solve' our current problem of having > too many open PRs simply by losing contributors, that would be > throwing out the baby with the bathwater). > > So I'm +1 on the original proposal, but once amended with: > > - Every time we close a PR because it has become 'dormant' (but one we > assume would get merged with some extra work), we do two things: > > 1. In the closing comment, explain clearly to the author this, so they > realize the closing isn't a rejection, and that the simple act of > pushing a few commits would be sufficient to get it reopened (and > possibly merged if that completes what was missing). What we do is just tell the author to reopen it himself if he plans to work on it. Aaron Meurer > > 2. We create a regular issue linking to this PR, with a label > 'dormant-PR'. This would let us quickly use the issue sorter to have > a look at dormant PRs, which are also candidates for sprints, when a > core developer wants to do some quick housecleaning, etc. > > > How does that sound? > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From ellisonbg at gmail.com Mon Aug 13 01:02:28 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Sun, 12 Aug 2012 22:02:28 -0700 Subject: [IPython-dev] Moving all dev docs and IPEPs to github Message-ID: Hi, Right now most of our development workflow takes place on github. We are obviously extremely happy with this workflow. In spite of this, we maintain dev related documentation in our sphinx docs. This makes the dev docs a pain to edit and keeps that information away from the main location where people spend their time while doing dev work, namely github. I propose that we transition all of our dev docs (those focused on developing IPython itself) to the github IPython wiki. I also propose that we host all IPEPs at this same location for everyone to edit and view in one place (rather than individual gists). I also propose that we start to think about doing some more deliberate planning for the project (like a roadmap) and that we keep that on the wiki. Thoughts? Cheers, Brian -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From fperez.net at gmail.com Mon Aug 13 02:12:51 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 12 Aug 2012 23:12:51 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sun, Aug 12, 2012 at 9:53 PM, Aaron Meurer wrote: > What we do is just tell the author to reopen it himself if he plans to > work on it. Right, I'd forgotten the submitter had reopen rights even if they aren't part of the repo team. That makes sense then, though I'd phrase it as "feel free to reopen when you work on it again and push new work that's ready for review, simply reopen and make a comment so other participants get notified". Cheers, f From matthew.brett at gmail.com Mon Aug 13 02:28:07 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Sun, 12 Aug 2012 23:28:07 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: Message-ID: Hi, On Sat, Aug 11, 2012 at 12:04 PM, Matthias BUSSONNIER wrote: > > Le 11 ao?t 2012 ? 20:53, Matthew Brett a ?crit : > >> Yo, >> >> On Fri, Aug 10, 2012 at 8:06 PM, Fernando Perez wrote: >>> On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: >>>> >>>> In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} >>>> \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by >>>> mathjax. The following make it render correctly: >>>> >>>> 1) y_3 instead of y_{3} >>>> 2) removing _i of \mathtt{t}_i >>> >>> It seems the thing that confuses it most is the mathtt call. If I >>> remove it altogether (and using \\\ for line separators), then I can >>> use y_{3, 4} and t_{i, j} no problem. Or, if there are no complex >>> subscripts, the mathtt call by itself is OK. But there's something >>> very brittle inside that is messing up mathjax's processing of this. >>> >>> Filed it here, b/c I'm out of ideas: >>> https://github.com/ipython/ipython/issues/2289 >> >> As a matter of interest, and from great ignorance, where in ipython >> would I look for explanations of different behavior of mathjax in a >> markdown cell in the notebook to mathjax in a standalone html page >> like the one above? Is there a good track to follow for debugging? > > a quick grep in the source tell me that the 2 places that triggers mathjax rendering are > IPython/frontend/html/notebook/static/js > cell.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); > outputarea.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); > > You could try to deactivate auto rendering and do it manually to check the source before/after rendering if you see an error in what is published. I'm afraid I am not sure what you mean by the sentence above, is there any chance you could unpack it a little? Sorry, I am completely unfamiliar with the notebook internals, but I'm happy to give it a go if someone can give me a few lines of orientation, Best, Matthew From fperez.net at gmail.com Mon Aug 13 02:36:41 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 12 Aug 2012 23:36:41 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sun, Aug 12, 2012 at 9:53 PM, Brian Granger wrote: > I agree that Aaron's idea is important and I am +1 on implementing > this as you describe. I just want their to be agreement on the > criteria we use to decide *when* we take such an action. How do you > feel about the following: > > * When a PR has been reviewed and is waiting additional code and sits > in this state untouched for 1 month. Sounds more than reasonable to me. > * When the review process can't seem to reach a solid conclusion > because there are larger issues or technical details that have to be > worked out. Once it reaches this point and sits for a month, we > should close the PR and open an issue to continue the larger > discussion. I suppose if it becomes obvious that it is in this state > in a shorter amount of time, we could close it earlier. The goal is > to have PRs reflect code that is actively moving forward towards a > merge. Agreed too, on all points. When broader discussion is needed, the PR often ends up becoming a distraction, as it's too narrowly focused on a specific implementation. > * 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 :) Seriously, we should do our very best to avoid that from happening. And by 'we', I mean *anyone* who is interested in the future of IPython, not just those with commit rights! One of the best way in which you can help our small team of core committers is by reviewing, testing and commenting on existing PRs. It's perfectly possible for participants to refine a PR enough that by the time a core dev has a chance to look at it, all issues have been smoothed out and he can just merge it right away. So what I'd say is: if we find PRs in this kind of limbo, the right course of action is to come to the list with a plea for help. We shouldn't ignore contributions from anyone for that long. I would say that, even if it means delaying one of our pet PRs that may be in the queue, if this happens we should try really hard to prioritize those to help move them along, *especially* if they are from new contributors. Who knows if we'd have Thomas, Matthias, Brad or others with us if the first time they tried to contribute it had taken months to get the first bit of feedback. In my mind, the priorities are: 1. PRs from new people. Reply as fast as possible, even if it means just bouncing it back to them. It's amazing how hard people will work for you on the internet *if you give them prompt and considered feedback*. But if you let their contribution languish for weeks on end, then even a simple 'change this variable name to that and we'll merge' may get ignored, as they get disillusioned. 2. PRs from anyone else. 3. Open issues that have no attached code. > We could go with a much simpler approach and say "regardless of the > reason if a PR hasn't been touched for a month, we close it and open > and issue." A more uniform criteria might come across as less > personal. No, I don't think we need to establish such blind rules. I'm always very skeptical of policies that try to eliminate the need for judgment, human intervention and participation. Whether it's zero-tolerance policies in schools sending kids into trouble because they have a nail clipper ('a weapon') or an aspirin ('dealing drugs'), or blind counting of journal impact factors as the sole metric for scientific advancement, policies that remove the element of judgment are, as far as I've seen, invariably worse than the problem they claim to solve. So very, very strong -1 to this. I want IPython to be a project where, if we have *one* policy, it's that intelligent discussion comes *always* before policy. Cheers, f From asmeurer at gmail.com Mon Aug 13 02:59:46 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Mon, 13 Aug 2012 00:59:46 -0600 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Mon, Aug 13, 2012 at 12:36 AM, Fernando Perez wrote: > On Sun, Aug 12, 2012 at 9:53 PM, Brian Granger wrote: >> I agree that Aaron's idea is important and I am +1 on implementing >> this as you describe. I just want their to be agreement on the >> criteria we use to decide *when* we take such an action. How do you >> feel about the following: >> >> * When a PR has been reviewed and is waiting additional code and sits >> in this state untouched for 1 month. > > Sounds more than reasonable to me. > >> * When the review process can't seem to reach a solid conclusion >> because there are larger issues or technical details that have to be >> worked out. Once it reaches this point and sits for a month, we >> should close the PR and open an issue to continue the larger >> discussion. I suppose if it becomes obvious that it is in this state >> in a shorter amount of time, we could close it earlier. The goal is >> to have PRs reflect code that is actively moving forward towards a >> merge. > > Agreed too, on all points. When broader discussion is needed, the PR > often ends up becoming a distraction, as it's too narrowly focused on > a specific implementation. > >> * 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 :) > > Seriously, we should do our very best to avoid that from happening. > And by 'we', I mean *anyone* who is interested in the future of > IPython, not just those with commit rights! One of the best way in > which you can help our small team of core committers is by reviewing, > testing and commenting on existing PRs. It's perfectly possible for > participants to refine a PR enough that by the time a core dev has a > chance to look at it, all issues have been smoothed out and he can > just merge it right away. > > So what I'd say is: if we find PRs in this kind of limbo, the right > course of action is to come to the list with a plea for help. We > shouldn't ignore contributions from anyone for that long. I would say > that, even if it means delaying one of our pet PRs that may be in the > queue, if this happens we should try really hard to prioritize those > to help move them along, *especially* if they are from new > contributors. Who knows if we'd have Thomas, Matthias, Brad or others > with us if the first time they tried to contribute it had taken months > to get the first bit of feedback. > > In my mind, the priorities are: > > 1. PRs from new people. Reply as fast as possible, even if it means > just bouncing it back to them. It's amazing how hard people will work > for you on the internet *if you give them prompt and considered > feedback*. But if you let their contribution languish for weeks on > end, then even a simple 'change this variable name to that and we'll > merge' may get ignored, as they get disillusioned. > > 2. PRs from anyone else. > > 3. Open issues that have no attached code. > >> We could go with a much simpler approach and say "regardless of the >> reason if a PR hasn't been touched for a month, we close it and open >> and issue." A more uniform criteria might come across as less >> personal. > > No, I don't think we need to establish such blind rules. I'm always > very skeptical of policies that try to eliminate the need for > judgment, human intervention and participation. Whether it's > zero-tolerance policies in schools sending kids into trouble because > they have a nail clipper ('a weapon') or an aspirin ('dealing > drugs'), or blind counting of journal impact factors as the sole > metric for scientific advancement, policies that remove the element of > judgment are, as far as I've seen, invariably worse than the problem > they claim to solve. So very, very strong -1 to this. > > I want IPython to be a project where, if we have *one* policy, it's > that intelligent discussion comes *always* before policy. Amen to this! Eric Jones expressed a similar sentiment in his SciPy 2011 keynote about unnecessary rules and their unintended consequences. So "a month" should be, at best, a rule of thumb, and then, really only if it's necessary beyond the base rule of thumb, "use common sense". Aaron Meurer > > 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 Aug 13 03:04:35 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 13 Aug 2012 00:04:35 -0700 Subject: [IPython-dev] Moving all dev docs and IPEPs to github In-Reply-To: References: Message-ID: On Sun, Aug 12, 2012 at 10:02 PM, Brian Granger wrote: > I propose that we transition all of our dev docs (those focused on > developing IPython itself) to the github IPython wiki. I think that's sensible, but only if we also move the existing wiki (we've talked about that in the past, with several people in favor, and Thomas graciously indicating that despite his time being the largest 'sunk cost' here he wouldn't object either). I don't mind the current wiki as much as others, but what I do *not* want is to have two wikis again. So if we're going to activate the github wiki, then that should be our *only* wiki. That means we'll need to migrate both the current wiki and the current dev docs to it. I'm sort of +0.5 on the idea, and will happily go along if other devs feel it will really make things better for them. > I also propose that we host all IPEPs at this same location for > everyone to edit and view in one place (rather than individual gists). Yes, my putting the first IPEP on a gist was just a quick experiment. At the time, I was thinking we could make a separate repo for IPEPS. But since the wiki *is* a repo, it would satisfy the criteria I had in mind at the time (easier access to all IPEPs in one place, easy updates for anyone who proposes one, ...). > I also propose that we start to think about doing some more deliberate > planning for the project (like a roadmap) and that we keep that on the > wiki. Yes, this is something that we've been hinting and where we occasionally drop half-discussions on the list, but having a bit of organization is starting to be necessary. I don't believe in overly detailed roadmaps, because the nature of open source work is a highly organic, evolutionary process driven by a combination of individual interests and the PR review process acting as selective pressure. So I think there's little point in trying to 'dictate' via a roadmap what the project needs to be... But where I think there's a lot of value, and that we have a genuine need, is in helping us all understand what the 'big ideas' are, what the main lines of work for the project are and if anyone in particular is already tackling one or not, so that people can coordinate a bit. So I think that this roadmap would mostly be in a sense a place to suggest directions for work that may need an IPEP, or where one or more people may want to coordinate efforts. With that loose definition of roadmap, I'm all for it and I think it will help us all work better... Cheers, f From bussonniermatthias at gmail.com Mon Aug 13 04:42:34 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Mon, 13 Aug 2012 10:42:34 +0200 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: Message-ID: <34BFA57D-0000-4D85-BCC2-1F9E2CB0A8DF@gmail.com> Le 13 ao?t 2012 ? 08:28, Matthew Brett a ?crit : > Hi, > > On Sat, Aug 11, 2012 at 12:04 PM, Matthias BUSSONNIER > wrote: >> >> Le 11 ao?t 2012 ? 20:53, Matthew Brett a ?crit : >> >>> Yo, >>> >>> On Fri, Aug 10, 2012 at 8:06 PM, Fernando Perez wrote: >>>> On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: >>>>> >>>>> In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} >>>>> \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by >>>>> mathjax. The following make it render correctly: >>>>> >>>>> 1) y_3 instead of y_{3} >>>>> 2) removing _i of \mathtt{t}_i >>>> >>>> It seems the thing that confuses it most is the mathtt call. If I >>>> remove it altogether (and using \\\ for line separators), then I can >>>> use y_{3, 4} and t_{i, j} no problem. Or, if there are no complex >>>> subscripts, the mathtt call by itself is OK. But there's something >>>> very brittle inside that is messing up mathjax's processing of this. >>>> >>>> Filed it here, b/c I'm out of ideas: >>>> https://github.com/ipython/ipython/issues/2289 >>> >>> As a matter of interest, and from great ignorance, where in ipython >>> would I look for explanations of different behavior of mathjax in a >>> markdown cell in the notebook to mathjax in a standalone html page >>> like the one above? Is there a good track to follow for debugging? >> >> a quick grep in the source tell me that the 2 places that triggers mathjax rendering are >> IPython/frontend/html/notebook/static/js >> cell.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); >> outputarea.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); >> >> You could try to deactivate auto rendering and do it manually to check the source before/after rendering if you see an error in what is published. > > I'm afraid I am not sure what you mean by the sentence above, is there > any chance you could unpack it a little? Sorry, I am completely > unfamiliar with the notebook internals, but I'm happy to give it a go > if someone can give me a few lines of orientation, Sorry, I'm not a pro of mathjax either. in sum up, you publish latex in a div with a special class, then call MathJax.Hub.Queue(["Typeset",MathJax.Hub]); which will scan the page for theses div and 'render' it. MathJax.Hub.Queue(["Typeset",MathJax.Hub]); is called when a cell is rendered or, when something is pushed in an output area. commenting those line in in IPyhton/frontend/html/notebook/static/js/(cell | outputarea).js will publish the "raw" latex that you would have a chance to inspect/modify before calling MathJax.Hub.Queue(["Typeset",MathJax.Hub]); From the JS console yourself to render. at least that where I would look first using firefox firebug, or Chrome/Safari development panel. Does this make more sense ? -- Matthias From matthew.brett at gmail.com Mon Aug 13 15:00:52 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Mon, 13 Aug 2012 12:00:52 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: <34BFA57D-0000-4D85-BCC2-1F9E2CB0A8DF@gmail.com> References: <34BFA57D-0000-4D85-BCC2-1F9E2CB0A8DF@gmail.com> Message-ID: Hi, On Mon, Aug 13, 2012 at 1:42 AM, Matthias BUSSONNIER wrote: > > Le 13 ao?t 2012 ? 08:28, Matthew Brett a ?crit : > >> Hi, >> >> On Sat, Aug 11, 2012 at 12:04 PM, Matthias BUSSONNIER >> wrote: >>> >>> Le 11 ao?t 2012 ? 20:53, Matthew Brett a ?crit : >>> >>>> Yo, >>>> >>>> On Fri, Aug 10, 2012 at 8:06 PM, Fernando Perez wrote: >>>>> On Fri, Aug 10, 2012 at 4:21 PM, Matthew Brett wrote: >>>>>> >>>>>> In the notebook this renders as "$$ \begin{array}{c} y_{11} \cr y_{12} >>>>>> \mathtt{t}i \cr y{13} \end{array} $$" - i.e. somehow rejected by >>>>>> mathjax. The following make it render correctly: >>>>>> >>>>>> 1) y_3 instead of y_{3} >>>>>> 2) removing _i of \mathtt{t}_i >>>>> >>>>> It seems the thing that confuses it most is the mathtt call. If I >>>>> remove it altogether (and using \\\ for line separators), then I can >>>>> use y_{3, 4} and t_{i, j} no problem. Or, if there are no complex >>>>> subscripts, the mathtt call by itself is OK. But there's something >>>>> very brittle inside that is messing up mathjax's processing of this. >>>>> >>>>> Filed it here, b/c I'm out of ideas: >>>>> https://github.com/ipython/ipython/issues/2289 >>>> >>>> As a matter of interest, and from great ignorance, where in ipython >>>> would I look for explanations of different behavior of mathjax in a >>>> markdown cell in the notebook to mathjax in a standalone html page >>>> like the one above? Is there a good track to follow for debugging? >>> >>> a quick grep in the source tell me that the 2 places that triggers mathjax rendering are >>> IPython/frontend/html/notebook/static/js >>> cell.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); >>> outputarea.js: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); >>> >>> You could try to deactivate auto rendering and do it manually to check the source before/after rendering if you see an error in what is published. >> >> I'm afraid I am not sure what you mean by the sentence above, is there >> any chance you could unpack it a little? Sorry, I am completely >> unfamiliar with the notebook internals, but I'm happy to give it a go >> if someone can give me a few lines of orientation, > > Sorry, I'm not a pro of mathjax either. > in sum up, you publish latex in a div with a special class, then call > > MathJax.Hub.Queue(["Typeset",MathJax.Hub]); > > which will scan the page for theses div and 'render' it. > > MathJax.Hub.Queue(["Typeset",MathJax.Hub]); > is called when a cell is rendered or, when something is pushed in an output area. > > commenting those line in > in IPyhton/frontend/html/notebook/static/js/(cell | outputarea).js > will publish the "raw" latex that you would have a chance to inspect/modify before calling > MathJax.Hub.Queue(["Typeset",MathJax.Hub]); > >From the JS console yourself to render. > > at least that where I would look first using firefox firebug, or Chrome/Safari development panel. > > Does this make more sense ? Thanks - yes - the pointer to the Chrome developer panel got me a little further. I think what is happening is that some other script (?markdown) is getting to the TeX before it gets to mathjax. Specifically, if I put the mal-functioning TeX into a cell: $$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}_i \cr y_{3} \end{array} $$ and put a breakpoint on the line: MathJax.Hub.Queue(["Typeset",MathJax.Hub]); in cell.js, the html in the cell before rendering is this:

$$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}i \cr y{3} \end{array} $$

Notice the stray .. tags. If I do a tiny edit to the malfunctioning TeX so that it renders correctly (removing the {} round the last '3'): $$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}_i \cr y_3 \end{array} $$ then the html before MathJax gets it is:

$$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}_i \cr y_3 \end{array} $$

So I think something in the notebook is inserting the .. tags into the TeX, and this is busting the rendering. I've attached a fuller output of the html before and after rendering. What could be doing this? Is there a way of stopping this preprocessing of TeX? Could this also explain the need for three `\` for end-of-line instead of two? Cheers, Matthew -------------- next part -------------- Bad before:
$$ 
$$
\begin{array}{c}
y_1 \cr
y_2 \mathtt{t}_i \cr
y_{3}
\end{array}
$$
Bad after:

$$ \begin{array}{c} y_1 \cr y_2 \mathtt{t}i \cr y{3} \end{array} $$

Good before:
$$ 
 
$$
\begin{array}{c}
y_1 \cr
y_2 \mathtt{t}_i \cr
y_3
\end{array}
$$
Good after:

y1y2?iy3

From bussonniermatthias at gmail.com Mon Aug 13 15:37:23 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Mon, 13 Aug 2012 21:37:23 +0200 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: <34BFA57D-0000-4D85-BCC2-1F9E2CB0A8DF@gmail.com> Message-ID: <928C90BB-2251-43E6-9957-A24BD87EBA4B@gmail.com> > Thanks - yes - the pointer to the Chrome developer panel got me a > little further. > > I think what is happening is that some other script (?markdown) is > getting to the TeX before it gets to mathjax. > > Specifically, if I put the mal-functioning TeX into a cell: > > $$ > \begin{array}{c} > y_1 \cr > y_2 \mathtt{t}_i \cr > y_{3} > \end{array} > $$ > > and put a breakpoint on the line: > > MathJax.Hub.Queue(["Typeset",MathJax.Hub]); > > in cell.js, the html in the cell before rendering is this: > >

$$ > \begin{array}{c} > y_1 \cr > y_2 \mathtt{t}i \cr > y{3} > \end{array} > $$

> > Notice the stray .. tags. If I do a tiny edit to the > malfunctioning TeX so that it renders correctly (removing the {} round > the last '3'): Ah ! Yes, that should be markdown `_smth_` is the way to emphases stuff. What you can do is already recap this on the opened issues about this. https://github.com/ipython/ipython/issues/2289 If I was looking at where markdown is processed I would look in IPython/frontend/html/notebook/static/js/textcell.js But I don't know this file very much. Thanks ! -- Matthias > $$ > \begin{array}{c} > y_1 \cr > y_2 \mathtt{t}_i \cr > y_3 > \end{array} > $$ > > then the html before MathJax gets it is: > >

$$ > \begin{array}{c} > y_1 \cr > y_2 \mathtt{t}_i \cr > y_3 > \end{array} > $$

> > So I think something in the notebook is inserting the .. > tags into the TeX, and this is busting the rendering. I've attached > a fuller output of the html before and after rendering. > > What could be doing this? Is there a way of stopping this > preprocessing of TeX? Could this also explain the need for three `\` > for end-of-line instead of two? > > Cheers, > > Matthew > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From fperez.net at gmail.com Mon Aug 13 18:47:06 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 13 Aug 2012 15:47:06 -0700 Subject: [IPython-dev] Extra blank lines in output of %%cython -a? In-Reply-To: References: Message-ID: On Fri, Aug 10, 2012 at 9:58 PM, Brian Granger wrote: > Now that I think about it, I saw the same thing. OK, thanks for confirming... I've added this info to https://github.com/ipython/ipython/issues/2286 where we need to work on the annotate example anyways. Cheers, f From fperez.net at gmail.com Mon Aug 13 18:48:44 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 13 Aug 2012 15:48:44 -0700 Subject: [IPython-dev] IBM DeveloperWorks article on IPython In-Reply-To: <5023420E.8080208@creativetrax.com> References: <5023420E.8080208@creativetrax.com> Message-ID: Hi Jason, On Wed, Aug 8, 2012 at 9:52 PM, Jason Grout wrote: > There's a nice article on IBM DeveloperWorks on IPython and Sage, > including some screenshots of the QT console and the IPython notebook: > http://www.ibm.com/developerworks/linux/library/l-science-compute/index.html > > Thanks to Harald Schilly for posting about this to the sage-marketing list. Thanks a lot for pointing that out! I'm cc'ing the user list here in case others are interested... We really need to update our main page to put this, the nbcloud/nbviewer stuff, the scipy talk and tutorials... Cheers, f From ellisonbg at gmail.com Mon Aug 13 20:59:57 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Mon, 13 Aug 2012 17:59:57 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: <928C90BB-2251-43E6-9957-A24BD87EBA4B@gmail.com> References: <34BFA57D-0000-4D85-BCC2-1F9E2CB0A8DF@gmail.com> <928C90BB-2251-43E6-9957-A24BD87EBA4B@gmail.com> Message-ID: Can we move this discussion to the issue we have open about problems with mathjax rendering in the notebook as it relates to markdown. On Mon, Aug 13, 2012 at 12:37 PM, Matthias BUSSONNIER wrote: > >> Thanks - yes - the pointer to the Chrome developer panel got me a >> little further. >> >> I think what is happening is that some other script (?markdown) is >> getting to the TeX before it gets to mathjax. >> >> Specifically, if I put the mal-functioning TeX into a cell: >> >> $$ >> \begin{array}{c} >> y_1 \cr >> y_2 \mathtt{t}_i \cr >> y_{3} >> \end{array} >> $$ >> >> and put a breakpoint on the line: >> >> MathJax.Hub.Queue(["Typeset",MathJax.Hub]); >> >> in cell.js, the html in the cell before rendering is this: >> >>

$$ >> \begin{array}{c} >> y_1 \cr >> y_2 \mathtt{t}i \cr >> y{3} >> \end{array} >> $$

>> >> Notice the stray .. tags. If I do a tiny edit to the >> malfunctioning TeX so that it renders correctly (removing the {} round >> the last '3'): > > Ah ! Yes, that should be markdown `_smth_` is the way to emphases stuff. > What you can do is already recap this on the opened issues about this. > https://github.com/ipython/ipython/issues/2289 > > If I was looking at where markdown is processed I would look in IPython/frontend/html/notebook/static/js/textcell.js > > But I don't know this file very much. > > Thanks ! > -- > Matthias > > >> $$ >> \begin{array}{c} >> y_1 \cr >> y_2 \mathtt{t}_i \cr >> y_3 >> \end{array} >> $$ >> >> then the html before MathJax gets it is: >> >>

$$ >> \begin{array}{c} >> y_1 \cr >> y_2 \mathtt{t}_i \cr >> y_3 >> \end{array} >> $$

>> >> So I think something in the notebook is inserting the .. >> tags into the TeX, and this is busting the rendering. I've attached >> a fuller output of the html before and after rendering. >> >> What could be doing this? Is there a way of stopping this >> preprocessing of TeX? Could this also explain the need for three `\` >> for end-of-line instead of two? >> >> Cheers, >> >> Matthew >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From ellisonbg at gmail.com Mon Aug 13 23:14:31 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Mon, 13 Aug 2012 20:14:31 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Sun, Aug 12, 2012 at 11:36 PM, Fernando Perez wrote: > On Sun, Aug 12, 2012 at 9:53 PM, Brian Granger wrote: >> I agree that Aaron's idea is important and I am +1 on implementing >> this as you describe. I just want their to be agreement on the >> criteria we use to decide *when* we take such an action. How do you >> feel about the following: >> >> * When a PR has been reviewed and is waiting additional code and sits >> in this state untouched for 1 month. > > Sounds more than reasonable to me. > >> * When the review process can't seem to reach a solid conclusion >> because there are larger issues or technical details that have to be >> worked out. Once it reaches this point and sits for a month, we >> should close the PR and open an issue to continue the larger >> discussion. I suppose if it becomes obvious that it is in this state >> in a shorter amount of time, we could close it earlier. The goal is >> to have PRs reflect code that is actively moving forward towards a >> merge. > > Agreed too, on all points. When broader discussion is needed, the PR > often ends up becoming a distraction, as it's too narrowly focused on > a specific implementation. > >> * 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. > Seriously, we should do our very best to avoid that from happening. > And by 'we', I mean *anyone* who is interested in the future of > IPython, not just those with commit rights! One of the best way in > which you can help our small team of core committers is by reviewing, > testing and commenting on existing PRs. It's perfectly possible for > participants to refine a PR enough that by the time a core dev has a > chance to look at it, all issues have been smoothed out and he can > just merge it right away. > > So what I'd say is: if we find PRs in this kind of limbo, the right > course of action is to come to the list with a plea for help. We > shouldn't ignore contributions from anyone for that long. I would say > that, even if it means delaying one of our pet PRs that may be in the > queue, if this happens we should try really hard to prioritize those > to help move them along, *especially* if they are from new > contributors. Who knows if we'd have Thomas, Matthias, Brad or others > with us if the first time they tried to contribute it had taken months > to get the first bit of feedback. > > In my mind, the priorities are: > > 1. PRs from new people. Reply as fast as possible, even if it means > just bouncing it back to them. It's amazing how hard people will work > for you on the internet *if you give them prompt and considered > feedback*. But if you let their contribution languish for weeks on > end, then even a simple 'change this variable name to that and we'll > merge' may get ignored, as they get disillusioned. > > 2. PRs from anyone else. > > 3. Open issues that have no attached code. Yep. >> We could go with a much simpler approach and say "regardless of the >> reason if a PR hasn't been touched for a month, we close it and open >> and issue." A more uniform criteria might come across as less >> personal. > > No, I don't think we need to establish such blind rules. I'm always > very skeptical of policies that try to eliminate the need for > judgment, human intervention and participation. Whether it's > zero-tolerance policies in schools sending kids into trouble because > they have a nail clipper ('a weapon') or an aspirin ('dealing > drugs'), or blind counting of journal impact factors as the sole > metric for scientific advancement, policies that remove the element of > judgment are, as far as I've seen, invariably worse than the problem > they claim to solve. So very, very strong -1 to this. OK, I wasn't attached to this idea, just thought that is was a possible alternative that was simple. > 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 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 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. Cheers, Brian > 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 fperez.net at gmail.com Mon Aug 13 23:29:49 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 13 Aug 2012 20:29:49 -0700 Subject: [IPython-dev] Policy for closing pull requests In-Reply-To: References: Message-ID: On Mon, Aug 13, 2012 at 8:14 PM, Brian Granger wrote: > On Sun, Aug 12, 2012 at 11:36 PM, Fernando Perez 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 From matthew.brett at gmail.com Tue Aug 14 00:39:27 2012 From: matthew.brett at gmail.com (Matthew Brett) Date: Mon, 13 Aug 2012 21:39:27 -0700 Subject: [IPython-dev] mathjax not rendering in notebook In-Reply-To: References: <34BFA57D-0000-4D85-BCC2-1F9E2CB0A8DF@gmail.com> <928C90BB-2251-43E6-9957-A24BD87EBA4B@gmail.com> Message-ID: On Mon, Aug 13, 2012 at 5:59 PM, Brian Granger wrote: > Can we move this discussion to the issue we have open about problems > with mathjax rendering in the notebook as it relates to markdown. I've added an edited version of my email to issue 2289. Cheers, Matthew From nicolas at pettiaux.be Tue Aug 14 05:01:32 2012 From: nicolas at pettiaux.be (Nicolas Pettiaux) Date: Tue, 14 Aug 2012 11:01:32 +0200 Subject: [IPython-dev] internationalisation and translation of ipython In-Reply-To: References: Message-ID: Hi Fernando, THanks for the long reply. > Thanks for starting the discussion here... As Aaron indicated (many > thanks BTW for that insight, it's *extremely* useful!), this is a > tough job, I know it is > and one that is very easy to fall out of date. So I would > follow a few criteria in any attempt in this direction: > > - focus only on localized, high-value targets: the notebook UI, the Qt > console UI, the magic docstrings and the main usage.py strings. this is exactely what I want to start with on work on now. If we succeed with that, I would already be very happy, and then only we could move on to something larger (more documentation and website) > - I would, at least for now, leave the website alone: it's too > dynamic, and for better or worse people survive with a few websites in > English. We could add to the main website a summary page in other > languages, that we would not attempt to maintain in perfect sync with > the main site. This would serve as a reasonable explanation of what > ipython is to speakers of other languages, and would tell them what > parts they can expect to see translated and which ones they can't (for > now). Yes, I see it that way too. A summary of the website, with the unmoving parts translated, and maybe only the annoucement for the release and the new features, much as the LibreOffice project does. This would ba adressed as said, after the first part, unless I find people to tackle this task. > - focus only for now on high-value languages that have a decent chance > of being maintained in the long run: Spanish and French. I understand > the value of other languages, but this is simply a matter of resource > triage and impact. For example, most Dutch/German/Scandinavian > languages speakers tend to at least read English very well, which is > not necessarily true in Spanish. If we get to a state where we have > these in really good shape, we can consider others. And before anyone > accuses me of Western-centrism: if we reach that point, we'll already > be doing better *than Python itself*, which has vastly more resources > than we do and whose docs aren't officially translated to any language > that I can find. So yes, it's western-centric, but that's simply the > reality we come from. Yes, after the internationalization (i18n) effort that is related to the code (as per use of gettext), the localization (l10n), that is the translation itself, would have to be taken separately. I can only work for French, my native language. I believe you are right. The young Dutch/Scandinavian/German do have a command of English that is good enough. And if they want, they have active communities that can tackle the problems of the translation (t10n) if they want. But I will not take any energy on that. > - If you want to take this on, you'll pretty much have to lead the > effort yourself. Other than providing you feedback by reviewing pull > requests, I'm afraid right now I have zero bandwidth for this, and > it's not something that has ever come up until now, so I suspect the > 'available effort' from others may also be low. But it's also > possible that if you lead the way, others may join in and help, after > all this is the kind of task which, once the basic machinery is in > place, lends itself well to distributed maintenance even by people who > may not know how to code. I know that I would have to lead the effort. I am not anymore an active developper and this is an activity that I am ready to work on: get back to the code to add gettext structure to allow for i18n and then work on the tool chain to have a good setup for the t10n. I am now looking closely at the tools and process that the LibreOffice and Mozilla projects use, as well as other established l10n project. See for example http://translate.sourceforge.net/wiki/guide/start and http://www.africanlocalisation.net/sites/default/files/FOSS%20l10n%20guide%20-%2020110214-en.pdf . I am also in touch with professionnal tranlators who have just created a foundation to help with the t10n tools to assist. > - it will be very important to focus on implementing this in a way > that is as unobtrusive as possible to the main development in English. > I know next to nothing about i18n other than 'use gettext', but I'm > sure that if the setup makes regular development in English > substantially more cumbersome, you'll get tons of pushback from the > main developers. Again, it's a matter of balancing priorities with > limited resources: people try to squeeze whatever IPython development > they can typically 'on the side' of otherwise very busy schedules. > That's why we insist so much on tools and workflows that are very > fluid (github, our very streamlined branch management, our tools/ > directory, our website/docs setup that is now being adopted by others > in the scipy community, etc). Anything that brings friction to the > everyday work will be (rightfully) seen with very skeptical eyes by > the core devs. I completely agree with that.The i18n activity must be completely compatible with the easy developpement in plain English. It is with gettext. For the developper, the use of gettext is nearly limited to * insert something like "import i18n.py" or "from gettext import gettext as _" at the beginning of the file, * wrap the visible strings (window titles, dialog titles, notifications, labels, button labels and so on) with the '_()' function. I suppose that this is doable and would not be obstructive for the coders. Please let me know. I am looking at the process for javascript, but I suppose it is not much different. Then the l10n process starts, with its own tools, but this is *not* related to the code, and can work completely independently, with its own tools, process, workflows and people. There is a quite good video on the subject of i10n http://www.universalsubtitles.org/en/videos/Q06kJR9g5IHq/en/252681/ My plan is to let *you*, the coders code, and start tackling the work of l10n. > And given that ipython's focus is scientific work, and > that for better or worse scientific work pretty much *mandates* a > command of English (I know what I'm talking about: as an undergraduate > in Colombia in the early 90's, many of my *textbooks* were in English, > so we didn't really have an option), so were mine as an undergraduate in physics, for the French speaking Belgian that I was. It is still the case. > our English bias will remain > there for the foreseeable future. indeed it is. But if we want the beginners to start with ipython, IMHO, some localized help must exist, as well as tutorials, subtitled videos ... By the way, once the English videos have been subscribed in English, which could be useful also for English speakers who are either deaf or if the speaker has not a very good pronunciation, for example because he/she is not a native English person (which is about 92 % of the world population), the subtitle can easily be localized either with. See for example the initiative http://www.universalsubtitles.org/ I am wondering if and how all the tools of gettext l10n can be used for l10n of subtitled videos. I am looking into this subject to. > I hope the above doesn't sound discouraging to you: it is not. > I'm simply trying > to give you a realistic assessment of what will be needed, at least > from what I can see at this point, to make this happen. I'd rather do > that than give you a rosy but falsely encouraging picture. This is the picture I have myself, and I know where I am starting and where I want to go. > In summary, I think it's a worthwhile task, and if you are willing to > lead the effort and make progress on it, we'll be delighted to review > your contributions. And obviously, if others on the list would like > to participate on this particular effort, by all means join Nicolas! > This is the kind of thing that may seem a bit daunting for one person, > but where if two or three people get together, significant progress > may happen before you know it. I plan to write some small proposals as soon as I can, once I will have got the process I think are best to propose you. I would with pleasure work with as many of you as possible, and get back to the code through this effort. Thanks for your interest, Nicolas -- Nicolas Pettiaux From takowl at gmail.com Tue Aug 14 06:38:14 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 14 Aug 2012 11:38:14 +0100 Subject: [IPython-dev] internationalisation and translation of ipython In-Reply-To: References: Message-ID: Hi Nicolas, On 14 August 2012 10:01, Nicolas Pettiaux wrote: > * insert something like "import i18n.py" or "from gettext import > gettext as _" at the beginning of the file, > * wrap the visible strings (window titles, dialog titles, > notifications, labels, button labels and so on) with the '_()' > function. > I've seen how gettext works from within the code, and I agree that it does seem simple. Can I ask about logistics: * Do the message catalogues need a build step, and what does that require? * Where does gettext look for the message catalogues? * Do you envisage us shipping the message catalogues as part of a standard IPython download? Or would they be separate 'language pack' downloads? * How would it be delivered through our different channels: - Linux distro repositories - Python distros (EPD, Python(x,y)) - Windows separate install - The various Mac repository systems - People installing from PyPI Thanks, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From catchmrbharath at gmail.com Tue Aug 14 13:20:54 2012 From: catchmrbharath at gmail.com (Bharath M R) Date: Tue, 14 Aug 2012 22:50:54 +0530 Subject: [IPython-dev] running Terminal app with --pylab option by default. Message-ID: Hi, At sympy, we have ``isympy``, which initiates a ``TerminalIPythonApp`` Recently we added a plotting module with matplotlib backend, and the plots rendered are presently blocking. I would like to run ``--pylab`` option by default whenever isympy is called, so that they are not blocking. This can be done by setting the corresponding option in my ipython_profile, but what I need is the pylab option to be enabled whenever isympy is run, for all the users. How should I set the --pylab option in TerminalIPythonApp? Thanks for the help. -- Bharath M R 5th Year undergraduate student, IIT Madras catchmrbharath.github.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From asmeurer at gmail.com Tue Aug 14 19:35:20 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Tue, 14 Aug 2012 17:35:20 -0600 Subject: [IPython-dev] running Terminal app with --pylab option by default. In-Reply-To: References: Message-ID: <1972954791576848806@unknownmsgid> And to clarify, we don't want to import Numpy and all that other stuff. We just want to enable non-blocking plotting. Aaron Meurer On Aug 14, 2012, at 11:20 AM, Bharath M R wrote: > Hi, > At sympy, we have ``isympy``, which initiates a ``TerminalIPythonApp`` > Recently we added a plotting module with matplotlib backend, and the plots > rendered are presently blocking. I would like to run ``--pylab`` option by default > whenever isympy is called, so that they are not blocking. This can be done by > setting the corresponding option in my ipython_profile, but what I need is the pylab > option to be enabled whenever isympy is run, for all the users. How should I set > the --pylab option in TerminalIPythonApp? > > Thanks for the help. > -- > Bharath M R > 5th Year undergraduate student, > IIT Madras > catchmrbharath.github.com > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From benjaminrk at gmail.com Tue Aug 14 20:09:40 2012 From: benjaminrk at gmail.com (MinRK) Date: Tue, 14 Aug 2012 17:09:40 -0700 Subject: [IPython-dev] running Terminal app with --pylab option by default. In-Reply-To: <1972954791576848806@unknownmsgid> References: <1972954791576848806@unknownmsgid> Message-ID: On Tue, Aug 14, 2012 at 4:35 PM, Aaron Meurer wrote: > And to clarify, we don't want to import Numpy and all that other > stuff. We just want to enable non-blocking plotting. > `--pylab` invokes the following method: shell.enable_pylab(import_all=False) # import_all=True is the default, with all of the imports So the steps would be: from IPython.frontend.terminal.ipapp import TerminalIPythonApp # setup the app app = TerminalIPythonApp.instance() app.initialize(argv) # enable pylab hookups app.shell.enable_pylab(import_all=False) # start the app app.start() > > Aaron Meurer > > On Aug 14, 2012, at 11:20 AM, Bharath M R > wrote: > > > Hi, > > At sympy, we have ``isympy``, which initiates a ``TerminalIPythonApp`` > > Recently we added a plotting module with matplotlib backend, and the > plots > > rendered are presently blocking. I would like to run ``--pylab`` option > by default > > whenever isympy is called, so that they are not blocking. This can be > done by > > setting the corresponding option in my ipython_profile, but what I need > is the pylab > > option to be enabled whenever isympy is run, for all the users. How > should I set > > the --pylab option in TerminalIPythonApp? > > > > Thanks for the help. > > -- > > Bharath M R > > 5th Year undergraduate student, > > IIT Madras > > catchmrbharath.github.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: From manderso at broadcom.com Wed Aug 15 13:15:53 2012 From: manderso at broadcom.com (Matt Anderson) Date: Wed, 15 Aug 2012 17:15:53 +0000 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: Hello again, I know everyone is really busy, and my first emailing was long and detailed, perhaps a challenge to address. So, I thought I would break it up myself into a couple smaller, more targeted questions. First question: does the current implementation (v0.13) of the function IPython.embed() have the correct behavior? It does not seem to participate in the singleton system, and consequently another instance of an InteractiveShell gets created (by the internal IPython machinery) without the config passed to the IPython.embed() function. To remedy, should the implementation of this function call InteractiveShellEmbed.instance() instead of InteractiveShellEmbed()? Text from the previous email relating to this is quoted below. Thanks, Matt > Also, I'm not certain if the IPython.embed() function works as > intended. It calls the InteractiveShellEmbed class directly to > construct one, not the InteractiveShellEmbed.instance() method. > So an interpreter constructed in this way does not participate > in the singleton system, and the first time one of many things > happen in the interactive loop (such as an exception being > thrown), *another* InteractiveShell object gets constructed > that does not share the config that the InteractiveShellEmbed > class was passed. I discovered this after configuring the > HistoryManager.hist_file configuration setting to > be ":memory:", and then running a pdb.set_trace() when the > IPython.core.history.HistorySavingThread was being > constructed (which should not happen if the hist_file > is ":memory:"). The singleton that does get constructed was > trying to open a connection to the default history db file > location, and so I assume it was constructed with no > configuration parameters (at least not with the ones I passed > in). > > Is that the desired behavior? Or should > IPython.frontend.terminal.embed.embed() be calling > InteractiveShellEmbed.instance(**kwargs) instead of > InteractiveShellEmbed(**kwargs)? From takowl at gmail.com Wed Aug 15 15:13:17 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 15 Aug 2012 20:13:17 +0100 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: Hi Matt, On 15 August 2012 18:15, Matt Anderson wrote: > To remedy, should the implementation of this function call InteractiveShellEmbed.instance() instead of InteractiveShellEmbed()? Looking at the code for embed(), it has these three lines: global _embedded_shell if _embedded_shell is None: _embedded_shell = InteractiveShellEmbed(**kwargs) So it's effectively implementing a singleton pattern itself. It looks to me like it would make more sense to use the .instance() API that's used elsewhere in the code, but I'm not familiar with the reason it was originally done a different way. I think Fernando might be most familiar with that bit of the code. He's very busy at the moment, so it might be a few days before he can chime in. Thanks, Thomas From benjaminrk at gmail.com Wed Aug 15 15:25:38 2012 From: benjaminrk at gmail.com (MinRK) Date: Wed, 15 Aug 2012 12:25:38 -0700 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On Wed, Aug 15, 2012 at 12:13 PM, Thomas Kluyver wrote: > Hi Matt, > > On 15 August 2012 18:15, Matt Anderson wrote: > > To remedy, should the implementation of this function call > InteractiveShellEmbed.instance() instead of InteractiveShellEmbed()? > > Looking at the code for embed(), it has these three lines: > > global _embedded_shell > if _embedded_shell is None: > _embedded_shell = InteractiveShellEmbed(**kwargs) > > So it's effectively implementing a singleton pattern itself. It looks > to me like it would make more sense to use the .instance() API that's > used elsewhere in the code, but I'm not familiar with the reason it > was originally done a different way. > embed was implemented before the singleton stuff came together. It probably should use instance(), but doing so has one disadvantage: It would break the ability to call embed() from within an existing IPython session. I don't know if anyone cares about that use case, though. > > I think Fernando might be most familiar with that bit of the code. > He's very busy at the moment, so it might be a few days before he can > chime in. > > 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: From takowl at gmail.com Wed Aug 15 15:51:18 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 15 Aug 2012 20:51:18 +0100 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On 15 August 2012 20:25, MinRK wrote: > It would break the ability to call embed() from within an existing IPython > session Isn't that already broken? Last time I tried it, I think certain bits of the code assumed the process would only have one shell, and went wrong when it didn't. Thomas From warren.weckesser at enthought.com Wed Aug 15 17:30:54 2012 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Wed, 15 Aug 2012 16:30:54 -0500 Subject: [IPython-dev] Scipy 2012 Kudos Message-ID: Hey folks, In our post-conference survey of the SciPy 2012 attendees, one of the open-ended questions we asked was "What was your favorite SciPy 2012 moment?". Of the 50 responses to this question, 12 explicitly mentioned the IPython tutorial or talk. That's pretty impressive--nice job, guys! Warren -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl.input at gmail.com Wed Aug 15 19:52:03 2012 From: carl.input at gmail.com (Carl Smith) Date: Thu, 16 Aug 2012 00:52:03 +0100 Subject: [IPython-dev] Scipy 2012 Kudos In-Reply-To: References: Message-ID: That's a cool stat. The Notebook is years of hard work finally blossoming for IPython. It's good to see them get the credit they deserve. Eventually, open source always wins out :) From carl.input at gmail.com Fri Aug 17 18:33:42 2012 From: carl.input at gmail.com (Carl Smith) Date: Fri, 17 Aug 2012 23:33:42 +0100 Subject: [IPython-dev] Google Plus Page Managers Message-ID: Hi all I was looking at IPython's Google Page, on Plus, and it isn't really being maintained. There are no posts, at least none that are public, and it just feels a bit deserted. Google Page owners can appoint managers to help with maintenance. There's some details here http://support.google.com/plus/bin/answer.py?hl=en-GB&p=pages_multi_admin&answer=2380625 It'd be nice if the page had a bit of activity, and it's not something that the core developers need to do directly, they can just oversee it. If it's ok with everyone else, I'd personally like to put myself forwards for doing this. Thanks Carl From takowl at gmail.com Fri Aug 17 19:10:39 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 18 Aug 2012 00:10:39 +0100 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: On 17 August 2012 23:33, Carl Smith wrote: > I was looking at IPython's Google Page, on Plus, and it isn't really > being maintained. There are no posts, at least none that are public, > and it just feels a bit deserted. > > Google Page owners can appoint managers to help with maintenance. > There's some details here I think the page was set up before that ability was introduced, and we didn't remember to add more people when it became possible. I'm not yet a manager for the page either. I think it makes sense to add you as a manager if you're keen, but it might have to wait until Fernando has time to deal with it. Thanks, Thomas From carl.input at gmail.com Fri Aug 17 19:17:08 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 18 Aug 2012 00:17:08 +0100 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: Cheers Thomas. On Aug 18, 2012 12:11 AM, "Thomas Kluyver" wrote: > On 17 August 2012 23:33, Carl Smith wrote: > > I was looking at IPython's Google Page, on Plus, and it isn't really > > being maintained. There are no posts, at least none that are public, > > and it just feels a bit deserted. > > > > Google Page owners can appoint managers to help with maintenance. > > There's some details here > > I think the page was set up before that ability was introduced, and we > didn't remember to add more people when it became possible. I'm not > yet a manager for the page either. > > I think it makes sense to add you as a manager if you're keen, but it > might have to wait until Fernando has time to deal with it. > > 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: From fperez.net at gmail.com Fri Aug 17 21:36:46 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 17 Aug 2012 18:36:46 -0700 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: On Fri, Aug 17, 2012 at 4:10 PM, Thomas Kluyver wrote: > > I think the page was set up before that ability was introduced, and we > didn't remember to add more people when it became possible. I'm not > yet a manager for the page either. > > I think it makes sense to add you as a manager if you're keen, but it > might have to wait until Fernando has time to deal with it I've added both of you as managers, which gives you the ability to further add others who may want to help with this effort. Thanks! f From carl.input at gmail.com Fri Aug 17 22:29:25 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 18 Aug 2012 03:29:25 +0100 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: > I've added both of you as managers, which gives you the ability to > further add others who may want to help with this effort. Thanks Fernando. I'm really happy to be able to help out with this. I could do with a little guidance before I start posting anything, just to help me develop a feel for what IPython want from the page in terms of scope. Obviously, we'd post news generally relevant to IPython, but where do we draw the line? For example, I don't think Marissa Mayer's new job at Yahoo! should be covered, as it has nothing to do with IPython, but what about someone important joining the PSF? It'll be an easy job to maintain the page. I just wanted some idea of how focussed it should be. If Thomas is willing to spend time on this, it's less of an issue, I'll just run anything borderline past him, but I still need to know what we're aiming at. Thanks again Carl From takowl at gmail.com Sat Aug 18 05:02:11 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 18 Aug 2012 10:02:11 +0100 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: On 18 August 2012 03:29, Carl Smith wrote: > For example, I don't think > Marissa Mayer's new job at Yahoo! should be covered, as it has nothing > to do with IPython, but what about someone important joining the PSF? My inclination is to keep it pretty focussed on IPython. If people want news about the PSF, I imagine there's a PSF or Python page they can follow. But there's quite a bit that can go up there: releases (obviously), major new features landing, opportunities to get involved, cool projects that use IPython, and so on. Thanks, Thomas From carl.input at gmail.com Sat Aug 18 05:13:48 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 18 Aug 2012 10:13:48 +0100 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: That makes sense. On reflection, I'm not sure why I asked really. Your position seems like plain common sense now you put it like that. I was thinking last night another user survey might be in order. Not on G+, just generally. It's been a year or two, and things have changed a fair bit. Cheers Carl On Aug 18, 2012 10:02 AM, "Thomas Kluyver" wrote: > On 18 August 2012 03:29, Carl Smith wrote: > > For example, I don't think > > Marissa Mayer's new job at Yahoo! should be covered, as it has nothing > > to do with IPython, but what about someone important joining the PSF? > > My inclination is to keep it pretty focussed on IPython. If people > want news about the PSF, I imagine there's a PSF or Python page they > can follow. But there's quite a bit that can go up there: releases > (obviously), major new features landing, opportunities to get > involved, cool projects that use IPython, and so on. > > 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: From takowl at gmail.com Sat Aug 18 05:28:29 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 18 Aug 2012 10:28:29 +0100 Subject: [IPython-dev] Google Plus Page Managers In-Reply-To: References: Message-ID: On 18 August 2012 10:13, Carl Smith wrote: > I was thinking last night another user survey might be in order. Not on G+, > just generally. It's been a year or two, and things have changed a fair bit. It's been about a year - the first one closed in September 2011. I was thinking of doing another one maybe starting this winter, so we had a bit of a longer baseline to measure the difference with. But then again, a lot has changed in the meantime, so maybe it makes sense to kick it off sooner. I'll start drafting a form and share it with you on Google Docs - we don't have to launch it just yet, but we can decide what questions we want on it. Thomas From jason-sage at creativetrax.com Sat Aug 18 12:33:39 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Sat, 18 Aug 2012 09:33:39 -0700 Subject: [IPython-dev] Scipy 2012 Kudos In-Reply-To: References: Message-ID: <502FC3E3.9050504@creativetrax.com> On 8/15/12 2:30 PM, Warren Weckesser wrote: > Hey folks, > > In our post-conference survey of the SciPy 2012 attendees, one of the > open-ended questions we asked was "What was your favorite SciPy 2012 > moment?". Of the 50 responses to this question, 12 explicitly mentioned > the IPython tutorial or talk. That's pretty impressive--nice job, guys! I just checked the scipy 2012 website, and while many talks have the videos up, I can't find a video for the IPython tutorial [1]. Are there plans to put up the video for that? (no pressure, I was just wondering...) Thanks, Jason [1] http://conference.scipy.org/scipy2012/schedule/tutor_schedule_2.php#ti-73, the 1-5pm in room 105 talk was the one I was really interested in seeing. From warren.weckesser at enthought.com Sat Aug 18 13:04:32 2012 From: warren.weckesser at enthought.com (Warren Weckesser) Date: Sat, 18 Aug 2012 12:04:32 -0500 Subject: [IPython-dev] Scipy 2012 Kudos In-Reply-To: <502FC3E3.9050504@creativetrax.com> References: <502FC3E3.9050504@creativetrax.com> Message-ID: On Sat, Aug 18, 2012 at 11:33 AM, Jason Grout wrote: > On 8/15/12 2:30 PM, Warren Weckesser wrote: > > Hey folks, > > > > In our post-conference survey of the SciPy 2012 attendees, one of the > > open-ended questions we asked was "What was your favorite SciPy 2012 > > moment?". Of the 50 responses to this question, 12 explicitly mentioned > > the IPython tutorial or talk. That's pretty impressive--nice job, guys! > > I just checked the scipy 2012 website, and while many talks have the > videos up, I can't find a video for the IPython tutorial [1]. Are there > plans to put up the video for that? (no pressure, I was just wondering...) > > Yes, the missing videos for several of the tutorials and talks will be available *real soon now*?. There will also be an index for the talks at pyvideo.org. Warren Thanks, > > Jason > > > [1] > http://conference.scipy.org/scipy2012/schedule/tutor_schedule_2.php#ti-73, > the 1-5pm in room 105 talk was the one I was really interested in seeing. > _______________________________________________ > 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: From carl.input at gmail.com Mon Aug 20 19:06:00 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 21 Aug 2012 00:06:00 +0100 Subject: [IPython-dev] Style Rules for Notebook Message-ID: Hi all I've attached a notebook that explains everything I wanted to post here, so you can flick through that for the details. It's basically to do with creating a set of CSS rules for certain HTML tags to improve the look of notebooks and hopefully the consistency between them. The notebook's contains examples of what I'm suggesting, so that's why I didn't just write it here. Thanks Carl -------------- next part -------------- A non-text attachment was scrubbed... Name: markdown_styles.ipynb Type: application/octet-stream Size: 6654 bytes Desc: not available URL: From takowl at gmail.com Tue Aug 21 06:30:12 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 21 Aug 2012 11:30:12 +0100 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: References: Message-ID: On 21 August 2012 00:06, Carl Smith wrote: > I've attached a notebook that explains everything I wanted to post > here, so you can flick through that for the details. It's basically to > do with creating a set of CSS rules for certain HTML tags to improve > the look of notebooks and hopefully the consistency between them. The > notebook's contains examples of what I'm suggesting, so that's why I > didn't just write it here. I think the broad idea is sensible - it would be nice to have consistently aesthetic notebooks without having to define styles myself. With respect to on/off-by-default, I would favour on-by-default, otherwise hardly anyone will find it, but ideally there would be an easy way for users to revert notebooks to the current, plain style if they prefer it. I see you're using a font from Google's font API in the example. I think in the default set up, we shouldn't pull in any external resources, for efficiency and privacy. Best wishes, Thomas From bussonniermatthias at gmail.com Tue Aug 21 07:41:12 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Tue, 21 Aug 2012 13:41:12 +0200 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: References: Message-ID: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> Le 21 ao?t 2012 ? 01:06, Carl Smith a ?crit : > Hi all > > I've attached a notebook that explains everything I wanted to post > here, so you can flick through that for the details. It's basically to > do with creating a set of CSS rules for certain HTML tags to improve > the look of notebooks and hopefully the consistency between them. The > notebook's contains examples of what I'm suggesting, so that's why I > didn't just write it here. It look nice. h1 have no style. (I don't like the h2, but that's my opinion) I like the border-top-bottom of the sub header that mark the sections of the notebook. You spoke of jQuery at the end. I would prefer avoiding as much as possible manipulating dom to have a footer as we also have static notebook view. I would agree with Thomas to make it active by default. Is it worth shipping the font for h2 header only ? Maybe we can restrict the css to apply only on element inside `div.rendered_html` to avoid potential side effects ? I think Brian is considering switching to bootstrap. It might be a good time to consider splitting our css on file that are use for editing mode. and some for both editing and static view. -- Matthias > Thanks > > Carl > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From carl.input at gmail.com Tue Aug 21 08:46:54 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 21 Aug 2012 13:46:54 +0100 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> References: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> Message-ID: I agree with Thomas; the styles should be applied by default, but easy to disable. That'd make much more sense. And yeah, you and Matthias are right about Google Fonts. Drop that completely. Matthias, I couldn't edit the h1 tags. It does strange things to the IPython Notebook logo at the top of the page. So I had to start with h2. You said you didn't like the CSS for h2; that's fair enough. It doesn't really say 'IPython Notebook'. The footer doesn't work very well, but it would be nice to have some way to add a footer to a notebook easily. This way just probably isn't the right way to do that. You mentioned Brian switching to bootstrap. I'm not sure what bootstrap is in this context?? I'm glad you both like the basic idea. I'll redo the notebook, without the external font and with a more appropriate h2, and see if we can converge on some CSS that everyone's happy with. I'll put the file on GitHub, and it can be viewed with nbviewer, as it might take a few iterations to get it looking nice for everyone. Thanks Carl From bussonniermatthias at gmail.com Tue Aug 21 09:30:12 2012 From: bussonniermatthias at gmail.com (Matthias Bussonnier) Date: Tue, 21 Aug 2012 15:30:12 +0200 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: References: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> Message-ID: Use '.rendered_html h1' to apply style only to cells. Bootstrap is "twitter bootstrap" css/js. google for it you'll find it. Or look at my 'build js toolbar' PR, comment near the end. short because i'm on my phone. -- Matthias Le 21 ao?t 2012 14:47, "Carl Smith" a ?crit : > I agree with Thomas; the styles should be applied by default, but easy > to disable. That'd make much more sense. And yeah, you and Matthias > are right about Google Fonts. Drop that completely. > > Matthias, I couldn't edit the h1 tags. It does strange things to the > IPython Notebook logo at the top of the page. So I had to start with > h2. You said you didn't like the CSS for h2; that's fair enough. It > doesn't really say 'IPython Notebook'. > > The footer doesn't work very well, but it would be nice to have some > way to add a footer to a notebook easily. This way just probably isn't > the right way to do that. > > You mentioned Brian switching to bootstrap. I'm not sure what > bootstrap is in this context?? > > I'm glad you both like the basic idea. I'll redo the notebook, without > the external font and with a more appropriate h2, and see if we can > converge on some CSS that everyone's happy with. I'll put the file on > GitHub, and it can be viewed with nbviewer, as it might take a few > iterations to get it looking nice for everyone. > > Thanks > > Carl > _______________________________________________ > 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: From fperez.net at gmail.com Wed Aug 22 01:22:36 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Tue, 21 Aug 2012 22:22:36 -0700 Subject: [IPython-dev] Fwd: [Scikit-learn-general] Nice git trick to quickly checkout the branch of a pull request In-Reply-To: References: Message-ID: ---------- Forwarded message ---------- From: Olivier Grisel Date: Fri, Aug 17, 2012 at 9:32 AM Subject: [Scikit-learn-general] Nice git trick to quickly checkout the branch of a pull request To: scikit-learn-general See: https://gist.github.com/3342247 Very handy for quickly reviewing incoming pull requests. -- Olivier http://twitter.com/ogrisel - http://github.com/ogrisel From carl.input at gmail.com Wed Aug 22 06:24:13 2012 From: carl.input at gmail.com (Carl Smith) Date: Wed, 22 Aug 2012 11:24:13 +0100 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: References: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> Message-ID: On 21 August 2012 14:30, Matthias Bussonnier wrote: > Use '.rendered_html h1' to apply style only to cells. Got it. I've done that now. My CSS skills aren't the best. > Bootstrap is "twitter bootstrap" css/js. google for it you'll find it. Or > look at my 'build js toolbar' PR, comment near the end. I had a look at this. From what I gather, this would just mean reimplementing the CSS. Do you see Brian using bootstrap as being a problem for what I'm suggesting here? I didn't think you meant that, but just wanted to be sure I'm not going down a dead end. I've attached another version of the file. This one doesn't have external fonts, uses h1, h2 and h3 for the headers, has less cheesy CSS for the title, and has been rewritten. Assuming the other guys like the idea, what should I do with it? I mean in terms of submitting it. Should I just fork IPython and open a PR now, or carry on with a demo notebook until people are happy with the look? This is the first open source project I've tried to get involved with, so I'm still pretty naive. It's all baby steps at the moment, so thanks for your patience. Cheers Carl -------------- next part -------------- A non-text attachment was scrubbed... Name: markdown_styles.ipynb Type: application/octet-stream Size: 6342 bytes Desc: not available URL: From takowl at gmail.com Wed Aug 22 08:48:04 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 22 Aug 2012 13:48:04 +0100 Subject: [IPython-dev] IPython stats Message-ID: I thought I'd just collate a few statistics on IPython's impact. Since we released 0.13 at the end of June, it has been downloaded from PyPI over 52 000 times, an average of around 1000 downloads per day. Of the 5400 downloads of Windows installers, 28% were for Python 3 versions (we don't have a breakdown for other types of installation). On Ubuntu, the popularity contest statistics report 50 000 installations, which is just over 2% of the reporting base. (Apparently popularity contest is not enabled by default, so how many installations that really represents is unclear.) On a typical weekday, the website has about 10 000 impressions from Google searches, of which approximately 1000 click through to something on the ipython.org domain. It drops off markedly at weekends. Most of it seems to be driven by people searching specifically about IPython. The most common generic term creating search impressions is 'python shell', but we rarely get above 3rd position for that, and click through is only 6%. Carl and I are preparing a second IPython user survey, so hopefully we'll have some more statistics to share soon. Thanks, Thomas From bussonniermatthias at gmail.com Wed Aug 22 12:42:22 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Wed, 22 Aug 2012 18:42:22 +0200 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: References: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> Message-ID: <8C621423-4A61-4537-B031-3EA059706D88@gmail.com> Le 22 ao?t 2012 ? 12:24, Carl Smith a ?crit : > On 21 August 2012 14:30, Matthias Bussonnier > wrote: >> Use '.rendered_html h1' to apply style only to cells. > > Got it. I've done that now. My CSS skills aren't the best. > >> Bootstrap is "twitter bootstrap" css/js. google for it you'll find it. Or >> look at my 'build js toolbar' PR, comment near the end. > > I had a look at this. From what I gather, this would just mean > reimplementing the CSS. Do you see Brian using bootstrap as being a > problem for what I'm suggesting here? I didn't think you meant that, > but just wanted to be sure I'm not going down a dead end. Bootstrap might just change some other inherited properties, so the CSS might have to be re-tweeked later. > I've attached another version of the file. This one doesn't have > external fonts, uses h1, h2 and h3 for the headers, has less cheesy > CSS for the title, and has been rewritten. I'll looked at it. > Assuming the other guys like the idea, what should I do with it? I > mean in terms of submitting it. Should I just fork IPython and open a > PR now, or carry on with a demo notebook until people are happy with > the look? Open a PR whenever you want. You can always overwrite what you've pushed. > This is the first open source project I've tried to get involved with, > so I'm still pretty naive. It's all baby steps at the moment, so > thanks for your patience. Don't be afraid to ask. Usually - Fork on github. - If possible create a branch with an explicit name, push it on github - Click on Open a PR (github is smart and often tell you "you pushed a new branch, would you like to open a PR) When you want to update smth, push on the same branch, the PR will update itself. Don't hesitate to open a PR even before finishing the code, if you need advice, wan't to ask where to change/find something. -- Matthias From takowl at gmail.com Wed Aug 22 13:09:16 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 22 Aug 2012 18:09:16 +0100 Subject: [IPython-dev] Style Rules for Notebook In-Reply-To: <8C621423-4A61-4537-B031-3EA059706D88@gmail.com> References: <512A9C17-17DE-42FE-9E9F-4888C4FDF30F@gmail.com> <8C621423-4A61-4537-B031-3EA059706D88@gmail.com> Message-ID: On 22 August 2012 17:42, Matthias BUSSONNIER wrote: > Don't hesitate to open a PR even before finishing the code Just to expand on this: if you're making a PR for discussion, and you know the code isn't finished, you can start the description with a note like "not ready for merge". If you've done everything you want to do with the code, no disclaimer is necessary, but even so, don't be surprised if we ask you to make a few changes. Almost every PR (apart from typo fixing) gets some changes before it's merged. Code review is really important, even for core developers. Best wishes, Thomas From dchichkov at gmail.com Wed Aug 22 15:08:54 2012 From: dchichkov at gmail.com (Dmitry Chichkov) Date: Wed, 22 Aug 2012 12:08:54 -0700 Subject: [IPython-dev] Anyone encountering IndentationError issues in the notebook? Message-ID: Hi, Wanted to check, if any of you are encountering any IndentationError issues with the notebook, or is it just me? I'm using development version of codemirror (corrected as per README-IPython.rst), and some times I'm encountering: IndentationError: expected an indented block 1. with no line numbers or other context information; 2. caused by a mix of '4 spaces' / 'tabs', invisible in the editor; 3. by itself caused by codemirror, which disregards a tabMode:"spaces" setting. I've temporarily fixed it for myself, by converting all tabs into 4 spaces during every save. And saving/reloading the notebook [if I encounter that problem]. But I'm not entirely happy with that. Anyone else hitting the same problem? Thanks, Dmitry -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Wed Aug 22 15:42:54 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Wed, 22 Aug 2012 21:42:54 +0200 Subject: [IPython-dev] Anyone encountering IndentationError issues in the notebook? In-Reply-To: References: Message-ID: <733EB479-3185-48A1-8E51-2D7AB9998771@gmail.com> Le 22 ao?t 2012 ? 21:08, Dmitry Chichkov a ?crit : > Hi, > > Wanted to check, if any of you are encountering any IndentationError issues with the notebook, or is it just me? > > I'm using development version of codemirror (corrected as per README-IPython.rst), and some times I'm encountering: > IndentationError: expected an indented block > > 1. with no line numbers or other context information; > 2. caused by a mix of '4 spaces' / 'tabs', invisible in the editor; > 3. by itself caused by codemirror, which disregards a tabMode:"spaces" setting. Could you have a look at the javascript console when this append ? Do you have any traceback from javascript ? Which OS/browser are you using ? > > I've temporarily fixed it for myself, by converting all tabs into 4 spaces during every save. > And saving/reloading the notebook [if I encounter that problem]. But I'm not entirely happy with that. We can activate the visible tab mode of code mirror, this would give you a visual indication of the fact that you have tabs inserted. Would it help ? You can open an issue on github if you want so that google better reference it. -- Matthias > > > Anyone else hitting the same problem? > > > Thanks, > Dmitry > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From dchichkov at gmail.com Wed Aug 22 20:40:23 2012 From: dchichkov at gmail.com (Dmitry Chichkov) Date: Wed, 22 Aug 2012 17:40:23 -0700 Subject: [IPython-dev] Anyone encountering IndentationError issues in the notebook? In-Reply-To: <733EB479-3185-48A1-8E51-2D7AB9998771@gmail.com> References: <733EB479-3185-48A1-8E51-2D7AB9998771@gmail.com> Message-ID: Just confirmed, it is a problem of the latest codemirror (2.30.0). Previous version (that is still bundled with notebook) don't have that issue. Can be reproduced by: 1. open http://codemirror.net/mode/python/index.html 2. go to a first line, type printprint It would result in: a tab in front of a first print statement; 4 spaces in front of the second. This would result in IndentationError in python. And [I take it] ipython just doesnt't show line number in this case. Dmitry On Wed, Aug 22, 2012 at 12:42 PM, Matthias BUSSONNIER < bussonniermatthias at gmail.com> wrote: > > Le 22 ao?t 2012 ? 21:08, Dmitry Chichkov a ?crit : > > > Hi, > > > > Wanted to check, if any of you are encountering any IndentationError > issues with the notebook, or is it just me? > > > > I'm using development version of codemirror (corrected as per > README-IPython.rst), and some times I'm encountering: > > IndentationError: expected an indented block > > > > 1. with no line numbers or other context information; > > 2. caused by a mix of '4 spaces' / 'tabs', invisible in the editor; > > 3. by itself caused by codemirror, which disregards a tabMode:"spaces" > setting. > > Could you have a look at the javascript console when this append ? > Do you have any traceback from javascript ? > Which OS/browser are you using ? > > > > > I've temporarily fixed it for myself, by converting all tabs into 4 > spaces during every save. > > And saving/reloading the notebook [if I encounter that problem]. But I'm > not entirely happy with that. > > We can activate the visible tab mode of code mirror, this would give you a > visual indication of the fact that you have tabs inserted. > Would it help ? > You can open an issue on github if you want so that google better > reference it. > > -- > Matthias > > > > > > > Anyone else hitting the same problem? > > > > > > Thanks, > > Dmitry > > _______________________________________________ > > 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: From takowl at gmail.com Thu Aug 23 06:04:12 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 23 Aug 2012 11:04:12 +0100 Subject: [IPython-dev] Anyone encountering IndentationError issues in the notebook? In-Reply-To: References: <733EB479-3185-48A1-8E51-2D7AB9998771@gmail.com> Message-ID: On 23 August 2012 01:40, Dmitry Chichkov wrote: > Just confirmed, it is a problem of the latest codemirror (2.30.0). > Previous version (that is still bundled with notebook) don't have that > issue. Thanks. I've filed a bug with codemirror about it: https://github.com/marijnh/CodeMirror/issues/742 Thomas From takowl at gmail.com Thu Aug 23 06:37:50 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 23 Aug 2012 11:37:50 +0100 Subject: [IPython-dev] Anyone encountering IndentationError issues in the notebook? In-Reply-To: References: <733EB479-3185-48A1-8E51-2D7AB9998771@gmail.com> Message-ID: The response is: then bind Tab to something that doesn't actually insert tabs. For example, add this to your options: extraKeys: {Tab: "indentMore"} From aron at ahmadia.net Thu Aug 23 09:26:21 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Thu, 23 Aug 2012 14:26:21 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes Message-ID: Dear ipython developers, Apologies for the imprecise language, I don't have a perfect feel for the various ipython components yet, so I'll use general terms to describe the issue at hand. It is convenient MarkDown+LaTeX notation to write a multiline equation with something like this: $$ \begin{align*} u_t(x,t) & = f(x,t) \\ u(x,0) & = u_0 \end{align*} $$ We use the $$ to deliberately enter "math mode", telling the markdown editor that it is no longer responsible for rendering anything until the next $$. MathJaX takes over here, and is responsible for properly formatting and rendering the math in equation-rendering mode. Unfortunately, it looks like the Markdown parser being used in the notebook is unaware of equation mode, and is still trying to "munch" the backslashes before they get handed to MathJaX for rendering, forcing me to markup my equations like this: \begin{align*} u_t(x,t) & = f(x,t) \\\\ u(x,0) & = u_0 \end{align*} This seems to be a general problem with the ipython notebook markdown renderer. I've noticed that I can slip other pieces of Markdown formatting into an equation (regardless of whether I have specified math mode or entered an equation block) and totally break MathJax's rendering. Here's my proposal: Modify/patch/preprocess the Markdown code being used by ipython to render the web pages so that any text bracketed by $$ is passed completely raw to MathJaX. I think this will fix the issues I'm seeing with backslashes as well as bring the Markdown+LaTeX notation into consistency with that used by other editors of this nature such as StackExchange and gitit. Cheers, Aron -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Thu Aug 23 09:38:55 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 23 Aug 2012 14:38:55 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: Hi Aron, On 23 August 2012 14:26, Aron Ahmadia wrote: > Unfortunately, it looks like the Markdown parser being used in the notebook > is unaware of equation mode, and is still trying to "munch" the backslashes > before they get handed to MathJaX for rendering, forcing me to markup my > equations like this: You're quite right, and there's already an issue open about this: https://github.com/ipython/ipython/issues/2289 I think we're not quite sure how to fix it at present. Thanks, Thomas From aron at ahmadia.net Thu Aug 23 09:48:25 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Thu, 23 Aug 2012 14:48:25 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: Hi Thomas, Thanks for pointing me to the issue. A few minutes of Aron-Googling wasn't able to turn it up. What's wrong with fixing the Markdown processor as I proposed? Cheers, A -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Thu Aug 23 09:58:56 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 23 Aug 2012 14:58:56 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: On 23 August 2012 14:48, Aron Ahmadia wrote: > What's wrong with fixing the Markdown processor as I proposed? Possibly nothing - it's not really my area of expertise. The Markdown converter is a third-party package, though, so we might want to modify that as little as possible, so we don't build up differences from upstream. Others should be able to give a better answer soon. Thanks, Thomas From aron at ahmadia.net Thu Aug 23 10:13:53 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Thu, 23 Aug 2012 15:13:53 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: Okay, if the notebook is using python-markdown, it might be as simple as installing this extension: https://github.com/mayoff/python-markdown-mathjax =AA= On Thu, Aug 23, 2012 at 2:58 PM, Thomas Kluyver wrote: > On 23 August 2012 14:48, Aron Ahmadia wrote: > > What's wrong with fixing the Markdown processor as I proposed? > > Possibly nothing - it's not really my area of expertise. The Markdown > converter is a third-party package, though, so we might want to modify > that as little as possible, so we don't build up differences from > upstream. Others should be able to give a better answer soon. > > 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: From takowl at gmail.com Thu Aug 23 10:15:23 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 23 Aug 2012 15:15:23 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: On 23 August 2012 15:13, Aron Ahmadia wrote: > Okay, if the notebook is using python-markdown, it might be as simple as > installing this extension: Unfortunately it's not. All the markdown processing happens in the browser, using Javascript. You can see the code for it here: https://github.com/ipython/ipython/blob/master/IPython/frontend/html/notebook/static/pagedown/Markdown.Converter.js Thanks, Thomas From aron at ahmadia.net Thu Aug 23 10:29:35 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Thu, 23 Aug 2012 15:29:35 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: It's a bit weird that they're using Pagedown for this, because it's mostly used for live previews, not rendering. Something must be misconfigured, because Pagedown+MathJax is a pretty standard setup. I'm digging into the code now. A On Thu, Aug 23, 2012 at 3:15 PM, Thomas Kluyver wrote: > On 23 August 2012 15:13, Aron Ahmadia wrote: > > Okay, if the notebook is using python-markdown, it might be as simple as > > installing this extension: > > Unfortunately it's not. All the markdown processing happens in the > browser, using Javascript. You can see the code for it here: > > > https://github.com/ipython/ipython/blob/master/IPython/frontend/html/notebook/static/pagedown/Markdown.Converter.js > > 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: From aron at ahmadia.net Thu Aug 23 11:13:56 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Thu, 23 Aug 2012 16:13:56 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: I feel like a jerk, I just checked to see if this problem shows up on our own gitit+pagedown live renderer, and the same bug is present! We use pandoc to do the final render, which is probably why I hadn't noticed it before. The StackExchange guys do some special parsing before they hand their code off to the PageDown parser, you can see it here: http://cdn.sstatic.net/js/mathjax-editing-new.js This is probably going to be the most familiar syntax for people used to LaTex and willing to work with Markdown for their outer formatting. Digging into the ipython source, the Markdown.converter is initialized in notebookmain.js then utilized in the textcell.js markdown render function. I don't see any special parsing done for handling the math symbols. I think the render function in textcell.js would be the right place to add the math delimiter strip/replace hooks. If you guys are interested, I can see about getting the SE mathjax-editing-new.js code licensed for redistribution, the SE guys are pretty hip to this kind of thing so I don't expect it to be a problem. A On Thu, Aug 23, 2012 at 3:29 PM, Aron Ahmadia wrote: > It's a bit weird that they're using Pagedown for this, because it's mostly > used for live previews, not rendering. Something must be misconfigured, > because Pagedown+MathJax is a pretty standard setup. I'm digging into the > code now. > > A > > > On Thu, Aug 23, 2012 at 3:15 PM, Thomas Kluyver wrote: > >> On 23 August 2012 15:13, Aron Ahmadia wrote: >> > Okay, if the notebook is using python-markdown, it might be as simple as >> > installing this extension: >> >> Unfortunately it's not. All the markdown processing happens in the >> browser, using Javascript. You can see the code for it here: >> >> >> https://github.com/ipython/ipython/blob/master/IPython/frontend/html/notebook/static/pagedown/Markdown.Converter.js >> >> 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: From benjaminrk at gmail.com Thu Aug 23 12:41:57 2012 From: benjaminrk at gmail.com (MinRK) Date: Thu, 23 Aug 2012 09:41:57 -0700 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: > What's wrong with fixing the Markdown processor as I proposed? Nothing at all - markdown rendering absolutely has to be fixed, either with an appropriate hook in the converter.js, or wrapped around handing it off to pagedown. It's a bit weird that they're using Pagedown for this, because it's mostly > used for live previews, not rendering. We don't want there to be any server communication involved in markdown edits, so it has to be in javascript. On Thu, Aug 23, 2012 at 8:13 AM, Aron Ahmadia wrote: > I feel like a jerk, I just checked to see if this problem shows up on our > own gitit+pagedown live renderer, and the same bug is present! We use > pandoc to do the final render, which is probably why I hadn't noticed it > before. > > The StackExchange guys do some special parsing before they hand their code > off to the PageDown parser, you can see it here: > > http://cdn.sstatic.net/js/mathjax-editing-new.js > > This is probably going to be the most familiar syntax for people used to > LaTex and willing to work with Markdown for their outer formatting. > > Digging into the ipython source, the Markdown.converter is initialized in > notebookmain.js then utilized in the textcell.js markdown render function. > I don't see any special parsing done for handling the math symbols. I > think the render function in textcell.js would be the right place to add > the math delimiter strip/replace hooks. > > If you guys are interested, I can see about getting the SE > mathjax-editing-new.js code licensed for redistribution, the SE guys are > pretty hip to this kind of thing so I don't expect it to be a problem. > Yes, absolutely! If they have already solved the problem, then let's use an existing and proven solution. -MinRK > > A > > On Thu, Aug 23, 2012 at 3:29 PM, Aron Ahmadia wrote: > >> It's a bit weird that they're using Pagedown for this, because it's >> mostly used for live previews, not rendering. Something must be >> misconfigured, because Pagedown+MathJax is a pretty standard setup. I'm >> digging into the code now. >> >> A >> >> >> On Thu, Aug 23, 2012 at 3:15 PM, Thomas Kluyver wrote: >> >>> On 23 August 2012 15:13, Aron Ahmadia wrote: >>> > Okay, if the notebook is using python-markdown, it might be as simple >>> as >>> > installing this extension: >>> >>> Unfortunately it's not. All the markdown processing happens in the >>> browser, using Javascript. You can see the code for it here: >>> >>> >>> https://github.com/ipython/ipython/blob/master/IPython/frontend/html/notebook/static/pagedown/Markdown.Converter.js >>> >>> Thanks, >>> Thomas >>> _______________________________________________ >>> 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: From fperez.net at gmail.com Thu Aug 23 13:38:20 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 23 Aug 2012 10:38:20 -0700 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: On Thu, Aug 23, 2012 at 9:41 AM, MinRK wrote: > > Yes, absolutely! If they have already solved the problem, then let's use an > existing and proven solution. Major +1 from me on this; Aron, it would be awesome if you could make this happen! The latex bugs have been driving many people nuts as of late, so this would be a phenomenal fix to have (and candidate for a 0.13.1 backport). Cheers, f From fperez.net at gmail.com Thu Aug 23 14:14:38 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 23 Aug 2012 11:14:38 -0700 Subject: [IPython-dev] IPython stats In-Reply-To: References: Message-ID: Hey Thomas, On Wed, Aug 22, 2012 at 5:48 AM, Thomas Kluyver wrote: > I thought I'd just collate a few statistics on IPython's impact. > > Since we released 0.13 at the end of June, it has been downloaded from > PyPI over 52 000 times, an average of around 1000 downloads per day. > Of the 5400 downloads of Windows installers, 28% were for Python 3 > versions (we don't have a breakdown for other types of installation). this is excellent, and very important, many thanks for doing it! We're in the process of writing a new grant proposal, and having numbers like these is very useful. There's also the github downloads page (https://github.com/ipython/ipython/downloads) with another ~10,000 or so downloads. I don't know if there's a way to auto-collect those and to get per-day stats. Cheers, f From fperez.net at gmail.com Thu Aug 23 14:26:49 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 23 Aug 2012 11:26:49 -0700 Subject: [IPython-dev] [ANN] Call for abstracts: BigData minisymposium at CSE'13, February 2013, Boston Message-ID: Dear colleagues, next year's SIAM conference on Computational Science and Engineering, CSE'13, will take place in Boston, February 25-March 1 (http://www.siam.org/meetings/cse13), and for this version there will be a track focused on the topic of Big Data. This term has rapidly risen in recent discussions of science and even of mainstream business computing, and for good reasons. Today virtually all disciplines are facing a flood of quantitative information whose volumes have often grown faster than the quality of our tools for extracting insight from these data. SIAM hopes that CSE'13 will provide an excellent venue for discussing these problems, from the vantage point offered by a community whose expertise combines analytical insights, algorithmic development, software engineering and domain-specific applications. As part of this event, Titus Brown (http://ged.msu.edu) and I are organizing a minisymposium where we would like to have a group of presentations that address both novel algorithmic ideas and computational approaches as well as domain-specific problems. Data doesn't appear in a vacuum, and data from different domains presents a mix of common problems along with questions that may be specific to each; we hope that by engaging a dialog between those working on algorithmic and implementation questions and those with specific problems from the field, valuable insights can be obtained. If you would like to contribute to this minisymposium, please contact us directly at: "C. Titus Brown" , "Fernando Perez" with your name and affiliation, the title of your proposed talk and a brief description (actual abstracts are due later so an informal description will suffice for now), by Wednesday August 29. For more details on the submission process, see: http://www.siam.org/meetings/cse13/submissions.php Please forward this to any interested colleagues. Regards, Titus and Fernando. From bob+ipython at mcelrath.org Thu Aug 23 15:03:09 2012 From: bob+ipython at mcelrath.org (Bob McElrath) Date: Thu, 23 Aug 2012 19:03:09 +0000 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: <20120823190309.GD27675@mcelrath.org> I hate to be a downer, but having implemented latex + wiki several times (ZWiki, jsMath+TiddlyWiki, etc), I can tell you that this solution is a hack that will fail eventually. For that matter, it appears that Pagedown itself is a hack too, that will have bad edge cases. (In other words it is a pile of successively applied regular expressions, in which one hopes there are not overlapping cases -- rather than a grammar which has no overlapping cases by definition) One has two grammars that are mixed: markdown and latex. You will always have a problem of markdown-looking syntax inside latex or latex-looking syntax inside markdown. The only workable solution is to be able to entirely *escape* one inside the other, which makes the document unambiguous. The best ways to find such bugs is usually to try to write a document that demonstrates how to write math, or to write text in which one parser overlaps with the other like *$*$, or put markup inside comments. The correct solution to this problem is therefore to use a true grammar that involves an escape. Since latex uses the backslash its escape character, and so does markdown, this seems naively easy, but one must hook into to markdown's processing stream, and call MathJax from it, rather than invoking two independent processing sessions (markdown followed by MathJax or v/v). Markdown-js: https://github.com/evilstreak/markdown-js appears to be a much better written parser than Pagedown, in which inserting an extra rule for math, and calling MathJax would be straightforward (disabling MathJax's document parsing). Correct me if I'm wrong, but this penchant for writing functions that generate classes that everyone is using basically makes it impossible to use inheritance to extend a Markdown parser. (I don't understand why iPython, Markdown-js, and everyone in the known universe has decided this is The Way to write everything -- maybe someone can enlighten me) The method I'm proposing requires modifying the Markdown parser's internals. So iPython would have to fork or Markdown-js to do this. It's MIT license, I don't think that would be a problem. Fernando Perez [fperez.net at gmail.com] wrote: > On Thu, Aug 23, 2012 at 9:41 AM, MinRK wrote: > > > > Yes, absolutely! If they have already solved the problem, then let's use an > > existing and proven solution. > > Major +1 from me on this; Aron, it would be awesome if you could make > this happen! The latex bugs have been driving many people nuts as of > late, so this would be a phenomenal fix to have (and candidate for a > 0.13.1 backport). > > Cheers, > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Cheers, Bob McElrath "The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself." -- Friedrich Nietzsche From takowl at gmail.com Thu Aug 23 17:49:15 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 23 Aug 2012 22:49:15 +0100 Subject: [IPython-dev] IPython stats In-Reply-To: References: Message-ID: On 23 August 2012 19:14, Fernando Perez wrote: > I don't know if there's a way to > auto-collect those and to get per-day stats. The Github API covers download counts: http://developer.github.com/v3/repos/downloads/ Likewise the PyPI API: http://wiki.python.org/moin/PyPiXmlRpc The Google webmaster tools already give me day-by-day graphs - I don't know if there's a way to extract the data automatically. I'm off to Euroscipy tomorrow, but if it's useful, I can try to write something when I get back to pull these stats together regularly. Best wishes, Thomas From fperez.net at gmail.com Thu Aug 23 19:22:42 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 23 Aug 2012 16:22:42 -0700 Subject: [IPython-dev] IPython stats In-Reply-To: References: Message-ID: On Thu, Aug 23, 2012 at 2:49 PM, Thomas Kluyver wrote: > > I'm off to Euroscipy tomorrow, but if it's useful, I can try to write > something when I get back to pull these stats together regularly. Great. And have a fun time at Euroscipy, bummer I couldn't make it this year. My regards to the usual suspects. Cheers, f From aron at ahmadia.net Fri Aug 24 09:42:16 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Fri, 24 Aug 2012 14:42:16 +0100 Subject: [IPython-dev] markdown tangential discussion Message-ID: > > I hate to be a downer, but having implemented latex + wiki several times > (ZWiki, > jsMath+TiddlyWiki, etc), I can tell you that this solution is a hack that > will > fail eventually. For that matter, it appears that Pagedown itself is a > hack > too, that will have bad edge cases. (In other words it is a pile of > successively applied regular expressions, in which one hopes there are not > overlapping cases -- rather than a grammar which has no overlapping cases > by > definition) > The original MarkDown was implemented in Perl and was almost certainly a pile of successively applied regular expressions. I agree that we get much nicer stuff with a proper parser, but somebody has to support it. I don't think I have anything against Markdown-js if the IPython developers decide to switch to it (or somebody implements it in the notebook). The correct solution to this problem is therefore to use a true grammar that > involves an escape. Since latex uses the backslash its escape character, > and so > does markdown, this seems naively easy, but one must hook into to > markdown's > processing stream, and call MathJax from it, rather than invoking two > independent processing sessions (markdown followed by MathJax or v/v). > This isn't that hard. The document's grammar is in Markdown or LaTeX blocks. The grammar becomes LaTeX whenever we enter a math-delimited region. Markdown is NOT allowed in a LaTeX region, and LaTeX is NOT allowed in a Markdown region. The important thing is to properly decompose the text into Markdown-formatted text and LaTeX-formated text, and hide the LaTeX from the Markdown processor (MathJaX confines itself to its delimited regions). The way SE does it (which I shamelessly copied), is to pull out all blocks that are either delimited with classic TeX delimiters or contain anything between $ $ that is not in a code block. This effectively reserves all of the major TeX environment delimiters within Markdown blocks ($$, \[, \begin, etc., ...), which I think most people can live with. > > Markdown-js: https://github.com/evilstreak/markdown-js appears to be a > much > better written parser than Pagedown, in which inserting an extra rule for > math, > and calling MathJax would be straightforward (disabling MathJax's document > parsing). > I don't see anything wrong with this approach. > Correct me if I'm wrong, but this penchant for writing functions that > generate > classes that everyone is using basically makes it impossible to use > inheritance > to extend a Markdown parser. (I don't understand why iPython, > Markdown-js, and > everyone in the known universe has decided this is The Way to write > everything > -- maybe someone can enlighten me) functions and classes are first-class objects in Python and Javascript. You can modify a class or object's function after it has been instantiated without inheriting. I think this is a separate discussion, though. -A -------------- next part -------------- An HTML attachment was scrubbed... URL: From aron at ahmadia.net Fri Aug 24 09:48:02 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Fri, 24 Aug 2012 14:48:02 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: Hi Fernando, I don't know what this fixes or breaks, but I've ported the SE logic over into IPython dev branch: https://github.com/ahmadia/ipython/commit/58121491d37da1ba9d1525f08575b729c6905eb6 Here's some example Markdown+MathJaX that now works in the modified Notebook: +++ ### Initial Value Problems We are interested in solving initial value problems of the form: \begin{align*} y'(t) &= f(t,y), \ t \in [a,b] \\ y(a) &= \alpha \end{align*} --- It renders fine in Chrome on OS X, I have not checked any other browsers. I didn't squeeze a "this code is X licensed" out of the SE Folk, but Stack Exchange Community Manager Anna Lear told me I could do whatever I wanted with the code, just that it was unreleased and unsupported. I don't have this in an email from SE or publicly recorded log, but I or somebody else can probably get this if we need it. I've modified and adapted the code enough that I don't believe there are any IP issues, and I have also attributed Stack Exchange for their input. I also added in a regular expression parser that works across browsers. A On Thu, Aug 23, 2012 at 6:38 PM, Fernando Perez wrote: > On Thu, Aug 23, 2012 at 9:41 AM, MinRK wrote: > > > > Yes, absolutely! If they have already solved the problem, then let's > use an > > existing and proven solution. > > Major +1 from me on this; Aron, it would be awesome if you could make > this happen! The latex bugs have been driving many people nuts as of > late, so this would be a phenomenal fix to have (and candidate for a > 0.13.1 backport). > > 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: From aron at ahmadia.net Fri Aug 24 09:49:21 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Fri, 24 Aug 2012 14:49:21 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: Oh, and it's clear that I don't understand the ipython code organization strategy (or much javascript). So feel free to slice-and-dice the commit or simply reimplement it. Everything's just sort of blobbed into textcell.js right now and that can't be right :) A On Fri, Aug 24, 2012 at 2:48 PM, Aron Ahmadia wrote: > Hi Fernando, > > I don't know what this fixes or breaks, but I've ported the SE logic over > into IPython dev branch: > > > https://github.com/ahmadia/ipython/commit/58121491d37da1ba9d1525f08575b729c6905eb6 > > > Here's some example Markdown+MathJaX that now works in the modified > Notebook: > > +++ > > ### Initial Value Problems > > We are interested in solving initial value problems of the form: > > \begin{align*} > y'(t) &= f(t,y), \ t \in [a,b] \\ > y(a) &= \alpha > \end{align*} > > --- > > It renders fine in Chrome on OS X, I have not checked any other browsers. > > I didn't squeeze a "this code is X licensed" out of the SE Folk, but Stack > Exchange Community Manager Anna Lear told me I could do whatever I wanted > with the code, just that it was unreleased and unsupported. I don't have > this in an email from SE or publicly recorded log, but I or somebody else > can probably get this if we need it. > > I've modified and adapted the code enough that I don't believe there are > any IP issues, and I have also attributed Stack Exchange for their input. > I also added in a regular expression parser that works across browsers. > > > A > > On Thu, Aug 23, 2012 at 6:38 PM, Fernando Perez wrote: > >> On Thu, Aug 23, 2012 at 9:41 AM, MinRK wrote: >> > >> > Yes, absolutely! If they have already solved the problem, then let's >> use an >> > existing and proven solution. >> >> Major +1 from me on this; Aron, it would be awesome if you could make >> this happen! The latex bugs have been driving many people nuts as of >> late, so this would be a phenomenal fix to have (and candidate for a >> 0.13.1 backport). >> >> 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: From roberto.colistete at gmail.com Fri Aug 24 12:27:22 2012 From: roberto.colistete at gmail.com (Roberto Colistete Jr.) Date: Fri, 24 Aug 2012 13:27:22 -0300 Subject: [IPython-dev] IPython stats In-Reply-To: References: Message-ID: <5037AB6A.2000809@gmail.com> Em 23-08-2012 15:14, Fernando Perez escreveu: > Hey Thomas, > > On Wed, Aug 22, 2012 at 5:48 AM, Thomas Kluyver wrote: >> I thought I'd just collate a few statistics on IPython's impact. >> >> Since we released 0.13 at the end of June, it has been downloaded from >> PyPI over 52 000 times, an average of around 1000 downloads per day. >> Of the 5400 downloads of Windows installers, 28% were for Python 3 >> versions (we don't have a breakdown for other types of installation). > this is excellent, and very important, many thanks for doing it! > We're in the process of writing a new grant proposal, and having > numbers like these is very useful. There's also the github downloads > page (https://github.com/ipython/ipython/downloads) with another > ~10,000 or so downloads. I don't know if there's a way to > auto-collect those and to get per-day stats. > > Cheers, > > f Hi, Just adding some stats for IPython on mobile Linux distributions : - Maemo 5 Fremantle OS (Nokia N900), 133149 downloads since July 2009 (click download statistics, the peaks are due to new releases), currently on v0.10.2 : http://maemo.org/downloads/product/Maemo5/IPython/ Maemo 4 Diablo OS (Nokia N800/N810) download statistics is currently broken, but there are were thousands of downloads : http://maemo.org/downloads/product/OS2008/ipython/ IPython for Maemo 4 & 5 : http://maemo.org/packages/view/ipython/ http://talk.maemo.org/showthread.php?p=1168357 - MeeGo 1.2 Harmattan (Nokia N9/N950), without Nokia repository statistics of v0.10, but my .deb of v0.10.2 has approx. 800-1000 downloads since November 2011 : http://talk.maemo.org/showthread.php?t=79997 There is "Easy Debian Harmattan" for Nokia N9/N950, which is very fast because N9/N950 uses X Windows : http://talk.maemo.org/showthread.php?t=85878 which runs (via chroot) Debian images : http://talk.maemo.org/showpost.php?p=1253582&postcount=137 Image 1b is a "scientific" Debian 7.0 wheezy image including IPython 0.13 with Notebook & Qt console interfaces. The 1a and 1b "scientific" images have 3,500 downloads in 20 days since release. I am planning to (try to) release IPython 0.13 for MeeGo 1.2 Harmattan with IPython Notebook interface adapted to smaller screens (854x480 pixels). Regards, Roberto From bussonniermatthias at gmail.com Fri Aug 24 15:24:01 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Fri, 24 Aug 2012 21:24:01 +0200 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: References: Message-ID: <3FE104E7-D2F9-4075-961A-258BF6958E75@gmail.com> Le 24 ao?t 2012 ? 15:48, Aron Ahmadia a ?crit : > Hi Fernando, > > I don't know what this fixes or breaks, but I've ported the SE logic over into IPython dev branch: > > https://github.com/ahmadia/ipython/commit/58121491d37da1ba9d1525f08575b729c6905eb6 Can you open a PR ? It's alway easier to discuss even if it's not merged. That's a good point to start at lest ! Many thanks or contacting SE and start digging ! -- Matthias > Here's some example Markdown+MathJaX that now works in the modified Notebook: > > +++ > > ### Initial Value Problems > > We are interested in solving initial value problems of the form: > > \begin{align*} > y'(t) &= f(t,y), \ t \in [a,b] \\ > y(a) &= \alpha > \end{align*} > > --- > > It renders fine in Chrome on OS X, I have not checked any other browsers. > > I didn't squeeze a "this code is X licensed" out of the SE Folk, but Stack Exchange Community Manager Anna Lear told me I could do whatever I wanted with the code, just that it was unreleased and unsupported. I don't have this in an email from SE or publicly recorded log, but I or somebody else can probably get this if we need it. > > I've modified and adapted the code enough that I don't believe there are any IP issues, and I have also attributed Stack Exchange for their input. I also added in a regular expression parser that works across browsers. > > > A > > On Thu, Aug 23, 2012 at 6:38 PM, Fernando Perez wrote: > On Thu, Aug 23, 2012 at 9:41 AM, MinRK wrote: > > > > Yes, absolutely! If they have already solved the problem, then let's use an > > existing and proven solution. > > Major +1 from me on this; Aron, it would be awesome if you could make > this happen! The latex bugs have been driving many people nuts as of > late, so this would be a phenomenal fix to have (and candidate for a > 0.13.1 backport). > > Cheers, > > f > _______________________________________________ > 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 aron at ahmadia.net Fri Aug 24 17:25:38 2012 From: aron at ahmadia.net (Aron Ahmadia) Date: Fri, 24 Aug 2012 22:25:38 +0100 Subject: [IPython-dev] ipython html notebook: markdown in math mode and backslashes In-Reply-To: <3FE104E7-D2F9-4075-961A-258BF6958E75@gmail.com> References: <3FE104E7-D2F9-4075-961A-258BF6958E75@gmail.com> Message-ID: https://github.com/ipython/ipython/pull/2337 On Fri, Aug 24, 2012 at 8:24 PM, Matthias BUSSONNIER < bussonniermatthias at gmail.com> wrote: > Le 24 ao?t 2012 ? 15:48, Aron Ahmadia a ?crit : > > > Hi Fernando, > > > > I don't know what this fixes or breaks, but I've ported the SE logic > over into IPython dev branch: > > > > > https://github.com/ahmadia/ipython/commit/58121491d37da1ba9d1525f08575b729c6905eb6 > > Can you open a PR ? It's alway easier to discuss even if it's not merged. > That's a good point to start at lest ! > > Many thanks or contacting SE and start digging ! > -- > Matthias > > > > Here's some example Markdown+MathJaX that now works in the modified > Notebook: > > > > +++ > > > > ### Initial Value Problems > > > > We are interested in solving initial value problems of the form: > > > > \begin{align*} > > y'(t) &= f(t,y), \ t \in [a,b] \\ > > y(a) &= \alpha > > \end{align*} > > > > --- > > > > It renders fine in Chrome on OS X, I have not checked any other browsers. > > > > I didn't squeeze a "this code is X licensed" out of the SE Folk, but > Stack Exchange Community Manager Anna Lear told me I could do whatever I > wanted with the code, just that it was unreleased and unsupported. I don't > have this in an email from SE or publicly recorded log, but I or somebody > else can probably get this if we need it. > > > > I've modified and adapted the code enough that I don't believe there are > any IP issues, and I have also attributed Stack Exchange for their input. > I also added in a regular expression parser that works across browsers. > > > > > > A > > > > On Thu, Aug 23, 2012 at 6:38 PM, Fernando Perez > wrote: > > On Thu, Aug 23, 2012 at 9:41 AM, MinRK wrote: > > > > > > Yes, absolutely! If they have already solved the problem, then let's > use an > > > existing and proven solution. > > > > Major +1 from me on this; Aron, it would be awesome if you could make > > this happen! The latex bugs have been driving many people nuts as of > > late, so this would be a phenomenal fix to have (and candidate for a > > 0.13.1 backport). > > > > Cheers, > > > > f > > _______________________________________________ > > 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: From brad.froehle at gmail.com Fri Aug 24 21:18:52 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Fri, 24 Aug 2012 18:18:52 -0700 Subject: [IPython-dev] Bitey magic extension Message-ID: For those of you who are playing around with Bitey (https://github.com/dabeaz/bitey), I've whipped up a quick `biteymagic` extension for IPython which behaves similarly to the `cythonmagic` extension. You can download the extension and a sample notebook at https://gist.github.com/3458310 To just view the sample notebook, which contains many of the examples from the Bitey source (but without any of its wonderful documentation), hit the notebook viewer at http://nbviewer.ipython.org/3458310 -Brad From satra at mit.edu Fri Aug 24 23:29:11 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Fri, 24 Aug 2012 23:29:11 -0400 Subject: [IPython-dev] rmagic R help Message-ID: hi all, is there a possible path codewise/ipythonstructurewise to get the help from R into the help display for IPython? %R ?plot cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Sat Aug 25 06:50:07 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 25 Aug 2012 11:50:07 +0100 Subject: [IPython-dev] rmagic R help In-Reply-To: References: Message-ID: On 25 August 2012 04:29, Satrajit Ghosh wrote: > is there a possible path codewise/ipythonstructurewise to get the help from > R into the help display for IPython? How does it currently show up? Just as text output? (I'm away from my own computer). It might be possible to detect the '?' and send the output to the pager. Thomas From takowl at gmail.com Sat Aug 25 07:00:02 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 25 Aug 2012 12:00:02 +0100 Subject: [IPython-dev] Bitey magic extension In-Reply-To: References: Message-ID: Very neat! We've just had a talk from David Beazley (the author of Bitey), so it's well timed. Thomas On 25 August 2012 02:18, Bradley M. Froehle wrote: > For those of you who are playing around with Bitey > (https://github.com/dabeaz/bitey), I've whipped up a quick > `biteymagic` extension for IPython which behaves similarly to the > `cythonmagic` extension. You can download the extension and a sample > notebook at https://gist.github.com/3458310 > > To just view the sample notebook, which contains many of the examples > from the Bitey source (but without any of its wonderful > documentation), hit the notebook viewer at > http://nbviewer.ipython.org/3458310 > > -Brad > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From satra at mit.edu Sat Aug 25 08:27:29 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sat, 25 Aug 2012 08:27:29 -0400 Subject: [IPython-dev] rmagic R help In-Reply-To: References: Message-ID: hi thomas, On 25 August 2012 04:29, Satrajit Ghosh wrote: > > is there a possible path codewise/ipythonstructurewise to get the help > from > > R into the help display for IPython? > > How does it currently show up? Just as text output? (I'm away from my > own computer). It might be possible to detect the '?' and send the > output to the pager. > currently: %R help(plot) simply returns array([ '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/graphics/help/plot'], dtype='|S82') cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From satra at mit.edu Sat Aug 25 08:32:55 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sat, 25 Aug 2012 08:32:55 -0400 Subject: [IPython-dev] rmagic plots from lattice Message-ID: library(package = "lattice") data(iris) iris2 <- reshape(iris, varying = list(names(iris)[1:4]), v.names = "measure", timevar = "type", times = names(iris)[1:4], direction = "long") and then neither of the following appear - xyplot(Petal.Length ~ Petal.Width, iris, groups = Species, aspect = 1, auto.key = list(side = "right")) - stripplot(type ~ measure, data = iris2, groups = Species, jitter = TRUE, auto.key = list(columns = 3)) other plots do show up - mosaicplot(Titanic, color = TRUE) - plot(density(x)) cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From satra at mit.edu Sat Aug 25 08:35:49 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sat, 25 Aug 2012 08:35:49 -0400 Subject: [IPython-dev] mixing pylab=inline and external windows Message-ID: hi folks, is there a way to have a notebook change how the matplotlib figures are rendered from different cells? let's say i want to do an animation with matplotlib in one cell, i would like the figure to show up separately, whereas in most other cells i want things to be embedded. cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Sat Aug 25 08:40:28 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sat, 25 Aug 2012 13:40:28 +0100 Subject: [IPython-dev] rmagic R help In-Reply-To: References: Message-ID: On 25 August 2012 13:27, Satrajit Ghosh wrote: > %R help(plot) > > simply returns > > array([ > '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/graphics/help/plot'], > dtype='|S82') Ah, I see. Have a look at this bit of the rpy2 docs - it should be easy to put something together based on that: http://rpy.sourceforge.net/rpy2/doc-2.2/html/introduction.html#getting-help Thomas From bussonniermatthias at gmail.com Sat Aug 25 08:58:19 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Sat, 25 Aug 2012 14:58:19 +0200 Subject: [IPython-dev] mixing pylab=inline and external windows In-Reply-To: References: Message-ID: <4F6833CD-4FF9-47F7-86A7-C6537B8024B6@gmail.com> Le 25 ao?t 2012 ? 14:35, Satrajit Ghosh a ?crit : > hi folks, > > is there a way to have a notebook change how the matplotlib figures are rendered from different cells? > in last dev you should be able to toggle between floating figure `%pylab [backend]` and inline `%pylab inline`. You can only chose one [backend] and stick with it after or restart the kernel. you can also stay in floating figure and do ``` from IPython.display import display display(gcf()) #get current figure ``` Does this answer your question ? -- Matthias From satra at mit.edu Sat Aug 25 09:04:15 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sat, 25 Aug 2012 09:04:15 -0400 Subject: [IPython-dev] mixing pylab=inline and external windows In-Reply-To: <4F6833CD-4FF9-47F7-86A7-C6537B8024B6@gmail.com> References: <4F6833CD-4FF9-47F7-86A7-C6537B8024B6@gmail.com> Message-ID: thanks matthias, in last dev you should be able to toggle between floating figure `%pylab > [backend]` and inline `%pylab inline`. > this is exactly what i was looking for. cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From satra at mit.edu Sat Aug 25 13:39:01 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sat, 25 Aug 2012 13:39:01 -0400 Subject: [IPython-dev] rmagic R help In-Reply-To: References: Message-ID: > > Ah, I see. Have a look at this bit of the rpy2 docs - it should be > easy to put something together based on that: > > http://rpy.sourceforge.net/rpy2/doc-2.2/html/introduction.html#getting-help > > thanks thomas. i'll try to take a look when i get a breather. cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Sun Aug 26 06:18:15 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Sun, 26 Aug 2012 11:18:15 +0100 Subject: [IPython-dev] Matplotlib HTML5 canvas Message-ID: I know the Matplotlib HTML5 canvas has been discussed before, but we've just seen Simon Ratcliffe give a demonstration at Euroscipy of the canvas integrated with the notebook. It seemed to be working smoothly, although it doesn't quite follow the model of generating a figure from each cell - in the demonstration he made a figure and updated it in-place from subsequent cells. I would expect some people to start using it soon. Thomas From bob+ipython at mcelrath.org Sun Aug 26 13:09:28 2012 From: bob+ipython at mcelrath.org (Bob McElrath) Date: Sun, 26 Aug 2012 17:09:28 +0000 Subject: [IPython-dev] Matplotlib HTML5 canvas In-Reply-To: References: Message-ID: <20120826170928.GM27675@mcelrath.org> This post needs a link. ;) Thomas Kluyver [takowl at gmail.com] wrote: > I know the Matplotlib HTML5 canvas has been discussed before, but > we've just seen Simon Ratcliffe give a demonstration at Euroscipy of > the canvas integrated with the notebook. It seemed to be working > smoothly, although it doesn't quite follow the model of generating a > figure from each cell - in the demonstration he made a figure and > updated it in-place from subsequent cells. I would expect some people > to start using it soon. > > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Cheers, Bob McElrath "The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself." -- Friedrich Nietzsche From satra at mit.edu Sun Aug 26 13:10:07 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sun, 26 Aug 2012 13:10:07 -0400 Subject: [IPython-dev] size of text in notebook Message-ID: on chrome dev i can't use the usual browser keys to change the font size of the text in the notebook dev. any ideas how one might accomplish this? cheers, satra -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl.input at gmail.com Sun Aug 26 14:25:47 2012 From: carl.input at gmail.com (Carl Smith) Date: Sun, 26 Aug 2012 19:25:47 +0100 Subject: [IPython-dev] size of text in notebook In-Reply-To: References: Message-ID: I don't know if it helps, but you can put a CSS style rule in a Markdown cell with style tags, then modify the styles with something like... .rendered_html p {font-size: large} On 0.14, you can do this in your profile I think. I'm on my phone, so I can't really check. I don't know how you'd get Ctrl+scroll to zoom though. On Aug 26, 2012 6:10 PM, "Satrajit Ghosh" wrote: > on chrome dev i can't use the usual browser keys to change the font size > of the text in the notebook dev. any ideas how one might accomplish 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: From damianavila at gmail.com Sun Aug 26 15:24:16 2012 From: damianavila at gmail.com (=?ISO-8859-1?Q?Dami=E1n_Avila?=) Date: Sun, 26 Aug 2012 16:24:16 -0300 Subject: [IPython-dev] Matplotlib HTML5 canvas In-Reply-To: <20120826170928.GM27675@mcelrath.org> References: <20120826170928.GM27675@mcelrath.org> Message-ID: <503A77E0.3050701@gmail.com> El 26/08/12 14:09, Bob McElrath escribi?: > This post needs a link. ;) > > Thomas Kluyver [takowl at gmail.com] wrote: >> I know the Matplotlib HTML5 canvas has been discussed before, but >> we've just seen Simon Ratcliffe give a demonstration at Euroscipy of >> the canvas integrated with the notebook. It seemed to be working >> smoothly, although it doesn't quite follow the model of generating a >> figure from each cell - in the demonstration he made a figure and >> updated it in-place from subsequent cells. I would expect some people >> to start using it soon. >> >> Thomas >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev > -- > Cheers, Bob McElrath > > "The individual has always had to struggle to keep from being overwhelmed by > the tribe. If you try it, you will be lonely often, and sometimes frightened. > But no price is too high to pay for the privilege of owning yourself." > -- Friedrich Nietzsche > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev Here: http://code.google.com/p/mplh5canvas Cheers, Dami?n. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bob+ipython at mcelrath.org Sun Aug 26 15:34:22 2012 From: bob+ipython at mcelrath.org (Bob McElrath) Date: Sun, 26 Aug 2012 19:34:22 +0000 Subject: [IPython-dev] Matplotlib HTML5 canvas In-Reply-To: <503A77E0.3050701@gmail.com> References: <20120826170928.GM27675@mcelrath.org> <503A77E0.3050701@gmail.com> Message-ID: <20120826193422.GQ27675@mcelrath.org> Ah ok then this is nothing new. Mplh5canvas has a separate HTTP server that serves up the HTML5 canvas (and so does iPython -- making the two difficult to work together). Was the talk just showing existing mplh5canvas functionality? Or have they done something new that makes it work better with iPython? Their implementation works like the GTK/Qt figure with panning/zooming, and client-server architecture to do that in the browser, unlike iPython which has static plots (so far...). Dami?n Avila [damianavila at gmail.com] wrote: > El 26/08/12 14:09, Bob McElrath escribi?: > > This post needs a link. ;) > > Thomas Kluyver [takowl at gmail.com] wrote: > > I know the Matplotlib HTML5 canvas has been discussed before, but > we've just seen Simon Ratcliffe give a demonstration at Euroscipy of > the canvas integrated with the notebook. It seemed to be working > smoothly, although it doesn't quite follow the model of generating a > figure from each cell - in the demonstration he made a figure and > updated it in-place from subsequent cells. I would expect some people > to start using it soon. > > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -- > Cheers, Bob McElrath > > "The individual has always had to struggle to keep from being overwhelmed by > the tribe. If you try it, you will be lonely often, and sometimes frightened. > But no price is too high to pay for the privilege of owning yourself." > -- Friedrich Nietzsche > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > Here: http://code.google.com/p/mplh5canvas > > Cheers, > > Dami?n. > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Cheers, Bob McElrath "The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself." -- Friedrich Nietzsche From benjaminrk at gmail.com Sun Aug 26 15:46:17 2012 From: benjaminrk at gmail.com (MinRK) Date: Sun, 26 Aug 2012 12:46:17 -0700 Subject: [IPython-dev] size of text in notebook In-Reply-To: References: Message-ID: I'm not sure what you mean. The standard cmd-+/-/0 still works as expected on OS X, as does ctrl-wheel and ctrl-+/-/0 on Ubuntu. This is Chrome 23.0.1243.2 dev -MinRK On Sun, Aug 26, 2012 at 11:25 AM, Carl Smith wrote: > I don't know if it helps, but you can put a CSS style rule in a Markdown > cell with style tags, then modify the styles with something like... > .rendered_html p {font-size: large} > On 0.14, you can do this in your profile I think. I'm on my phone, so I > can't really check. > I don't know how you'd get Ctrl+scroll to zoom though. > On Aug 26, 2012 6:10 PM, "Satrajit Ghosh" wrote: > >> on chrome dev i can't use the usual browser keys to change the font size >> of the text in the notebook dev. any ideas how one might accomplish 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: From satra at mit.edu Sun Aug 26 19:27:51 2012 From: satra at mit.edu (Satrajit Ghosh) Date: Sun, 26 Aug 2012 19:27:51 -0400 Subject: [IPython-dev] size of text in notebook In-Reply-To: References: Message-ID: hi min, you are correct. i tested it again after your mail and it works. i wonder if i was simply in a weird state. if it repeats, i'll post with more info. sorry for the noise. cheers, satra On Sun, Aug 26, 2012 at 3:46 PM, MinRK wrote: > I'm not sure what you mean. The standard cmd-+/-/0 still works as > expected on OS X, as does ctrl-wheel and ctrl-+/-/0 on Ubuntu. > > This is Chrome 23.0.1243.2 dev > > -MinRK > > > On Sun, Aug 26, 2012 at 11:25 AM, Carl Smith wrote: > >> I don't know if it helps, but you can put a CSS style rule in a Markdown >> cell with style tags, then modify the styles with something like... >> .rendered_html p {font-size: large} >> On 0.14, you can do this in your profile I think. I'm on my phone, so I >> can't really check. >> I don't know how you'd get Ctrl+scroll to zoom though. >> On Aug 26, 2012 6:10 PM, "Satrajit Ghosh" wrote: >> >>> on chrome dev i can't use the usual browser keys to change the font >>> size of the text in the notebook dev. any ideas how one might accomplish >>> 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 >> >> > > _______________________________________________ > 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: From lars at innohead.com Mon Aug 27 05:09:39 2012 From: lars at innohead.com (Lars-Innohead) Date: Mon, 27 Aug 2012 02:09:39 -0700 (PDT) Subject: [IPython-dev] IPython Notebook save problem caused by HTTP PUT Message-ID: <1346058579055-4986570.post@n6.nabble.com> Hi IPython developers I have found a bug and a way to solve it: Sometimes I can not save an IPython Notebook. The bigger the notebook is, the more likely saving is to fail. The problem occurs on Windows but not on Mac. Problem details: When using the Chrome browser under windows a notebook containing only this single line for i in xrange(1234): print i can always be saved. But if I make the notebook bigger by changing the line to for i in xrange(123456): print i saving usually fails. Solution: I found out that the problem disappeared, if I modified IPython to use HTTP POST instead of HTTP PUT. I don't know if it's a bug in the Chrome browser or a bug in the Tornado server, but it can be solved by modifying these three lines C:\Python26\Lib\site-packages\IPython\frontend\html\notebook\static\js\notebook.js: //type : "PUT", type : "POST", C:\Python26\Lib\site-packages\IPython\frontend\html\notebook\handlers.py: #SUPPORTED_METHODS = ('GET', 'PUT', 'DELETE') SUPPORTED_METHODS = ('GET', 'POST', 'DELETE') ... def post(self, notebook_id): #def put(self, notebook_id): Kind Regards Lars Bojsen-M?ller Innohead -- View this message in context: http://python.6.n6.nabble.com/IPython-Notebook-save-problem-caused-by-HTTP-PUT-tp4986570.html Sent from the IPython - Development mailing list archive at Nabble.com. From ludwig.schwardt at gmail.com Mon Aug 27 05:42:17 2012 From: ludwig.schwardt at gmail.com (Ludwig Schwardt) Date: Mon, 27 Aug 2012 11:42:17 +0200 Subject: [IPython-dev] Matplotlib HTML5 canvas In-Reply-To: References: Message-ID: <766D4769C9C948FFB897F72B17ECDB6C@gmail.com> Hi, > From: Bob McElrath > > Ah ok then this is nothing new. Mplh5canvas has a separate HTTP server that > serves up the HTML5 canvas (and so does iPython -- making the two difficult to > work together). Was the talk just showing existing mplh5canvas functionality? > Or have they done something new that makes it work better with iPython? > > Simon and I integrated the mplh5canvas with the IPython notebook while we were at EuroSciPy, which required some (small) changes to IPython. Previously the canvas opened in a separate browser window instead of in the notebook itself. We also added panning and a cursor returning data coordinates. It is still a very loose integration based on the separate HTTP server that you mention, but it should be easy to slipstream the communication over IPython's own websockets. This would avoid cross-site scripting restrictions and allow the figure to be resized within the notebook instead of only within its iframe, for example. The dual-server approach works quite well otherwise (though it's clearly sub-optimal). We wanted to get people interested and show them what's already possible in the notebook, so this was more a proof of concept. I'm sure Simon can make the relevant IPython changes available somewhere too. Regards, Ludwig -------------- next part -------------- An HTML attachment was scrubbed... URL: From hans_meine at gmx.net Mon Aug 27 05:50:18 2012 From: hans_meine at gmx.net (Hans Meine) Date: Mon, 27 Aug 2012 11:50:18 +0200 Subject: [IPython-dev] Cell magics and extensions In-Reply-To: <4FD214F6.1090504@creativetrax.com> References: <4FD214F6.1090504@creativetrax.com> Message-ID: <32847938.W2X6pFv49f@hmeine-pc> Am Freitag, 8. Juni 2012, 10:06:30 schrieb Jason Grout: > Or maybe IPython can use git submodules to track an "official" list of > plugins? I don't know. Having a contrib directory of sorts opens up a > can of worms, but it also lends a stamp of authority and permanence to > what may be rather transient development efforts. A stamp of authority and permanence comes with a lot of responsibility, too, though. In Mercurial, "stable" extensions are those that... well, turn out to be stable after using them for months, discussion issues on the list, version updates with adaptations to API changes, etc. It would mean a lot of work IMO to have a list of "official" third party extensions, in terms of testing and maintenance. Collecting pointers to extensions is a whole diffent thing, and would be definitely useful. Best, Hans From bussonniermatthias at gmail.com Mon Aug 27 07:39:53 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Mon, 27 Aug 2012 13:39:53 +0200 Subject: [IPython-dev] IPython Notebook save problem caused by HTTP PUT In-Reply-To: <1346058579055-4986570.post@n6.nabble.com> References: <1346058579055-4986570.post@n6.nabble.com> Message-ID: <9C73CC24-E0A6-4477-9394-58F3E8E5BF46@gmail.com> Le 27 ao?t 2012 ? 11:09, Lars-Innohead a ?crit : > Hi IPython developers > > I have found a bug and a way to solve it: Sometimes I can not save an > IPython Notebook. The bigger the notebook is, the more likely saving is to > fail. The problem occurs on Windows but not on Mac. > > Problem details: > > When using the Chrome browser under windows a notebook containing only this > single line > for i in xrange(1234): print i > can always be saved. But if I make the notebook bigger by changing the line > to > for i in xrange(123456): print i > saving usually fails. > > Solution: > > I found out that the problem disappeared, if I modified IPython to use HTTP > POST instead of HTTP PUT. I don't know if it's a bug in the Chrome browser > or a bug in the Tornado server, but it can be solved by modifying these > three lines > > C:\Python26\Lib\site-packages\IPython\frontend\html\notebook\static\js\notebook.js: > //type : "PUT", > type : "POST", > > C:\Python26\Lib\site-packages\IPython\frontend\html\notebook\handlers.py: > #SUPPORTED_METHODS = ('GET', 'PUT', 'DELETE') > SUPPORTED_METHODS = ('GET', 'POST', 'DELETE') > ... > def post(self, notebook_id): > #def put(self, notebook_id): > That's good to know, Could you one an issue on github ? I don't think we'll change it without warning because some other project might now rely on PUT. -- Matthias > Kind Regards > Lars Bojsen-M?ller > Innohead > > > > -- > View this message in context: http://python.6.n6.nabble.com/IPython-Notebook-save-problem-caused-by-HTTP-PUT-tp4986570.html > Sent from the IPython - Development mailing list archive at Nabble.com. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From manderso at broadcom.com Mon Aug 27 15:43:39 2012 From: manderso at broadcom.com (Matt Anderson) Date: Mon, 27 Aug 2012 19:43:39 +0000 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: Fernando, what do you think? Thanks, Matt > -----Original Message----- > From: ipython-dev-bounces at scipy.org [mailto:ipython-dev- > bounces at scipy.org] On Behalf Of Thomas Kluyver > Sent: Wednesday, August 15, 2012 2:13 PM > To: IPython developers list > Subject: Re: [IPython-dev] migration issues, embedding latest IPython > in another application > > Hi Matt, > > On 15 August 2012 18:15, Matt Anderson wrote: > > To remedy, should the implementation of this function call > InteractiveShellEmbed.instance() instead of InteractiveShellEmbed()? > > Looking at the code for embed(), it has these three lines: > > global _embedded_shell > if _embedded_shell is None: > _embedded_shell = InteractiveShellEmbed(**kwargs) > > So it's effectively implementing a singleton pattern itself. It looks > to me like it would make more sense to use the .instance() API that's > used elsewhere in the code, but I'm not familiar with the reason it > was originally done a different way. > > I think Fernando might be most familiar with that bit of the code. > He's very busy at the moment, so it might be a few days before he can > chime in. > > Thanks, > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From mhansen at gmail.com Mon Aug 27 18:11:07 2012 From: mhansen at gmail.com (Mike Hansen) Date: Mon, 27 Aug 2012 12:11:07 -1000 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On Wed, Aug 15, 2012 at 9:25 AM, MinRK wrote: > embed was implemented before the singleton stuff came together. It probably > should use instance(), but doing so has one disadvantage: It would break the > ability to call embed() from within an existing IPython session. I don't > know if anyone cares about that use case, though. In Sage, we create instances of InteractiveShellEmbed (different prompts, etc.) and run them from within an IPython session, but I think this might not overlap with this case since we aren't calling the "embed()" function. --Mike From ellisonbg at gmail.com Mon Aug 27 18:55:07 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Mon, 27 Aug 2012 15:55:07 -0700 Subject: [IPython-dev] IPython Notebook save problem caused by HTTP PUT In-Reply-To: <9C73CC24-E0A6-4477-9394-58F3E8E5BF46@gmail.com> References: <1346058579055-4986570.post@n6.nabble.com> <9C73CC24-E0A6-4477-9394-58F3E8E5BF46@gmail.com> Message-ID: We definitely want to keep this a PUT, but we should figure out what is going on with it. On Mon, Aug 27, 2012 at 4:39 AM, Matthias BUSSONNIER wrote: > > Le 27 ao?t 2012 ? 11:09, Lars-Innohead a ?crit : > >> Hi IPython developers >> >> I have found a bug and a way to solve it: Sometimes I can not save an >> IPython Notebook. The bigger the notebook is, the more likely saving is to >> fail. The problem occurs on Windows but not on Mac. >> >> Problem details: >> >> When using the Chrome browser under windows a notebook containing only this >> single line >> for i in xrange(1234): print i >> can always be saved. But if I make the notebook bigger by changing the line >> to >> for i in xrange(123456): print i >> saving usually fails. >> >> Solution: >> >> I found out that the problem disappeared, if I modified IPython to use HTTP >> POST instead of HTTP PUT. I don't know if it's a bug in the Chrome browser >> or a bug in the Tornado server, but it can be solved by modifying these >> three lines >> >> C:\Python26\Lib\site-packages\IPython\frontend\html\notebook\static\js\notebook.js: >> //type : "PUT", >> type : "POST", >> >> C:\Python26\Lib\site-packages\IPython\frontend\html\notebook\handlers.py: >> #SUPPORTED_METHODS = ('GET', 'PUT', 'DELETE') >> SUPPORTED_METHODS = ('GET', 'POST', 'DELETE') >> ... >> def post(self, notebook_id): >> #def put(self, notebook_id): >> > > That's good to know, > Could you one an issue on github ? > I don't think we'll change it without warning because some other project might now rely on PUT. > > -- > Matthias > >> Kind Regards >> Lars Bojsen-M?ller >> Innohead >> >> >> >> -- >> View this message in context: http://python.6.n6.nabble.com/IPython-Notebook-save-problem-caused-by-HTTP-PUT-tp4986570.html >> Sent from the IPython - Development mailing list archive at Nabble.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 fperez.net at gmail.com Mon Aug 27 22:37:07 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 27 Aug 2012 19:37:07 -0700 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On Mon, Aug 27, 2012 at 12:43 PM, Matt Anderson wrote: > Fernando, what do you think? I'm sorry, for reasons beyond my control I am mostly offline and will remain so for some more time. I will explain in a day or two. f From jonathan.taylor at stanford.edu Wed Aug 29 02:08:27 2012 From: jonathan.taylor at stanford.edu (Jonathan Taylor) Date: Tue, 28 Aug 2012 23:08:27 -0700 Subject: [IPython-dev] rmagic R help In-Reply-To: References: Message-ID: A quick solution is to use _=%R print(?plot) which should just print the help file. The R magic only displays R's stdout, while in the terminal ?plot redirects to either an html browser or something like less. Perhaps a magic named something like %Rhelp plot could put this into ipython's help system. On Sat, Aug 25, 2012 at 10:39 AM, Satrajit Ghosh wrote: > Ah, I see. Have a look at this bit of the rpy2 docs - it should be >> easy to put something together based on that: >> >> >> http://rpy.sourceforge.net/rpy2/doc-2.2/html/introduction.html#getting-help >> >> > thanks thomas. i'll try to take a look when i get a breather. > > cheers, > > satra > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -- Jonathan Taylor Dept. of Statistics Sequoia Hall, 137 390 Serra Mall Stanford, CA 94305 Tel: 650.723.9230 Fax: 650.725.8977 Web: http://www-stat.stanford.edu/~jtaylo -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Wed Aug 29 22:57:22 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Wed, 29 Aug 2012 19:57:22 -0700 Subject: [IPython-dev] A sad day for our community. John Hunter: 1968-2012. Message-ID: Dear friends and colleagues, [please excuse a possible double-post of this message, in-flight internet glitches] I am terribly saddened to report that yesterday, August 28 2012 at 10am, John D. Hunter died from complications arising from cancer treatment at the University of Chicago hospital, after a brief but intense battle with this terrible illness. John is survived by his wife Miriam, his three daughters Rahel, Ava and Clara, his sisters Layne and Mary, and his mother Sarah. Note: If you decide not to read any further (I know this is a long message), please go to this page for some important information about how you can thank John for everything he gave in a decade of generous contributions to the Python and scientific communities: http://numfocus.org/johnhunter. Just a few weeks ago, John delivered his keynote address at the SciPy 2012 conference in Austin centered around the evolution of matplotlib: http://www.youtube.com/watch?v=e3lTby5RI54 but tragically, shortly after his return home he was diagnosed with advanced colon cancer. This diagnosis was a terrible discovery to us all, but John took it with his usual combination of calm and resolve, and initiated treatment procedures. Unfortunately, the first round of chemotherapy treatments led to severe complications that sent him to the intensive care unit, and despite the best efforts of the University of Chicago medical center staff, he never fully recovered from these. Yesterday morning, he died peacefully at the hospital with his loved ones at his bedside. John fought with grace and courage, enduring every necessary procedure with a smile on his face and a kind word for all of his caretakers and becoming a loved patient of the many teams that ended up involved with his case. This was no surprise for those of us who knew him, but he clearly left a deep and lasting mark even amongst staff hardened by the rigors of oncology floors and intensive care units. I don't need to explain to this community the impact of John's work, but allow me to briefly recap, in case this is read by some who don't know the whole story. In 2002, John was a postdoc at the University of Chicago hospital working on the analysis of epilepsy seizure data in children. Frustrated with the state of the existing proprietary solutions for this class of problems, he started using Python for his work, back when the scientific Python ecosystem was much, much smaller than it is today and this could have been seen as a crazy risk. Furthermore, he found that there were many half-baked solutions for data visualization in Python at the time, but none that truly met his needs. Undeterred, he went on to create matplotlib (http://matplotlib.org) and thus overcome one of the key obstacles for Python to become the best solution for open source scientific and technical computing. Matplotlib is both an amazing technical achievement and a shining example of open source community building, as John not only created its backbone but also fostered the development of a very strong development team, ensuring that the talent of many others could also contribute to this project. The value and importance of this are now painfully clear: despite having lost John, matplotlib continues to thrive thanks to the leadership of Michael Droetboom, the support of Perry Greenfield at the Hubble Telescope Science Institute, and the daily work of the rest of the team. I want to thank Perry and Michael for putting their resources and talent once more behind matplotlib, securing the future of the project. It is difficult to overstate the value and importance of matplotlib, and therefore of John's contributions (which do not end in matplotlib, by the way; but a biography will have to wait for another day...). Python has become a major force in the technical and scientific computing world, leading the open source offers and challenging expensive proprietary platforms with large teams and millions of dollars of resources behind them. But this would be impossible without a solid data visualization tool that would allow both ad-hoc data exploration and the production of complex, fine-tuned figures for papers, reports or websites. John had the vision to make matplotlib easy to use, but powerful and flexible enough to work in graphical user interfaces and as a server-side library, enabling a myriad use cases beyond his personal needs. This means that now, matplotlib powers everything from plots in dissertations and journal articles to custom data analysis projects and websites. And despite having left his academic career a few years ago for a job in industry, he remained engaged enough that as of today, he is still the top committer to matplotlib; this is the git shortlog of those with more than 1000 commits to the project: 2145 John Hunter 2130 Michael Droettboom 1060 Eric Firing All of this was done by a man who had three children to raise and who still always found the time to help those on the mailing lists, solve difficult technical problems in matplotlib, teach courses and seminars about scientific Python, and more recently help create the NumFOCUS foundation project. Despite the challenges that raising three children in an expensive city like Chicago presented, he never once wavered from his commitment to open source. But unfortunately now he is not here anymore to continue providing for their well-being, and I hope that all those who have so far benefited from his generosity, will thank this wonderful man who always gave far more than he received. Thanks to the rapid action of Travis Oliphant, the NumFOCUS foundation is now acting as an escrow agent to accept donations that will go into a fund to support the education and care of his wonderful girls Rahel, Ava and Clara. If you have benefited from John's many contributions, please say thanks in the way that would matter most to him, by helping Miriam continue the task of caring for and educating Rahel, Ava and Clara. You will find all the information necessary to make a donation here: http://numfocus.org/johnhunter Remember that even a small donation helps! If all those who ever use matplotlib give just a little bit, in the long run I am sure that we can make a difference. If you are a company that benefits in a serious way from matplotlib, remember that John was a staunch advocate of keeping all scientific Python projects under the BSD license so that commercial users could benefit from them without worry. Please say thanks to John in a way commensurate with your resources (and check how much a yearly matlab license would cost you in case you have any doubts about the value you are getting...). John's family is planning a private burial in Tennessee, but (most likely in September) there will also be a memorial service in Chicago that friends and members of the community can attend. We don't have the final scheduling details at this point, but I will post them once we know. I would like to again express my gratitude to Travis Oliphant for moving quickly with the setup of the donation support, and to Eric Jones (the founder of Enthought and another one of the central figures in our community) who immediately upon learning of John's plight contributed resources to support the family with everyday logistics while John was facing treatment as well as my travel to Chicago to assist. This kind of immediate urge to come to the help of others that Eric and Travis displayed is a hallmark of our community. Before closing, I want to take a moment to publicly thank the incredible staff of the University of Chicago medical center. The last two weeks were an intense and brutal ordeal for John and his loved ones, but the hospital staff offered a sometimes hard to believe, unending supply of generosity, care and humanity in addition to their technical competence. The latter is something we expect from a first-rate hospital at a top university, where the attending physicians can be world-renowned specialists in their field. But the former is often forgotten in a world often ruled by a combination of science and concerns about regulations and liability. Instead, we found generous and tireless staff who did everything in their power to ease the pain, always putting our well being ahead of any mindless adherence to protocol, patiently tending to every need we had and working far beyond their stated responsibilities to support us. To name only one person (and many others are equally deserving), I want to thank Dr. Carla Moreira, chief surgical resident, who spent the last few hours of John's life with us despite having just completed a solid night shift of surgical work. Instead of resting she came to the ICU and worked to ensure that those last hours were as comfortable as possible for John; her generous actions helped us through a very difficult moment. It is now time to close this already too long message... John, thanks for everything you gave all of us, and for the privilege of knowing you. Fernando. ps - I have sent this with my 'mailing lists' email. If you need to contact me directly for anything regarding the above, please write to my regular address at Fernando.Perez at berkeley.edu, where I do my best to reply more promptly. From benjaminrk at gmail.com Thu Aug 30 17:27:28 2012 From: benjaminrk at gmail.com (MinRK) Date: Thu, 30 Aug 2012 14:27:28 -0700 Subject: [IPython-dev] 0.13.1 Message-ID: I think it's coming up on time to cut 0.13.1. There are two open issues currently tagged for backport: #2227 - Print name (also download as... filename) have become uninformative #2080 - Qt eventloop issues. Both have proposed bugfixes in #2365 and #2294 respectively. I am a bit sqeamish about the eventloop stuff, since I don't understand it. The script I have been using to backport tagged PRs is up. It's not automatic - it doesn't search for tags or push, it just does checkout and apply of requested PRs by number. I don't know of any other important bugs that want an 0.13.1 backport. -------------- next part -------------- An HTML attachment was scrubbed... URL: From brad.froehle at gmail.com Thu Aug 30 18:09:53 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Thu, 30 Aug 2012 15:09:53 -0700 Subject: [IPython-dev] 0.13.1 In-Reply-To: References: Message-ID: <72959517721A4CACA7384B462A944B70@gmail.com> I'm in favor of deferring the event loop issue to 0.14. On Thursday, August 30, 2012 at 2:27 PM, MinRK wrote: > I think it's coming up on time to cut 0.13.1. > > There are two open issues currently tagged for backport: > > #2227 (https://github.com/ipython/ipython/issues/2227) - Print name (also download as... filename) have become uninformative > #2080 (https://github.com/ipython/ipython/issues/2080) - Qt eventloop issues. > > Both have proposed bugfixes in #2365 (https://github.com/ipython/ipython/pull/2365) and #2294 (https://github.com/ipython/ipython/pull/2294) respectively. I am a bit sqeamish about the eventloop stuff, since I don't understand it. > > The script I have been using to backport tagged PRs is up (https://github.com/ipython/ipython/pull/2358). It's not automatic - it doesn't search for tags or push, it just does checkout and apply of requested PRs by number. > > I don't know of any other important bugs that want an 0.13.1 backport. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org (mailto:IPython-dev at scipy.org) > http://mail.scipy.org/mailman/listinfo/ipython-dev From fperez.net at gmail.com Thu Aug 30 21:16:09 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 30 Aug 2012 18:16:09 -0700 Subject: [IPython-dev] On my recent absence: thanks to the whole team! Message-ID: Hi folks, I just wanted to drop a couple of words explaining what happened recently with me, which should mostly be obvious now that you heard of John's death. As you all know, ipython and matplotlib have a close and productive relationship; while some of this is due to technical reasons, it is also true that the friendship between John and I helped keep things moving. John and I were very close friends, and from the moment I heard of his diagnosis (~ one month ago) I spent a significant amount of time trying to help in various ways; this meant scrapping most of my IPython bandwidth. Then as things took a turn for the worse, I flew to Chicago and spent the last two weeks there, providing any assistance I could to John and his family. I did update via private email the core devs, and I want to thank everyone who has pitched in really hard to keep things moving. IPython will only thrive when none of us is a bottleneck, and I'm thrilled to see that our team is healthy enough to manage a situation like this (which also coincided with Brian being mostly offline due to complicated moving logistics). I am now back to a regular workflow, but as you can imagine the backlog of a 2+ weeks unplanned work blackout is pretty nasty, and it will take me a while to get back on top of things here. Anyway, I promised in a recent thread that I'd explain why I wasn't answering anything in a useful way... Thanks again to everyone who has pitched in. And please tweet/blog/etc the link to the John Hunter Memorial Fund: http://numfocus.org/johnhunter so that we can make it as successful as possible. Matthias suggested adding a link to that on our main page, and I think it's a great idea. The more visibility we can give this, the better. Cheers, f From fperez.net at gmail.com Thu Aug 30 23:39:21 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Thu, 30 Aug 2012 20:39:21 -0700 Subject: [IPython-dev] 0.13.1 In-Reply-To: <72959517721A4CACA7384B462A944B70@gmail.com> References: <72959517721A4CACA7384B462A944B70@gmail.com> Message-ID: On Thu, Aug 30, 2012 at 3:09 PM, Bradley M. Froehle 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. Cheers, f From arnaud at oscopy.org Fri Aug 31 01:19:53 2012 From: arnaud at oscopy.org (Arnaud Gardelein) Date: Fri, 31 Aug 2012 07:19:53 +0200 Subject: [IPython-dev] Installation of ipython on cygwin Message-ID: <1346390393.13841.0.camel@bomberx.somewhere-in-the-space.org> It seems that ipython got installed fine on my cygwin install. Just in case if it could help anybody else here is the approximate procedure that was followed: 1. Install main dependencies with cygwin's setup.exe. 2. Download source and install libffi [1] (this prevent an error of pkg-config see [3]#about libffi) 3. Download source and install matplotlib disabling Tkagg [2] and following instruction of [3], set also PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 4. Download source and install ipython And then: $ ipython --pylab Python 2.6.8 (unknown, Jun 9 2012, 11:30:32) (...) IPython 0.13 -- An enhanced Interactive Python. (...) In [1]: hist([1, 2, 3]) Out[1]: (array([1, 0, 0, 0, 0, 1, 0, 0, 0, 1]), array([ 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]), ) In [2]: plot([1,2,3],[4,5,9]) Out[2]: [] The two Figures are shown. Versions used: Windows: XP pro Cygwin: 1.7.16-i686-2.6 Python: 2.6.8 Matplotlib: 1.1.1 IPython: 0.13 [1] http://sourceware.org/libffi/ [2] http://stackoverflow.com/questions/5151755/how-to-install-matplotlib-on-cygwin [3] http://innuendopoly.org/arch/matplotlib-cygwin Arnaud. From fperez.net at gmail.com Wed Aug 29 22:32:23 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Wed, 29 Aug 2012 19:32:23 -0700 Subject: [IPython-dev] A sad day for our community. John Hunter: 1968-2012. Message-ID: Dear friends and colleagues, I am terribly saddened to report that yesterday, August 28 2012 at 10am, John D. Hunter died from complications arising from cancer treatment at the University of Chicago hospital, after a brief but intense battle with this terrible illness. John is survived by his wife Miriam, his three daughters Rahel, Ava and Clara, his sisters Layne and Mary, and his mother Sarah. Note: If you decide not to read any further (I know this is a long message), please go to this page for some important information about how you can thank John for everything he gave in a decade of generous contributions to the Python and scientific communities: http://numfocus.org/johnhunter. Just a few weeks ago, John delivered his keynote address at the SciPy 2012 conference in Austin centered around the evolution of matplotlib: http://www.youtube.com/watch?v=e3lTby5RI54 but tragically, shortly after his return home he was diagnosed with advanced colon cancer. This diagnosis was a terrible discovery to us all, but John took it with his usual combination of calm and resolve, and initiated treatment procedures. Unfortunately, the first round of chemotherapy treatments led to severe complications that sent him to the intensive care unit, and despite the best efforts of the University of Chicago medical center staff, he never fully recovered from these. Yesterday morning, he died peacefully at the hospital with his loved ones at his bedside. John fought with grace and courage, enduring every necessary procedure with a smile on his face and a kind word for all of his caretakers and becoming a loved patient of the many teams that ended up involved with his case. This was no surprise for those of us who knew him, but he clearly left a deep and lasting mark even amongst staff hardened by the rigors of oncology floors and intensive care units. I don't need to explain to this community the impact of John's work, but allow me to briefly recap, in case this is read by some who don't know the whole story. In 2002, John was a postdoc at the University of Chicago hospital working on the analysis of epilepsy seizure data in children. Frustrated with the state of the existing proprietary solutions for this class of problems, he started using Python for his work, back when the scientific Python ecosystem was much, much smaller than it is today and this could have been seen as a crazy risk. Furthermore, he found that there were many half-baked solutions for data visualization in Python at the time, but none that truly met his needs. Undeterred, he went on to create matplotlib (http://matplotlib.org) and thus overcome one of the key obstacles for Python to become the best solution for open source scientific and technical computing. Matplotlib is both an amazing technical achievement and a shining example of open source community building, as John not only created its backbone but also fostered the development of a very strong development team, ensuring that the talent of many others could also contribute to this project. The value and importance of this are now painfully clear: despite having lost John, matplotlib continues to thrive thanks to the leadership of Michael Droetboom, the support of Perry Greenfield at the Hubble Telescope Science Institute, and the daily work of the rest of the team. I want to thank Perry and Michael for putting their resources and talent once more behind matplotlib, securing the future of the project. It is difficult to overstate the value and importance of matplotlib, and therefore of John's contributions (which do not end in matplotlib, by the way; but a biography will have to wait for another day...). Python has become a major force in the technical and scientific computing world, leading the open source offers and challenging expensive proprietary platforms with large teams and millions of dollars of resources behind them. But this would be impossible without a solid data visualization tool that would allow both ad-hoc data exploration and the production of complex, fine-tuned figures for papers, reports or websites. John had the vision to make matplotlib easy to use, but powerful and flexible enough to work in graphical user interfaces and as a server-side library, enabling a myriad use cases beyond his personal needs. This means that now, matplotlib powers everything from plots in dissertations and journal articles to custom data analysis projects and websites. And despite having left his academic career a few years ago for a job in industry, he remained engaged enough that as of today, he is still the top committer to matplotlib; this is the git shortlog of those with more than 1000 commits to the project: 2145 John Hunter 2130 Michael Droettboom 1060 Eric Firing All of this was done by a man who had three children to raise and who still always found the time to help those on the mailing lists, solve difficult technical problems in matplotlib, teach courses and seminars about scientific Python, and more recently help create the NumFOCUS foundation project. Despite the challenges that raising three children in an expensive city like Chicago presented, he never once wavered from his commitment to open source. But unfortunately now he is not here anymore to continue providing for their well-being, and I hope that all those who have so far benefited from his generosity, will thank this wonderful man who always gave far more than he received. Thanks to the rapid action of Travis Oliphant, the NumFOCUS foundation is now acting as an escrow agent to accept donations that will go into a fund to support the education and care of his wonderful girls Rahel, Ava and Clara. If you have benefited from John's many contributions, please say thanks in the way that would matter most to him, by helping Miriam continue the task of caring for and educating Rahel, Ava and Clara. You will find all the information necessary to make a donation here: http://numfocus.org/johnhunter Remember that even a small donation helps! If all those who ever use matplotlib give just a little bit, in the long run I am sure that we can make a difference. If you are a company that benefits in a serious way from matplotlib, remember that John was a staunch advocate of keeping all scientific Python projects under the BSD license so that commercial users could benefit from them without worry. Please say thanks to John in a way commensurate with your resources (and check how much a yearly matlab license would cost you in case you have any doubts about the value you are getting...). John's family is planning a private burial in Tennessee, but (most likely in September) there will also be a memorial service in Chicago that friends and members of the community can attend. We don't have the final scheduling details at this point, but I will post them once we know. I would like to again express my gratitude to Travis Oliphant for moving quickly with the setup of the donation support, and to Eric Jones (the founder of Enthought and another one of the central figures in our community) who immediately upon learning of John's plight contributed resources to support the family with everyday logistics while John was facing treatment as well as my travel to Chicago to assist. This kind of immediate urge to come to the help of others that Eric and Travis displayed is a hallmark of our community. Before closing, I want to take a moment to publicly thank the incredible staff of the University of Chicago medical center. The last two weeks were an intense and brutal ordeal for John and his loved ones, but the hospital staff offered a sometimes hard to believe, unending supply of generosity, care and humanity in addition to their technical competence. The latter is something we expect from a first-rate hospital at a top university, where the attending physicians can be world-renowned specialists in their field. But the former is often forgotten in a world often ruled by a combination of science and concerns about regulations and liability. Instead, we found generous and tireless staff who did everything in their power to ease the pain, always putting our well being ahead of any mindless adherence to protocol, patiently tending to every need we had and working far beyond their stated responsibilities to support us. To name only one person (and many others are equally deserving), I want to thank Dr. Carla Moreira, chief surgical resident, who spent the last few hours of John's life with us despite having just completed a solid night shift of surgical work. Instead of resting she came to the ICU and worked to ensure that those last hours were as comfortable as possible for John; her generous actions helped us through a very difficult moment. It is now time to close this already too long message... John, thanks for everything you gave all of us, and for the privilege of knowing you. Fernando. ps - I have sent this with my 'mailing lists' email. If you need to contact me directly for anything regarding the above, please write to my regular address at Fernando.Perez at berkeley.edu, where I do my best to reply more promptly. From massimodisasha at gmail.com Fri Aug 31 19:45:28 2012 From: massimodisasha at gmail.com (Massimo Di Stefano) Date: Fri, 31 Aug 2012 19:45:28 -0400 Subject: [IPython-dev] R magic extension and default R graphic drivers Message-ID: <249CAC27-8648-40DF-9277-CB2DF8432602@gmail.com> Hi All, i'm trying to run some R code from inside a notebook running on a server that doesn't have X running the missing X ... generate an error with the default png driver. if i try to run some R code that involve the graphic drivers i got an error : RRuntimeError: Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize, : unable to start device PNG full error log is here : http://epifanio.whoi.edu/data/img/rext_log.txt i guess, the reason of this error is because the server doesn't allow X fwd and seems doesn't have X running at all. i can reproduce this error (or similar) also from the R console itself : > png(file="myplot.png", bg="transparent") Error in X11(paste("png::", filename, sep = ""), g$width, g$height, pointsize, : unable to start device PNG In addition: Warning message: In png(file = "myplot.png", bg = "transparent") : unable to open connection to X11 display '' > it can be avoided if i set the driver to "cairo" : > options(bitmapType="cairo") > png(file="myplot.png", bg="transparent") > The solution in R was to write a file ".Rprofile" in my home directory, so now i don't need anymore to use options(bitmapType="cairo") in the R prompt. i was hoping that this option was able to fix also the error inside the IPython notebook .. but instead it persist. from the error log i can see that in the file : IPython/extensions/rmagic.py line 515 we have : self.r('png("%s/Rplots%%03d.png",%s)' % (tmpd, png_args)) perhaps it is possible to set the driver to be used directly in rmagic code, have you any clue on how can i fix this problem? thanks a lot! Massimo. [1] -------------- next part -------------- An HTML attachment was scrubbed... URL: