##// END OF EJS Templates
Added GTK support to ZeroMQ kernel....
Added GTK support to ZeroMQ kernel. We use an approach which is a combination of an gtk timer callback into our execution loop, like we do for Qt and Wx, I've run as tests several GTK examples found on the net, as well as multiple matplotlib scripts, and so far everything works as expected. The only catch is that we silently trap gtk.main_quit(), so examples that call it with a 'close' button or similar seem to not do anything. But their windows close normally and no other problems have been found. This solution uses code taken from an old bug report of ours: https://bugs.launchpad.net/ipython/+bug/270856 specifically the attachment in this comment: https://bugs.launchpad.net/ipython/+bug/270856/comments/6 along with the changes suggested by Michiel de Hoon there. Thanks to Ville and Michiel for that old discussion, which put me on the right track to figure out the details of the logic needed for GTK.

File last commit:

r2918:d0abfbea
r2949:13751b1c
Show More
__init__.py
54 lines | 1.9 KiB | text/x-python | PythonLexer
Brian Granger
Continuing a massive refactor of everything.
r2205 #!/usr/bin/env python
# encoding: utf-8
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 """
Brian Granger
Continuing a massive refactor of everything.
r2205 IPython.
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0
Brian Granger
Continuing a massive refactor of everything.
r2205 IPython is a set of tools for interactive and exploratory computing in Python.
Fernando Perez
Remove svn-style $Id marks from docstrings and Release imports....
r1853 """
Brian Granger
Continuing a massive refactor of everything.
r2205 #-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
Brian Granger
Continuing a massive refactor of everything.
r2205 #-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from __future__ import absolute_import
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0
Brian Granger
Continuing a massive refactor of everything.
r2205 import os
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 import sys
Brian Granger
Continuing a massive refactor of everything.
r2205
#-----------------------------------------------------------------------------
# Setup everything
#-----------------------------------------------------------------------------
Brian Granger
Clarifying that Python 2.6 is now required.
r2747 if sys.version[0:3] < '2.6':
raise ImportError('Python Version 2.6 or above is required for IPython.')
vivainio
Moved path to extensions - pickleshare failed because it imported...
r168
Brian Granger
Continuing a massive refactor of everything.
r2205
vivainio
Moved path to extensions - pickleshare failed because it imported...
r168 # Make it easy to import extensions - they are always directly on pythonpath.
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 # Therefore, non-IPython modules can be added to extensions directory.
# This should probably be in ipapp.py.
Brian Granger
Renaming Extensions=>extensions in code and imports.
r2064 sys.path.append(os.path.join(os.path.dirname(__file__), "extensions"))
fperez
Small fix to sys.argv, match python's default behavior.
r298
Brian Granger
Merging upstream changes from inputhook and config-refactor....
r2224 #-----------------------------------------------------------------------------
# Setup the top level names
#-----------------------------------------------------------------------------
vivainio
corrected some problematic module interdependencies
r695
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .config.loader import Config
from .core import release
from .core.application import Application
Brian Granger
Moving and renaming in preparation of subclassing InteractiveShell....
r2760 from .frontend.terminal.embed import embed
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .core.error import TryNext
Brian Granger
Moving and renaming in preparation of subclassing InteractiveShell....
r2760 from .core.interactiveshell import InteractiveShell
Fernando Perez
Ported the IPython Sphinx directive to 0.11....
r2439 from .testing import test
vivainio
corrected some problematic module interdependencies
r695
fperez
Reorganized the directory for ipython/ to have its own dir, which is a bit...
r0 # Release data
Brian Granger
Continuing a massive refactor of everything.
r2205 __author__ = ''
for author, email in release.authors.values():
__author__ += author + ' <' + email + '>\n'
Brian Granger
Release.py => core/release.py and imports updated.
r2043 __license__ = release.license
__version__ = release.version
__revision__ = release.revision