Jupyter

  |   Source

Jupyter

It occured to me recently that we (the IPython team), are relatively bad at communicating. Not that we don't respond to questions, or welcomme pull request, or will not spend a coupel of hours to teach you git even if you just want to update an URL. We are bad for writing good recapitulatif of what as been done. Of course we have weekly meeting on YouTube, plus notes on Hackpad, but it's painfull to listen to, and not alway friendly.

I hence will try to gather in this small post some of the latest questions I think need to be answerd.

What is Jupyter ?

You might have seen Fernando's Talk t SciPy last year that introduce Jupyter. It was a rough overview, a bit hitorical and technical in some point. In even less technical word, it's anything in IPython that could apply to not Python. We are creating this to welcome non-pythonista in the environement and promote interlanguage interoperability.

Can I be part of Jupyter ?

Yes. Right now only IPython team are Jupyter member (we are drafting legal stuff), but if you want to be part of the steering council we'll be happy for you to join. We would especially like you to join if you have a different background than any of us. You are using Jupyter/IPython for teaching a lot ? Or Maintain a Frobulate-lang kernel ? You point of view will be really usefull !

Can my company be part of Jupyter ?

Yes, here again we are still drafting things, but we want more visibility for sponsors and/or company that develop product that are based on JupyterWork with Jupyter and contrbute back. If you have a specific request or question, please contact us, we'd like to know your point of view !

Do I need technical expertise ?

No. You prefer to write blog post ? Do user testing ? Record demo on how to use a software on youtube ? that's helpful. You are designer ? you want to translate things ? That's awesome to. You like doing paperwork and challenging administrative task ? We can probably ask you how to mound a non-profit organisation to organise all that. You don't really know anything but understand a bit who deals with what on te project ? Your help will be helpfull to assign people tasks on the project ! You write a better english than I do ? Great, english is not my first language and I definitively need someone to point out my mistakes.

When will be Jupyter first public release ?

Well technically Jupyter is not only a project but an organisation. We already have a long list of project you might have heard of.

If you are reffering to The Notebook, then current IPython master is what is closer to Jupyter 1.0.

IPython Notebook 4.0 will probably not be as itmight be name Jupyter 1.0.

IPython will disapear ?

No it will not. IPython the console REPL will stay IPython. the IPython kernel will probably become a separate project call IPython-kernel that will be usable in IPython notebook. Basically most of the feature of IPython (traitlets, widgets, config, kernel, qtconsole...) woudl disapear from IPython repo.

You are removing Traitlest/Widgets/Magics.... ?

Not quite, we will make them separate repository, sometime under Jupyter organisation, sometime under IPython.

For exaple the QtConsole is not Python specific (well, it is written in Python), but can be used with Julia, Haskell... Thus it will be transfered to Jupyter org where it will have its own dedicated team and release schedule. This will allow quicker release of versions, and easier entry to contributor to get commits right. the team in charge will also have more flexibility on the feature shipped. Right now we would probably refuse a qtconsole background beeing a pink fluffy unicorn, once split is done the responsible team can decide to do so.

Traitlets in the other hand (that are use from config to widgets) will be under IPython organisation as they are a specificity from IPython kernel. They could be used in matplotlib to configure loads of things. Once split we will probably add things like numpy traitlets, and a lot of other things requested.

IPython will probably start depending on (some of) these subpackages.

Can you describe the future packages that will exists ?

Roughly will have a package/repo for:

  • nbconvert
  • nbformat
  • qtconsole
  • The Notebook
  • Config
  • Traitlets
  • Widgets
    • maybe even 2 packages, 1 for Python side, other for JS Side
  • IPython as a kernel
  • IPython as a CLI REPL.

Splitting this will moslty be the work we will do in betwwen IPython 3.0 and Jupyter 1.0

Can you give a timescale ?

IPython 3.0 beta early February, release end of February, Jupyter 1.0 three Month Later. If we get more help from people, maybe sooner.

What about new features ?

Starting with IPython 3.0, you can have multi-user server with Jupyter-hub. I, in particular, will be working on real-time colaborationand integration with google Drive (think of something like google doc). As it will not be Python specific, it will be under Jupyter umbrella.

Only google Drive ?

Google gave us enough money to hire me for a year. I'll do my best. With more money, more people we could go faster, have more backend. Developpent is also open, and PR, and testing welcommed !

It would be awesome if something like IPython existed for <a language> !

Well, it's not a question but It's called Jupyter. Please don't reinvent the wheel, comme talk to us, we would love to have interoperability or give you that hook you need. Who knows you can help steering the project in a better direction.

Stickers, mugs, tatoo, website, conferences...

Yep all that. But there is only 24h in a day (almost always), and we are only human after all.

Closing thought.

As usual, comment feed back and PR welcommed.