##// END OF EJS Templates
Merge pull request #4492 from takluyver/docs-refresh...
Min RK -
r13534:e33abb35 merge
parent child Browse files
Show More
@@ -0,0 +1,74 b''
1 from IPython.utils.text import indent, wrap_paragraphs
2
3 from IPython.terminal.ipapp import TerminalIPythonApp
4 from IPython.kernel.zmq.kernelapp import IPKernelApp
5 from IPython.html.notebookapp import NotebookApp
6 from IPython.qt.console.qtconsoleapp import IPythonQtConsoleApp
7
8 def document_config_options(classes):
9 lines = []
10 for cls in classes:
11 classname = cls.__name__
12 for k, trait in sorted(cls.class_traits(config=True).items()):
13 ttype = trait.__class__.__name__
14
15 termline = classname + '.' + trait.name
16
17 # Choices or type
18 if 'Enum' in ttype:
19 # include Enum choices
20 termline += ' : ' + '|'.join(repr(x) for x in trait.values)
21 else:
22 termline += ' : ' + ttype
23 lines.append(termline)
24
25 # Default value
26 try:
27 dv = trait.get_default_value()
28 dvr = repr(dv)
29 except Exception:
30 dvr = dv = None # ignore defaults we can't construct
31 if (dv is not None) and (dvr is not None):
32 if len(dvr) > 64:
33 dvr = dvr[:61]+'...'
34 # Double up backslashes, so they get to the rendered docs
35 dvr = dvr.replace('\\n', '\\\\n')
36 lines.append(' Default: ' + dvr)
37 lines.append('')
38
39 help = trait.get_metadata('help')
40 if help is not None:
41 help = '\n\n'.join(wrap_paragraphs(help, 76))
42 lines.append(indent(help, 4))
43 else:
44 lines.append(' No description')
45
46 lines.append('')
47 return '\n'.join(lines)
48
49 kernel_classes = IPKernelApp().classes
50
51 def write_doc(filename, title, classes, preamble=None):
52 configdoc = document_config_options(classes)
53 with open('source/config/options/%s.rst' % filename, 'w') as f:
54 f.write(title + '\n')
55 f.write(('=' * len(title)) + '\n')
56 f.write('\n')
57 if preamble is not None:
58 f.write(preamble + '\n\n')
59 f.write(configdoc)
60
61 if __name__ == '__main__':
62 write_doc('terminal', 'Terminal IPython options', TerminalIPythonApp().classes)
63 write_doc('kernel', 'IPython kernel options', kernel_classes,
64 preamble="These options can be used in :file:`ipython_notebook_config.py` "
65 "or in :file:`ipython_qtconsole_config.py`")
66 nbclasses = set(NotebookApp().classes) - set(kernel_classes)
67 write_doc('notebook', 'IPython notebook options', nbclasses,
68 preamble="Any of the :doc:`kernel` can also be used.")
69 qtclasses = set(IPythonQtConsoleApp().classes) - set(kernel_classes)
70 write_doc('qtconsole', 'IPython Qt console options', qtclasses,
71 preamble="Any of the :doc:`kernel` can also be used.")
72
73 with open('source/config/options/generated', 'w'):
74 pass No newline at end of file
@@ -0,0 +1,234 b''
1 =======================
2 Specific config details
3 =======================
4
5 Prompts
6 =======
7
8 In the terminal, the format of the input and output prompts can be
9 customised. This does not currently affect other frontends.
10
11 The following codes in the prompt string will be substituted into the
12 prompt string:
13
14 ====== =================================== =====================================================
15 Short Long Notes
16 ====== =================================== =====================================================
17 %n,\\# {color.number}{count}{color.prompt} history counter with bolding
18 \\N {count} history counter without bolding
19 \\D {dots} series of dots the same width as the history counter
20 \\T {time} current time
21 \\w {cwd} current working directory
22 \\W {cwd_last} basename of CWD
23 \\Xn {cwd_x[n]} Show the last n terms of the CWD. n=0 means show all.
24 \\Yn {cwd_y[n]} Like \Xn, but show '~' for $HOME
25 \\h hostname, up to the first '.'
26 \\H full hostname
27 \\u username (from the $USER environment variable)
28 \\v IPython version
29 \\$ root symbol ("$" for normal user or "#" for root)
30 ``\\`` escaped '\\'
31 \\n newline
32 \\r carriage return
33 n/a {color.<Name>} set terminal colour - see below for list of names
34 ====== =================================== =====================================================
35
36 Available colour names are: Black, BlinkBlack, BlinkBlue, BlinkCyan,
37 BlinkGreen, BlinkLightGray, BlinkPurple, BlinkRed, BlinkYellow, Blue,
38 Brown, Cyan, DarkGray, Green, LightBlue, LightCyan, LightGray, LightGreen,
39 LightPurple, LightRed, Purple, Red, White, Yellow. The selected colour
40 scheme also defines the names *prompt* and *number*. Finally, the name
41 *normal* resets the terminal to its default colour.
42
43 So, this config::
44
45 c.PromptManager.in_template = "{color.LightGreen}{time}{color.Yellow} \u{color.normal}>>>"
46
47 will produce input prompts with the time in light green, your username
48 in yellow, and a ``>>>`` prompt in the default terminal colour.
49
50
51 .. _termcolour:
52
53 Terminal Colors
54 ===============
55
56 The default IPython configuration has most bells and whistles turned on
57 (they're pretty safe). But there's one that may cause problems on some
58 systems: the use of color on screen for displaying information. This is
59 very useful, since IPython can show prompts and exception tracebacks
60 with various colors, display syntax-highlighted source code, and in
61 general make it easier to visually parse information.
62
63 The following terminals seem to handle the color sequences fine:
64
65 * Linux main text console, KDE Konsole, Gnome Terminal, E-term,
66 rxvt, xterm.
67 * CDE terminal (tested under Solaris). This one boldfaces light colors.
68 * (X)Emacs buffers. See the :ref:`emacs` section for more details on
69 using IPython with (X)Emacs.
70 * A Windows (XP/2k) command prompt with pyreadline_.
71 * A Windows (XP/2k) CygWin shell. Although some users have reported
72 problems; it is not clear whether there is an issue for everyone
73 or only under specific configurations. If you have full color
74 support under cygwin, please post to the IPython mailing list so
75 this issue can be resolved for all users.
76
77 .. _pyreadline: https://code.launchpad.net/pyreadline
78
79 These have shown problems:
80
81 * Windows command prompt in WinXP/2k logged into a Linux machine via
82 telnet or ssh.
83 * Windows native command prompt in WinXP/2k, without Gary Bishop's
84 extensions. Once Gary's readline library is installed, the normal
85 WinXP/2k command prompt works perfectly.
86
87 Currently the following color schemes are available:
88
89 * NoColor: uses no color escapes at all (all escapes are empty '' ''
90 strings). This 'scheme' is thus fully safe to use in any terminal.
91 * Linux: works well in Linux console type environments: dark
92 background with light fonts. It uses bright colors for
93 information, so it is difficult to read if you have a light
94 colored background.
95 * LightBG: the basic colors are similar to those in the Linux scheme
96 but darker. It is easy to read in terminals with light backgrounds.
97
98 IPython uses colors for two main groups of things: prompts and
99 tracebacks which are directly printed to the terminal, and the object
100 introspection system which passes large sets of data through a pager.
101
102 If you are seeing garbage sequences in your terminal and no colour, you
103 may need to disable colours: run ``%colors NoColor`` inside IPython, or
104 add this to a config file::
105
106 c.InteractiveShell.colors = 'NoColor'
107
108 Colors in the pager
109 -------------------
110
111 On some systems, the default pager has problems with ANSI colour codes.
112 To configure your default pager to allow these:
113
114 1. Set the environment PAGER variable to ``less``.
115 2. Set the environment LESS variable to ``-r`` (plus any other options
116 you always want to pass to less by default). This tells less to
117 properly interpret control sequences, which is how color
118 information is given to your terminal.
119
120 .. _editors:
121
122 Editor configuration
123 ====================
124
125 IPython can integrate with text editors in a number of different ways:
126
127 * Editors (such as `(X)Emacs`_, vim_ and TextMate_) can
128 send code to IPython for execution.
129
130 * IPython's ``%edit`` magic command can open an editor of choice to edit
131 a code block.
132
133 The %edit command (and its alias %ed) will invoke the editor set in your
134 environment as :envvar:`EDITOR`. If this variable is not set, it will default
135 to vi under Linux/Unix and to notepad under Windows. You may want to set this
136 variable properly and to a lightweight editor which doesn't take too long to
137 start (that is, something other than a new instance of Emacs). This way you
138 can edit multi-line code quickly and with the power of a real editor right
139 inside IPython.
140
141 You can also control the editor by setting :attr:`TerminalInteractiveShell.editor`
142 in :file:`ipython_config.py`.
143
144 Vim
145 ---
146
147 Paul Ivanov's `vim-ipython <https://github.com/ivanov/vim-ipython>`_ provides
148 powerful IPython integration for vim.
149
150 .. _emacs:
151
152 (X)Emacs
153 --------
154
155 If you are a dedicated Emacs user, and want to use Emacs when IPython's
156 ``%edit`` magic command is called you should set up the Emacs server so that
157 new requests are handled by the original process. This means that almost no
158 time is spent in handling the request (assuming an Emacs process is already
159 running). For this to work, you need to set your EDITOR environment variable
160 to 'emacsclient'. The code below, supplied by Francois Pinard, can then be
161 used in your :file:`.emacs` file to enable the server:
162
163 .. code-block:: common-lisp
164
165 (defvar server-buffer-clients)
166 (when (and (fboundp 'server-start) (string-equal (getenv "TERM") 'xterm))
167 (server-start)
168 (defun fp-kill-server-with-buffer-routine ()
169 (and server-buffer-clients (server-done)))
170 (add-hook 'kill-buffer-hook 'fp-kill-server-with-buffer-routine))
171
172 Thanks to the work of Alexander Schmolck and Prabhu Ramachandran,
173 currently (X)Emacs and IPython get along very well in other ways.
174
175 .. note::
176
177 You will need to use a recent enough version of :file:`python-mode.el`,
178 along with the file :file:`ipython.el`. You can check that the version you
179 have of :file:`python-mode.el` is new enough by either looking at the
180 revision number in the file itself, or asking for it in (X)Emacs via ``M-x
181 py-version``. Versions 4.68 and newer contain the necessary fixes for
182 proper IPython support.
183
184 The file :file:`ipython.el` is included with the IPython distribution, in the
185 directory :file:`docs/emacs`. Once you put these files in your Emacs path, all
186 you need in your :file:`.emacs` file is:
187
188 .. code-block:: common-lisp
189
190 (require 'ipython)
191
192 This should give you full support for executing code snippets via
193 IPython, opening IPython as your Python shell via ``C-c !``, etc.
194
195 You can customize the arguments passed to the IPython instance at startup by
196 setting the ``py-python-command-args`` variable. For example, to start always
197 with ``matplotlib`` integration and hardcoded light-background colors, you can use:
198
199 .. code-block:: common-lisp
200
201 (setq py-python-command-args '("--matplotlib" "--colors" "LightBG"))
202
203 If you happen to get garbage instead of colored prompts as described in
204 the previous section, you may need to set also in your :file:`.emacs` file:
205
206 .. code-block:: common-lisp
207
208 (setq ansi-color-for-comint-mode t)
209
210 Notes on emacs support:
211
212 .. This looks hopelessly out of date - can someone update it?
213
214 * There is one caveat you should be aware of: you must start the IPython shell
215 before attempting to execute any code regions via ``C-c |``. Simply type
216 ``C-c !`` to start IPython before passing any code regions to the
217 interpreter, and you shouldn't experience any problems. This is due to a bug
218 in Python itself, which has been fixed for Python 2.3, but exists as of
219 Python 2.2.2 (reported as SF bug [ 737947 ]).
220
221 * The (X)Emacs support is maintained by Alexander Schmolck, so all
222 comments/requests should be directed to him through the IPython mailing
223 lists.
224
225 * This code is still somewhat experimental so it's a bit rough around the
226 edges (although in practice, it works quite well).
227
228 * Be aware that if you customized ``py-python-command`` previously, this value
229 will override what :file:`ipython.el` does (because loading the customization
230 variables comes later).
231
232 .. _`(X)Emacs`: http://www.gnu.org/software/emacs/
233 .. _TextMate: http://macromates.com/
234 .. _vim: http://www.vim.org/
@@ -0,0 +1,156 b''
1 =====================================
2 Introduction to IPython configuration
3 =====================================
4
5 .. _setting_config:
6
7 Setting configurable options
8 ============================
9
10 Many of IPython's classes have configurable attributes (see
11 :doc:`options/index` for the list). These can be
12 configured in several ways.
13
14 Python config files
15 -------------------
16
17 To create the blank config files, run::
18
19 ipython profile create [profilename]
20
21 If you leave out the profile name, the files will be created for the
22 ``default`` profile (see :ref:`profiles`). These will typically be
23 located in :file:`~/.ipython/profile_default/`, and will be named
24 :file:`ipython_config.py`, :file:`ipython_notebook_config.py`, etc.
25 The settings in :file:`ipython_config.py` apply to all IPython commands.
26
27 The files typically start by getting the root config object::
28
29 c = get_config()
30
31 You can then configure class attributes like this::
32
33 c.InteractiveShell.automagic = False
34
35 Be careful with spelling--incorrect names will simply be ignored, with
36 no error.
37
38 To add to a collection which may have already been defined elsewhere,
39 you can use methods like those found on lists, dicts and sets: append,
40 extend, :meth:`~IPython.config.loader.LazyConfigValue.prepend` (like
41 extend, but at the front), add and update (which works both for dicts
42 and sets)::
43
44 c.InteractiveShellApp.extensions.append('rmagic')
45
46 .. versionadded:: 2.0
47 list, dict and set methods for config values
48
49 Example config file
50 ```````````````````
51
52 ::
53
54 # sample ipython_config.py
55 c = get_config()
56
57 c.TerminalIPythonApp.display_banner = True
58 c.InteractiveShellApp.log_level = 20
59 c.InteractiveShellApp.extensions = [
60 'myextension'
61 ]
62 c.InteractiveShellApp.exec_lines = [
63 'import numpy',
64 'import scipy'
65 ]
66 c.InteractiveShellApp.exec_files = [
67 'mycode.py',
68 'fancy.ipy'
69 ]
70 c.InteractiveShell.autoindent = True
71 c.InteractiveShell.colors = 'LightBG'
72 c.InteractiveShell.confirm_exit = False
73 c.InteractiveShell.deep_reload = True
74 c.InteractiveShell.editor = 'nano'
75 c.InteractiveShell.xmode = 'Context'
76
77 c.PromptManager.in_template = 'In [\#]: '
78 c.PromptManager.in2_template = ' .\D.: '
79 c.PromptManager.out_template = 'Out[\#]: '
80 c.PromptManager.justify = True
81
82 c.PrefilterManager.multi_line_specials = True
83
84 c.AliasManager.user_aliases = [
85 ('la', 'ls -al')
86 ]
87
88
89 Command line arguments
90 ----------------------
91
92 Every configurable value can be set from the command line, using this
93 syntax::
94
95 ipython --ClassName.attribute=value
96
97 Many frequently used options have short aliases and flags, such as
98 ``--matplotlib`` (to integrate with a matplotlib GUI event loop) or
99 ``--pdb`` (automatic post-mortem debugging of exceptions).
100
101 To see all of these abbreviated options, run::
102
103 ipython --help
104 ipython notebook --help
105 # etc.
106
107 Options specified at the command line, in either format, override
108 options set in a configuration file.
109
110 The config magic
111 ----------------
112
113 You can also modify config from inside IPython, using a magic command::
114
115 %config IPCompleter.greedy = True
116
117 At present, this only affects the current session - changes you make to
118 config are not saved anywhere. Also, some options are only read when
119 IPython starts, so they can't be changed like this.
120
121 .. _profiles:
122
123 Profiles
124 ========
125
126 IPython can use multiple profiles, with separate configuration and
127 history. By default, if you don't specify a profile, IPython always runs
128 in the ``default`` profile. To use a new profile::
129
130 ipython profile create foo # create the profile foo
131 ipython --profile=foo # start IPython using the new profile
132
133 Profiles are typically stored in :ref:`ipythondir`, but you can also keep
134 a profile in the current working directory, for example to distribute it
135 with a project. To find a profile directory on the filesystem::
136
137 ipython locate profile foo
138
139 .. _ipythondir:
140
141 The IPython directory
142 =====================
143
144 IPython stores its files---config, command history and extensions---in
145 the directory :file:`~/.ipython/` by default.
146
147 .. envvar:: IPYTHONDIR
148
149 If set, this environment variable should be the path to a directory,
150 which IPython will use for user data. IPython will create it if it
151 does not exist.
152
153 .. option:: --ipython-dir=<path>
154
155 This command line option can also be used to override the default
156 IPython directory.
@@ -0,0 +1,14 b''
1 ===============
2 IPython options
3 ===============
4
5 Any of the options listed here can be set in config files, at the
6 command line, or from inside IPython. See :ref:`setting_config` for
7 details.
8
9 .. toctree::
10
11 terminal
12 kernel
13 notebook
14 qtconsole
@@ -4,6 +4,7 b' dist'
4 _build
4 _build
5 docs/man/*.gz
5 docs/man/*.gz
6 docs/source/api/generated
6 docs/source/api/generated
7 docs/source/config/options
7 docs/gh-pages
8 docs/gh-pages
8 IPython/html/notebook/static/mathjax
9 IPython/html/notebook/static/mathjax
9 *.py[co]
10 *.py[co]
@@ -195,7 +195,7 b' class InteractiveShellApp(Configurable):'
195 )
195 )
196 pylab_import_all = Bool(True, config=True,
196 pylab_import_all = Bool(True, config=True,
197 help="""If true, IPython will populate the user namespace with numpy, pylab, etc.
197 help="""If true, IPython will populate the user namespace with numpy, pylab, etc.
198 and an 'import *' is done from numpy and pylab, when using pylab mode.
198 and an ``import *`` is done from numpy and pylab, when using pylab mode.
199
199
200 When False, pylab mode should not import any names into the user namespace.
200 When False, pylab mode should not import any names into the user namespace.
201 """
201 """
@@ -130,15 +130,18 b" class ConsoleWidget(MetaQObjectHasTraits('NewBase', (LoggingConfigurable, QtGui."
130 help="""
130 help="""
131 The type of paging to use. Valid values are:
131 The type of paging to use. Valid values are:
132
132
133 'inside' : The widget pages like a traditional terminal.
133 'inside'
134 'hsplit' : When paging is requested, the widget is split
134 The widget pages like a traditional terminal.
135 horizontally. The top pane contains the console, and the
135 'hsplit'
136 bottom pane contains the paged text.
136 When paging is requested, the widget is split horizontally. The top
137 'vsplit' : Similar to 'hsplit', except that a vertical splitter
137 pane contains the console, and the bottom pane contains the paged text.
138 used.
138 'vsplit'
139 'custom' : No action is taken by the widget beyond emitting a
139 Similar to 'hsplit', except that a vertical splitter is used.
140 'custom_page_requested(str)' signal.
140 'custom'
141 'none' : The text is written directly to the console.
141 No action is taken by the widget beyond emitting a
142 'custom_page_requested(str)' signal.
143 'none'
144 The text is written directly to the console.
142 """)
145 """)
143
146
144 font_family = Unicode(config=True,
147 font_family = Unicode(config=True,
@@ -40,6 +40,7 b' clean_api:'
40
40
41 clean: clean_api
41 clean: clean_api
42 -rm -rf build/* dist/*
42 -rm -rf build/* dist/*
43 -rm -rf $(SRCDIR)/config/options/generated
43
44
44 pdf: latex
45 pdf: latex
45 cd build/latex && make all-pdf
46 cd build/latex && make all-pdf
@@ -56,8 +57,8 b' dist: html'
56 cp -al build/html .
57 cp -al build/html .
57 @echo "Build finished. Final docs are in html/"
58 @echo "Build finished. Final docs are in html/"
58
59
59 html: api
60 html: api autoconfig
60 html_noapi: clean_api
61 html_noapi: clean_api autoconfig
61
62
62 html html_noapi:
63 html html_noapi:
63 mkdir -p build/html build/doctrees
64 mkdir -p build/html build/doctrees
@@ -65,6 +66,12 b' html html_noapi:'
65 @echo
66 @echo
66 @echo "Build finished. The HTML pages are in build/html."
67 @echo "Build finished. The HTML pages are in build/html."
67
68
69 autoconfig: source/config/options/generated
70
71 source/config/options/generated:
72 python autogen_config.py
73 @echo "Created docs for config options"
74
68 api: source/api/generated/gen.txt
75 api: source/api/generated/gen.txt
69
76
70 source/api/generated/gen.txt:
77 source/api/generated/gen.txt:
@@ -98,7 +105,7 b' qthelp:'
98 @echo "To view the help file:"
105 @echo "To view the help file:"
99 @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/IPython.qhc"
106 @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/IPython.qhc"
100
107
101 latex: api
108 latex: api autoconfig
102 mkdir -p build/latex build/doctrees
109 mkdir -p build/latex build/doctrees
103 $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex
110 $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex
104 @echo
111 @echo
@@ -120,6 +120,11 b' dd {'
120 color: #060;
120 color: #060;
121 }
121 }
122
122
123 dt {
124 font-weight: bold;
125 padding-left: 0.5em;
126 }
127
123 dt:target,
128 dt:target,
124 .highlight {
129 .highlight {
125 background-color: #fbe54e;
130 background-color: #fbe54e;
@@ -480,6 +485,12 b' span.linkdescr {'
480 font-size: 90%;
485 font-size: 90%;
481 }
486 }
482
487
488 .search input[name=q] {
489 max-width: 100%;
490 box-sizing: border-box;
491 -moz-box-sizing: border-box;
492 }
493
483 ul.search {
494 ul.search {
484 margin: 10px 0 0 20px;
495 margin: 10px 0 0 20px;
485 padding: 0;
496 padding: 0;
@@ -4,13 +4,27 b''
4 Configuration and customization
4 Configuration and customization
5 ===============================
5 ===============================
6
6
7 Configuring IPython
8 -------------------
9
10 .. toctree::
11 :maxdepth: 2
12
13 intro
14 options/index
15 details
16
17 .. seealso::
18
19 :doc:`/development/config`
20 Technical details of the config system.
21
22 Extending and integrating with IPython
23 --------------------------------------
24
7 .. toctree::
25 .. toctree::
8 :maxdepth: 2
26 :maxdepth: 2
9
27
10 overview
11 extensions/index
28 extensions/index
12 ipython
13 integrating
29 integrating
14 editors
15 inputtransforms
30 inputtransforms
16 old
@@ -6,11 +6,6 b' Overview of the IPython configuration system'
6
6
7 This section describes the IPython configuration system.
7 This section describes the IPython configuration system.
8
8
9 The following discussion is for users who want to configure
10 IPython to their liking. Developers who want to know how they can
11 enable their objects to take advantage of the configuration system
12 should consult the :ref:`developer guide <developer_guide>`
13
14 The main concepts
9 The main concepts
15 =================
10 =================
16
11
@@ -324,7 +319,7 b' These map to the utility functions: :func:`IPython.utils.path.get_ipython_dir`'
324 and :func:`IPython.utils.path.locate_profile` respectively.
319 and :func:`IPython.utils.path.locate_profile` respectively.
325
320
326
321
327 .. _Profiles:
322 .. _profiles_dev:
328
323
329 Profiles
324 Profiles
330 ========
325 ========
@@ -25,3 +25,4 b' on the IPython GitHub wiki.'
25 parallel_messages
25 parallel_messages
26 parallel_connections
26 parallel_connections
27 pycompat
27 pycompat
28 config
@@ -547,12 +547,12 b' Backwards incompatible changes'
547
547
548 * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py`
548 * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py`
549 are no longer supported. Users should migrate there configuration files to
549 are no longer supported. Users should migrate there configuration files to
550 the new format described :ref:`here <config_overview>` and :ref:`here
550 the new format described :doc:`here <config/intro>` and
551 <configuring_ipython>`.
551 :ref:`here <config_overview>`.
552
552
553 * The old IPython extension API that relied on :func:`ipapi` has been
553 * The old IPython extension API that relied on :func:`ipapi` has been
554 completely removed. The new extension API is described :ref:`here
554 completely removed. The new extension API is described :ref:`here
555 <configuring_ipython>`.
555 <extensions_overview>`.
556
556
557 * Support for ``qt3`` has been dropped. Users who need this should use
557 * Support for ``qt3`` has been dropped. Users who need this should use
558 previous versions of IPython.
558 previous versions of IPython.
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now