Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stimfit will not work with IPython versions 0.11 or above #23

Open
JoseGuzman opened this issue Jul 29, 2015 · 4 comments
Open

Stimfit will not work with IPython versions 0.11 or above #23

JoseGuzman opened this issue Jul 29, 2015 · 4 comments

Comments

@JoseGuzman
Copy link
Contributor

Because IPython dropped wx support on versions 0.11 and above, Stimfit will not build with IPython's backed. Check with your IPython version with ipython --version

According to Fernando Perez, there are a few options:

  1. To embed a proper IPython kernel into your WX app, as shown here:

https://github.com/ipython/ipython/blob/master/docs/examples/lib/ipkernel_wxapp.py
https://github.com/ipython/ipython/blob/master/docs/examples/lib/internal_ipkernel.py

Those two files show how you can activate an IPython kernel in your WX
application. At that point, the kernel is ready to listen to commands
from a Qt console, and you can attach one of the existing Qt consoles,
or launch one yourself (also shown there).

The downside of this is that it requires that users have Qt as well.
That may not be an issue for some projects, but a showstopper for
others.

  1. Help us by updating the IPython WX code to the new 0.11 interfaces.
    We'd love to have a working WX client alongside the Qt one, so if
    anyone with WX expertise is willing to help out, that would be great.
  2. If psychopy is distributed mostly as a 'bundled app' instead of
    relying on system versions of packages, then there's always the brute
    force solution of just bundling ipython 0.10.2 alongside. Not pretty,
    but it gets the job done...
@JoseGuzman JoseGuzman self-assigned this Jul 29, 2015
@JoseGuzman
Copy link
Contributor Author

Just updating this, as it got posted in a response to our user survey:

  1. remains possible, though it's obviously not ideal for a Wx application.

1a. You could embed an IPython kernel into your application, and then have a Wx window with a straightforward terminal emulator widget which runs IPython 'console'. That's a terminal mode which talks to a remote kernel, whereas our normal kernel runs in a single process. I appreciate that's a bit ugly, but it should work.

  1. would be a lot of work to do well. We have quite a lot of code for the Qt console, and much of it would have to be reimplemented to support a Wx frontend. I think the Qt console is already less used than the notebook or the terminal, so I don't think we have much appetite for building another console on a different toolkit.
  2. looks less and less ideal. IPython 0.10 is really old now, and we don't want to encourage anyone to use it.

@JoseGuzman
Copy link
Contributor Author

Option 4: Port Stimfit to Qt :-)
Only half-kidding here, I'm a bit pessimistic about wxPython's future:

@JoseGuzman
Copy link
Contributor Author

I agree that Wx doesn't seem to be going anywhere fast - although that could be a good thing for a GUI framework. But I get the impression that there's enough stuff running on it that it will be kept working for the foreseeable future.

@JoseGuzman
Copy link
Contributor Author

This link will provide us some information soon ( I hope).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant