##// END OF EJS Templates
Backport PR #5458: Add support for PyQt5....
Backport PR #5458: Add support for PyQt5. This PR adds the new `QT_API_PYQT5` to `IPython/external/qt_loaders.py ` and allows to embed the IPython console in Qt5 Applications. In case of PyQt5, the loader returns a union of `PyQt5.QtGui` and `PyQt5.QtWidgets` acting as a Qt4-QtGui compatibility module. One small fix to `InProcessChannel.__init__` was necessary though. For some reason, when constructing `QtInProcessShellChannel`, the `QtCore.QObject.__init__` initializer from `SuperQObject` indirectly calls the `InProcessChannel.__init__` function, which doesn't have a default constructor and thus fails. I assume this has something to do with the metaclass/multiple inheritance approach IPython uses on QObject. Adding a default value for `client` in `InProcessChannel.__init__` solved the problem for me.

File last commit:

r4208:b4b4ede0
r18784:3b30bb89
Show More
make_tarball.py
25 lines | 749 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""Simple script to create a tarball with proper git info.
"""
import commands
import os
import sys
import shutil
from toollib import *
tag = commands.getoutput('git describe --tags')
base_name = 'ipython-%s' % tag
tar_name = '%s.tgz' % base_name
# git archive is weird: Even if I give it a specific path, it still won't
# archive the whole tree. It seems the only way to get the whole tree is to cd
# to the top of the tree. There are long threads (since 2007) on the git list
# about this and it still doesn't work in a sensible way...
start_dir = os.getcwdu()
cd('..')
git_tpl = 'git archive --format=tar --prefix={0}/ HEAD | gzip > {1}'
sh(git_tpl.format(base_name, tar_name))
sh('mv {0} tools/'.format(tar_name))