[IPython-dev] Landing newkernel: naming entry points

Fernando Perez fperez.net at gmail.com
Mon Sep 20 20:36:56 EDT 2010

Hi folks,

I think we're mostly ready to merge the recent work done in the
'newkernel' branch back into trunk, so that it can begin to get wider
testing and polishing.  There are still things we know need work in
there, but at this point I think it's in good enough shape for at
least our -dev denizens to start playing with it.

If anyone disagrees, by all means speak up :)

One thing I'd like some feedback on is our naming policy for script
entry points.  Right now we have the following scripts installed from
newkernel (the absence of some older scripts is because their code is
in the quarantine dir awaiting porting):

uqbar[bin]> ls
ipcluster*  ipcontroller*  ipengine*  iptest*  ipython*  ipythonqt*
irunner*  pycolor*

The new zmq work is likely to quickly give us multiple new frontends:
we have the qt console (ipythonqt above), Gerardo's Qt notebook and
Omar's terminal will hopefully be updated to the kernel architecture
and be merged in, I hope Wendell's curses frontend will come, we may
get the old Wx widget and full client updated (if Gael and Laurent, or
anyone else, pitches in to bring them up to date with the new
architecture).  So we should have a rational naming scheme at least
for new names.

The ipythonqt name is up for final decision, since we haven't released
it yet, but the other names above we'll keep as-is for backwards
compatibility.  The question is how to name new script entry points
we'll necessarily develop.  Here's my current (draft) thinking:

- ipkernel: one we'll need to add for the pure-kernel part of the zmq
clients, when someone wants to create just a kernel.

- ipythonXYZ: names for 'widgets': bare-bones objects meant mostly to
be used as components embedded in other apps, though they can run on
their own.  I'm following the trail left by 'ipythonx' for the bare Wx
widget and 'ipythonqt' for the current console.

- ipython-XYZ (note the dash): these would be the names for 'main
apps'.  Gerardo's would be something like iptyhon-nb, we'd have
iptyhon-wx, ipython-curses and ipython-term for other two-process
clients yet to be finished.

How does this sound?  Any other preferences?

Once we settle this, unless I hear otherwise I'll make the necessary
adjustments to newkernel and will merge it in, so we can continue
working at the regular pace on trunk from now on.



More information about the IPython-dev mailing list