[IPython-dev] Landing newkernel: naming entry points
Mon Sep 20 23:29:16 CDT 2010
On Mon, Sep 20, 2010 at 5:36 PM, Fernando Perez <firstname.lastname@example.org> wrote:
> 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.
I think this name is good.
> - 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.
I think this will just lead to confusion. I don't think we want to
distinguish between the bare bones widgets-apps and the full blown
apps. By this, I mean that we should only offer full blown apps for
our frontends. Obviously the current ipythonqt is still bare bones on
the application side of things, but I think *it* should be the
top-level script that we should incrementally improve into a full
blown app. That is, we should create additional widgets, application
menus, etc. and keep adding them to the mix.
But I do agree that we need to rethink how we name it. The names need
to take into account both the toolkit (qt, wx, ...) as well as the
type of frontend (console, notebook, ...). Some options:
??? (not feeling super creative in the naming area tonight)
> 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.
> IPython-dev mailing list
Brian E. Granger, Ph.D.
Assistant Professor of Physics
Cal Poly State University, San Luis Obispo
More information about the IPython-dev