add QtConsoleApp using newapplication #492

wants to merge 48 commits into


None yet

3 participants

minrk commented Jun 1, 2011

ipython-qtconsole now uses the newapplication and config system, and the inline svg/png switch is configurable, as well as QtConsole font family/size.


Why do we need these to be classmethods?


These are how ProfileDirs are created. See BaseIPApp.init_profile_dir().


Never mind, too tired: I was thinking of staticmethods and got my brain wires crossed. Looks OK, sorry for the noise.


Min pointed out that this PATH variable was a similar one to the one for cluster dirs, but I think it's worth reconsidering whether we truly need multiple PATH-style search variables for IPython. @ellisonbg, did you have some specific use cases in mind that warrant adding full-blown search paths to IPython, that couldn't be addressed with manual specification of the ipython/cluster/profile dir alone at the command line?

I just think that people go crazy enough with PYTHONPATH, LD_LIBRARY_PATH and other PATH variables in various systems, often leading to much confusion. So I think it's worth that we think a bit more about this one, and see if we can get away with no additional environment variables for IPython, especially not of the search path variety.


This is awesome!!!! I have only given this a quick look through, but I am very excited to look at this more!

minrk commented Jun 2, 2011

One thing that's missing is the KernelApp has configurables, etc. for exec_lines, exec_files, etc., but the code to actually run them isn't there. This code will be exactly identical to that in the terminal IPythonApp, so I'm wondering if there should be a subclass somewhere, perhaps a core.shellapp.InteractiveShellApp.

minrk commented Jun 4, 2011

This branch is now based on the terminal IPython code in #485, due to a common subclass between TerminalIPythonApp and IPKernelApp.

Until that's merged into newapp, the more accurate diff for this PR is here

This means that loading extensions, initial startup scripts, etc. are now supported by the qtconsole.

minrk added some commits Jun 7, 2011
@minrk minrk add clear_instance() to SingletonConfigurable
useful for delegating subapps, which would previously
conflict if both apps were launched with instance()
@minrk minrk use App.instance() in Application.initialize_subapp
This way later calls to App.instance() will return the running
application, whereas calling App() would create an isolated
Application object.
@minrk minrk Terminal IPython working with newapp d748312
@minrk minrk update config files to match new namespace. 4d6be30
@minrk minrk remove old default config files e19fcf9
@minrk minrk update docs with new cl-arguments c577f34
@minrk minrk minor helpstring cleanup per review. d9bc319
@minrk minrk Split generic part of terminal frontend/terminal/ipapp into core/shel…

Now there's a class for IPKernel to inherit from in the qt code
@minrk minrk use App.instance() in launch_new_instance
This way later calls to App.instance() will return the running
application, whereas calling App() would create an isolated
Application object.
@minrk minrk zmq kernels now started via newapp 048514e
@minrk minrk QtConsole now uses newapp 259c385
@minrk minrk qt font family/size configurable fe759a8
@minrk minrk add InlineBackendConfig
The inline backend now has preliminary config support for rc and figure format.
@minrk minrk cleanup channel names to match function not socket
closes gh-178
@minrk minrk use Monospace as default font on Linux 7b0ff88
@minrk minrk update docs/default config for qtconsole 3590ff4
@minrk minrk expand default_editor message to include configurable
Also set the default editor to notepad on Windows.
@minrk minrk update QtConfig section of ipython_config to match actual defaults 5fc4b48
@minrk minrk IPKernelApp now based on InteractiveShellApp f0612a9
@minrk minrk use App.instance() in kernel launchers
This way later calls to App.instance() will return the running
application, whereas calling App() would create an isolated
Application object.
@minrk minrk fix poll interval on base IPKernel (scale by 1000) af50d03
@minrk minrk use logging instead of `print >>` in pykernel 8ae3e9d
@minrk minrk add qtconsole as subapp of terminal ipapp
Now 'ipython qtconsole' will behave the same as 'ipython-qtconsole'
@minrk minrk avoid spurious printing of KeyboardInterrupts during poll in ipkernel a144eb3
@minrk minrk add confirm_exit option to qtconsole to suppress exit dialog 51412d7
@minrk minrk added a commit to minrk/ipython that referenced this pull request Jun 10, 2011
@minrk minrk merge #492 newapp-qt f6b7029
minrk commented Jun 10, 2011

merged into newapp as f6b7029

@minrk minrk closed this Jun 10, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment