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

In-process kernel support (take 3) #2724

Merged
merged 17 commits into from
Jan 16, 2013

Conversation

pberkes
Copy link
Contributor

@pberkes pberkes commented Dec 27, 2012

This PR continues PR #2397 now that @epatters is offline. The previous PR has been closed and this one will take its place.

I fixed the Python3 issues that got PR #2397 stuck.

@pberkes
Copy link
Contributor Author

pberkes commented Dec 27, 2012

As I mentioned before, this PR covers a frequent use case for me and I think it would be great to have it in IPython. Based on comments on the previous PR by @fperez , it also sounds like it would be useful for IPython in general. I have some time to spend on it at the moment if there is any other issue to be fixed...

BTW, I tried merging the PR to master and all tests stil pass.

@takluyver
Copy link
Member

Thanks for tackling this. It might be a few days before anyone looks at it in detail, but we're definitely interested in supporting this case.

@jdmarch
Copy link

jdmarch commented Jan 10, 2013

Who would be plausible reviewers for this PR?

@takluyver
Copy link
Member

Maybe @epatters and @minrk ?

@epatters
Copy link
Contributor

@takluyver, I have reviewed the Python 3 compatibility fixes. The fixes look good (thanks, @pberkes!).

At the time of my departure, these were the only outstanding issues of which I was aware. I hope that this PR can now move forward.

@takluyver
Copy link
Member

Thanks @epatters .

@minrk : are you happy for this to be merged?

@jdmarch
Copy link

jdmarch commented Jan 15, 2013

Thanks, @epatters.
@ellisonbg, in #2643, also expressed willingness to help review this ticket, if more review is needed.

@minrk
Copy link
Member

minrk commented Jan 15, 2013

I think this looks pretty solid now. My only thought is that I would put these new base classes in IPython.kernel instead of IPython.inprocess.

# Utility classes
#-----------------------------------------------------------------------------

class BlockingChannelMixin(object):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure it makes sense for these base classes to in in IPython.inprocess, I view the main kernel code to be more fundamental.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems reasonable and @minrk evidently shares this view. Are BlockingChannelMixin and SocketABC the only classes that need to be moved?

@ellisonbg
Copy link
Member

Overall, this look like really clean code. I just left a few inline comments.

ellisonbg added a commit that referenced this pull request Jan 16, 2013
In-process kernel support (take 3)
@ellisonbg ellisonbg merged commit 98e3fdd into ipython:master Jan 16, 2013
@tomcraw00
Copy link

This is great, but is there any documentation or example code to actually implement this? The old gist that epatters wrote does not work. I am guessing there were some name changes somewhere in here?

@nehalecky
Copy link

I am also excited about this feature, but can't seem to find any documentation about how to use it except for one thing! I did see the attached .ipynb in the PR stack, checked it out on nbviewer, but couldn't get it working. I'm obviously missing something. Perhaps a special way to start ipython notebook from command line? Any pointers would be appreciated. TY!

@pberkes
Copy link
Contributor Author

pberkes commented Mar 28, 2013

@cpbotha
Copy link

cpbotha commented May 1, 2013

I would like to double-check: This work has not been backported to the 0.13.x branch, and is currently only available on master, right?

@minrk
Copy link
Member

minrk commented May 1, 2013

Correct

@rossant
Copy link
Contributor

rossant commented May 13, 2013

embedded_qtconsole.py (from here) does not appear to work on master:

ImportError: No module named kernelmanager

@minrk
Copy link
Member

minrk commented May 13, 2013

That's correct, some things have been renamed. There is an example in IPython now.

@rossant
Copy link
Contributor

rossant commented May 13, 2013

Great, I missed that. Thanks!

@hsyed
Copy link

hsyed commented May 24, 2013

Could someone please help with my SO question :
http://stackoverflow.com/questions/16737323/embedding-ipython-into-a-pyqt4-app

Hmm, I am wondering if this code even made it into 13.2

Many thanks.

@hsyed
Copy link

hsyed commented May 28, 2013

Ok, so I modified the code fragment from SO (see above). but I am getting the same error. I am on OS X and using QT (4.8.4) and PyQt4 (4.10.1) The git version of ipython is whatever is current today,

@minrk
Copy link
Member

minrk commented May 28, 2013

There is an example in the IPython tree. Your error indicates that you have imported PyQt prior to importing any IPython objects, and the IPython qt code requires PyQt API v2, which is not the default for PyQt in Python 2.

@hsyed
Copy link

hsyed commented May 29, 2013

Many thanks, that solved it. I would suggest that the error message mentions the potential import sequence issue.

@minrk
Copy link
Member

minrk commented May 29, 2013

that's a good idea, thanks

mattvonrocketstein pushed a commit to mattvonrocketstein/ipython that referenced this pull request Nov 3, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet