[IPython-dev] gsoc with ipython

Brian Granger ellisonbg at gmail.com
Sun Jan 30 22:31:36 EST 2011


>> > I am a student at a technical university, and I would be interested in
>> > coding
>> > for the IPython project at gsoc this summer.
>> >
>> > I thought it would be much better if I got to know a bit more about the
>> > project, before applying for it at gsoc.
>> >
>> > So if there is anyone willing to point me to the right direction I would
>> > appreciate that very much.
>> I'm very sorry for the late reply, indeed as Erik indicated (thanks
>> for chiming in!) it was just a matter of being very swamped with 'real
>> life'.  But I'm glad to have you here, and indeed we have now in
>> ipython a lot of potential for new contributions.  There's still real
>> work to be done to 'land' the new zmq-based architecture in a fully
>> stable release, but I hope we'll be able to make headway again into
>> that soon.  And that means the time is right to start thinking about
>> gsoc projects.
>> I'm going to list a few things that need doing, for some of these
>> someone has already made a start but they aren't completed yet.  But
>> this is just so you get a sense of what's 'on the table'.  The best
>> contributions come always from matching a project's needs with the
>> interest of the student, so feel free to pick something that is close
>> to what *you* like and have skills for.  We can then help get you
>> started, so that by the time the gsoc rolls around, you have already
>> some momentum going.  In no particular order:
>> - allowing the new Qt console to work in a single process.  This may
>> appear paradoxical (since we did all that work to be able to run in
>> *two* processes), but there are scenarios where someone may want to
>> embed an IPython rich widget inside an existing application that has a
>> namespace to be interactively manipulated.  Mayavi is a prime example
>> that does that, and right now it would not be able to use our console,
>> since the Qt widget expects to be a separate process.
>> - continuing work on the html frontend that James Gao started:
>> https://github.com/ipython/ipython/pull/179.
>> I haven't talked to James recently, and he may be able to find time to
>> push forward again, so obviously we'd first sync with him before
>> proceeding.  But I expect this to be a fair amount of long-term work,
>> so even with James' foundation in place, there will be plenty more to
>> do.
>> - Allowing the html notebook and the Qt widget to use the matplotlib
>> html5 backend, to get fully interactive windows inline.  I don't know
>> enough about Qt to be really sure if this is even possible, just an
>> idea right now.
>> - Develop a curses frontend.  Wendell Smith discussed this a while ago
>> and has some thoughts on the matter, but I don't know if he has made
>> significant inroads; you may want to ping him first.
>> - Work on the parallel parts: Min Ragan-Kelley has made phenomenal
>> progress recently on this, but it's possible that despite his
>> super-human abilities, he might still have more ideas than time to
>> code them up.  Now with the zmq support we have fairly ambitious plans
>> for what can be done with ipython, so there will be plenty of work on
>> this front.
>> This is just a starter list, let us know if any of it sounds
>> interesting/appealing to you and we'll direct you with a bit more
>> precision then.
>> Regards, and welcome to the project!
>> f
> Hello Fernando,
> I am sorry for this so late reply, but with the holidays and the exam period
> at the university I was not able to find some time for this.
> Honestly, all of the possibilities that you pointed out, sound equally
> appealing to me, I hope that maybe you guys can prioritize them.

Sure, I can try...

1. The html notebook would be a fantastic target.  I think the coding
would be interesting and we could help with the server side of things.
 The core of this work though would be html/css/javascript work.  This
is definitely something that we absolutely need and no one is
currently working on it.
2. Qt based notebook frontend.  Probably more challenging that the
html notebook, but very relevant.  This could also involve
refactoring/improving the existing qtconsole.
3. Pick part of the IPython core and refactor it.  Lots of
possibilities here....

I guess the main thing I would ask at this point is the following:

* What interests you most?
* What languages and tools do you know?  Python?  HTML? CSS? Qt?
Javascript?  Networking?

> I think that I would be able to do a good job, of course with a help of a
> mentor, regardless of the task. I think of myself as a self-learner, so I
> just need to be pointed in the right direction.
> So I guess, the question lies in finding a mentor.

We can help, but you really need to figure out yourself what you want
to work on.  I would definitely start by grabbing the latest git
master and start looking at the code base.



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

Brian E. Granger, Ph.D.
Assistant Professor of Physics
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu
ellisonbg at gmail.com

More information about the IPython-dev mailing list