[IPython-dev] Twisted disabled on non-win32,

Fernando Perez fperez.net@gmail....
Sat May 31 18:01:12 CDT 2008


On Fri, May 30, 2008 at 10:50 AM, Fernando Perez <fperez.net@gmail.com> wrote:
>
> I'll package a release for 0.8.4 and upload a bit later.

OK, I'm almost done with this, will announce shortly.  Note that for
now, I've *fully* disabled the -twisted option,  it is NOT a valid
option anymore.

Do NOT even consider re-enabling this until we hash out whether that
code in twshell is actually correct or not, and how it will  play with
the rest of the twisted features in ipython.  Brian was adamant about
this when this discussion happened  (I missed it all in the middle of
my move, but he didn't):

http://lists.ipython.scipy.org/pipermail/ipython-dev/2008-March/003716.html

Quoting Brian:
Noooooo ;-).  Please, don't start doing stuff like this without all of
us discussing the best direction.  The parallel computing stuff in
IPython1 is designed to work with IPython0 and uses a very carefully
crafted approach for integrating with the Twisted main loop.  Doing
something like this could easily break IPython1 for the many current
users - even if it is optional, I don't want it in IPython0.  More
discussion is needed first.  Sorry I don't have more time to
participate in the discussion right now - if you are interested in how
we are handling this in IPython1, please look at that code base.  What
ever ends up in IPython0 _must_ be compatible with that.

and later:

http://lists.ipython.scipy.org/pipermail/ipython-dev/2008-March/003722.html

which said:

Just in terms of dependencies, having IPython0 depend on Twisted
(optionally of course) is not a problem.  But, how IPython0 _uses_
twisted (even though optional) should be compatible with the way
people are currently using Ipython1 for parallel computing - they
simply use it with IPython0.  That is, the any IPython0 Twisted usage
must not break the IPython0+IPython1 usage pattern that is most common
today.

[end quote]

I'm not sure how Brian could have been any more explicit in asking
that this code not be activated by default.  Brian knows Twisted in
and out and the ip1 architecture is based on it, so now I'm belatedly
honoring his request from March 21 and pulling that code out.

The fact that it only works on win32 makes me extra suspicious of its
correctness, because Twisted is pretty cross-platform.  I'm not saying
it's wrong, but until we understand why it happens to work on win32
and not on other platforms, I don't trust it.


Note that if anyone wants to use the feature, it's trivial to do so.
The now removed ipython -twisted can be obtained with a simple:

python -c"from IPython import twshell;twshell.IPShellTwisted().mainloop()"

So anyone can put in an alias or personal script that consists of this
single line if they want to try out the code.  But until we sort out
this mess, it's off.  Given how we're being forced by this into a
quick-fix release, I don't have the time for a more permanent
solution.

Cheers,

f


More information about the IPython-dev mailing list