##// END OF EJS Templates
DOC: Use https for readthedocs.io
谭九鼎 -
Show More
@@ -1,316 +1,316 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 #
2 #
3 # IPython documentation build configuration file.
3 # IPython documentation build configuration file.
4
4
5 # NOTE: This file has been edited manually from the auto-generated one from
5 # NOTE: This file has been edited manually from the auto-generated one from
6 # sphinx. Do NOT delete and re-generate. If any changes from sphinx are
6 # sphinx. Do NOT delete and re-generate. If any changes from sphinx are
7 # needed, generate a scratch one and merge by hand any new fields needed.
7 # needed, generate a scratch one and merge by hand any new fields needed.
8
8
9 #
9 #
10 # This file is execfile()d with the current directory set to its containing dir.
10 # This file is execfile()d with the current directory set to its containing dir.
11 #
11 #
12 # The contents of this file are pickled, so don't put values in the namespace
12 # The contents of this file are pickled, so don't put values in the namespace
13 # that aren't pickleable (module imports are okay, they're removed automatically).
13 # that aren't pickleable (module imports are okay, they're removed automatically).
14 #
14 #
15 # All configuration values have a default value; values that are commented out
15 # All configuration values have a default value; values that are commented out
16 # serve to show the default value.
16 # serve to show the default value.
17
17
18 import sys, os
18 import sys, os
19 from pathlib import Path
19 from pathlib import Path
20
20
21 # http://read-the-docs.readthedocs.io/en/latest/faq.html
21 # https://read-the-docs.readthedocs.io/en/latest/faq.html
22 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
22 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
23
23
24 if ON_RTD:
24 if ON_RTD:
25 tags.add('rtd')
25 tags.add('rtd')
26
26
27 # RTD doesn't use the Makefile, so re-run autogen_{things}.py here.
27 # RTD doesn't use the Makefile, so re-run autogen_{things}.py here.
28 for name in ("config", "api", "magics", "shortcuts"):
28 for name in ("config", "api", "magics", "shortcuts"):
29 fname = Path("autogen_{}.py".format(name))
29 fname = Path("autogen_{}.py".format(name))
30 fpath = (Path(__file__).parent).joinpath("..", fname)
30 fpath = (Path(__file__).parent).joinpath("..", fname)
31 with open(fpath) as f:
31 with open(fpath) as f:
32 exec(compile(f.read(), fname, 'exec'), {
32 exec(compile(f.read(), fname, 'exec'), {
33 '__file__': fpath,
33 '__file__': fpath,
34 '__name__': '__main__',
34 '__name__': '__main__',
35 })
35 })
36 else:
36 else:
37 import sphinx_rtd_theme
37 import sphinx_rtd_theme
38 html_theme = "sphinx_rtd_theme"
38 html_theme = "sphinx_rtd_theme"
39 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
39 html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
40
40
41 # If your extensions are in another directory, add it here. If the directory
41 # If your extensions are in another directory, add it here. If the directory
42 # is relative to the documentation root, use os.path.abspath to make it
42 # is relative to the documentation root, use os.path.abspath to make it
43 # absolute, like shown here.
43 # absolute, like shown here.
44 sys.path.insert(0, os.path.abspath('../sphinxext'))
44 sys.path.insert(0, os.path.abspath('../sphinxext'))
45
45
46 # We load the ipython release info into a dict by explicit execution
46 # We load the ipython release info into a dict by explicit execution
47 iprelease = {}
47 iprelease = {}
48 exec(compile(open('../../IPython/core/release.py').read(), '../../IPython/core/release.py', 'exec'),iprelease)
48 exec(compile(open('../../IPython/core/release.py').read(), '../../IPython/core/release.py', 'exec'),iprelease)
49
49
50 # General configuration
50 # General configuration
51 # ---------------------
51 # ---------------------
52
52
53 # Add any Sphinx extension module names here, as strings. They can be extensions
53 # Add any Sphinx extension module names here, as strings. They can be extensions
54 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
54 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
55 extensions = [
55 extensions = [
56 'sphinx.ext.autodoc',
56 'sphinx.ext.autodoc',
57 'sphinx.ext.autosummary',
57 'sphinx.ext.autosummary',
58 'sphinx.ext.doctest',
58 'sphinx.ext.doctest',
59 'sphinx.ext.inheritance_diagram',
59 'sphinx.ext.inheritance_diagram',
60 'sphinx.ext.intersphinx',
60 'sphinx.ext.intersphinx',
61 'sphinx.ext.graphviz',
61 'sphinx.ext.graphviz',
62 'IPython.sphinxext.ipython_console_highlighting',
62 'IPython.sphinxext.ipython_console_highlighting',
63 'IPython.sphinxext.ipython_directive',
63 'IPython.sphinxext.ipython_directive',
64 'sphinx.ext.napoleon', # to preprocess docstrings
64 'sphinx.ext.napoleon', # to preprocess docstrings
65 'github', # for easy GitHub links
65 'github', # for easy GitHub links
66 'magics',
66 'magics',
67 'configtraits',
67 'configtraits',
68 ]
68 ]
69
69
70 # Add any paths that contain templates here, relative to this directory.
70 # Add any paths that contain templates here, relative to this directory.
71 templates_path = ['_templates']
71 templates_path = ['_templates']
72
72
73 # The suffix of source filenames.
73 # The suffix of source filenames.
74 source_suffix = '.rst'
74 source_suffix = '.rst'
75
75
76 rst_prolog = ''
76 rst_prolog = ''
77
77
78 def is_stable(extra):
78 def is_stable(extra):
79 for ext in {'dev', 'b', 'rc'}:
79 for ext in {'dev', 'b', 'rc'}:
80 if ext in extra:
80 if ext in extra:
81 return False
81 return False
82 return True
82 return True
83
83
84 if is_stable(iprelease['_version_extra']):
84 if is_stable(iprelease['_version_extra']):
85 tags.add('ipystable')
85 tags.add('ipystable')
86 print('Adding Tag: ipystable')
86 print('Adding Tag: ipystable')
87 else:
87 else:
88 tags.add('ipydev')
88 tags.add('ipydev')
89 print('Adding Tag: ipydev')
89 print('Adding Tag: ipydev')
90 rst_prolog += """
90 rst_prolog += """
91 .. warning::
91 .. warning::
92
92
93 This documentation covers a development version of IPython. The development
93 This documentation covers a development version of IPython. The development
94 version may differ significantly from the latest stable release.
94 version may differ significantly from the latest stable release.
95 """
95 """
96
96
97 rst_prolog += """
97 rst_prolog += """
98 .. important::
98 .. important::
99
99
100 This documentation covers IPython versions 6.0 and higher. Beginning with
100 This documentation covers IPython versions 6.0 and higher. Beginning with
101 version 6.0, IPython stopped supporting compatibility with Python versions
101 version 6.0, IPython stopped supporting compatibility with Python versions
102 lower than 3.3 including all versions of Python 2.7.
102 lower than 3.3 including all versions of Python 2.7.
103
103
104 If you are looking for an IPython version compatible with Python 2.7,
104 If you are looking for an IPython version compatible with Python 2.7,
105 please use the IPython 5.x LTS release and refer to its documentation (LTS
105 please use the IPython 5.x LTS release and refer to its documentation (LTS
106 is the long term support release).
106 is the long term support release).
107
107
108 """
108 """
109
109
110 # The master toctree document.
110 # The master toctree document.
111 master_doc = 'index'
111 master_doc = 'index'
112
112
113 # General substitutions.
113 # General substitutions.
114 project = 'IPython'
114 project = 'IPython'
115 copyright = 'The IPython Development Team'
115 copyright = 'The IPython Development Team'
116
116
117 # ghissue config
117 # ghissue config
118 github_project_url = "https://github.com/ipython/ipython"
118 github_project_url = "https://github.com/ipython/ipython"
119
119
120 # numpydoc config
120 # numpydoc config
121 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
121 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
122 numpydoc_class_members_toctree = False
122 numpydoc_class_members_toctree = False
123 warning_is_error = True
123 warning_is_error = True
124
124
125 import logging
125 import logging
126
126
127 class ConfigtraitFilter(logging.Filter):
127 class ConfigtraitFilter(logging.Filter):
128 """
128 """
129 This is a filter to remove in sphinx 3+ the error about config traits being duplicated.
129 This is a filter to remove in sphinx 3+ the error about config traits being duplicated.
130
130
131 As we autogenerate configuration traits from, subclasses have lots of
131 As we autogenerate configuration traits from, subclasses have lots of
132 duplication and we want to silence them. Indeed we build on travis with
132 duplication and we want to silence them. Indeed we build on travis with
133 warnings-as-error set to True, so those duplicate items make the build fail.
133 warnings-as-error set to True, so those duplicate items make the build fail.
134 """
134 """
135
135
136 def filter(self, record):
136 def filter(self, record):
137 if record.args and record.args[0] == 'configtrait' and 'duplicate' in record.msg:
137 if record.args and record.args[0] == 'configtrait' and 'duplicate' in record.msg:
138 return False
138 return False
139 return True
139 return True
140
140
141 ct_filter = ConfigtraitFilter()
141 ct_filter = ConfigtraitFilter()
142
142
143 import sphinx.util
143 import sphinx.util
144 logger = sphinx.util.logging.getLogger('sphinx.domains.std').logger
144 logger = sphinx.util.logging.getLogger('sphinx.domains.std').logger
145
145
146 logger.addFilter(ct_filter)
146 logger.addFilter(ct_filter)
147
147
148 # The default replacements for |version| and |release|, also used in various
148 # The default replacements for |version| and |release|, also used in various
149 # other places throughout the built documents.
149 # other places throughout the built documents.
150 #
150 #
151 # The full version, including alpha/beta/rc tags.
151 # The full version, including alpha/beta/rc tags.
152 release = "%s" % iprelease['version']
152 release = "%s" % iprelease['version']
153 # Just the X.Y.Z part, no '-dev'
153 # Just the X.Y.Z part, no '-dev'
154 version = iprelease['version'].split('-', 1)[0]
154 version = iprelease['version'].split('-', 1)[0]
155
155
156
156
157 # There are two options for replacing |today|: either, you set today to some
157 # There are two options for replacing |today|: either, you set today to some
158 # non-false value, then it is used:
158 # non-false value, then it is used:
159 #today = ''
159 #today = ''
160 # Else, today_fmt is used as the format for a strftime call.
160 # Else, today_fmt is used as the format for a strftime call.
161 today_fmt = '%B %d, %Y'
161 today_fmt = '%B %d, %Y'
162
162
163 # List of documents that shouldn't be included in the build.
163 # List of documents that shouldn't be included in the build.
164 #unused_docs = []
164 #unused_docs = []
165
165
166 # Exclude these glob-style patterns when looking for source files. They are
166 # Exclude these glob-style patterns when looking for source files. They are
167 # relative to the source/ directory.
167 # relative to the source/ directory.
168 exclude_patterns = []
168 exclude_patterns = []
169
169
170
170
171 # If true, '()' will be appended to :func: etc. cross-reference text.
171 # If true, '()' will be appended to :func: etc. cross-reference text.
172 #add_function_parentheses = True
172 #add_function_parentheses = True
173
173
174 # If true, the current module name will be prepended to all description
174 # If true, the current module name will be prepended to all description
175 # unit titles (such as .. function::).
175 # unit titles (such as .. function::).
176 #add_module_names = True
176 #add_module_names = True
177
177
178 # If true, sectionauthor and moduleauthor directives will be shown in the
178 # If true, sectionauthor and moduleauthor directives will be shown in the
179 # output. They are ignored by default.
179 # output. They are ignored by default.
180 #show_authors = False
180 #show_authors = False
181
181
182 # The name of the Pygments (syntax highlighting) style to use.
182 # The name of the Pygments (syntax highlighting) style to use.
183 pygments_style = 'sphinx'
183 pygments_style = 'sphinx'
184
184
185 # Set the default role so we can use `foo` instead of ``foo``
185 # Set the default role so we can use `foo` instead of ``foo``
186 default_role = 'literal'
186 default_role = 'literal'
187
187
188 # Options for HTML output
188 # Options for HTML output
189 # -----------------------
189 # -----------------------
190
190
191 # The style sheet to use for HTML and HTML Help pages. A file of that name
191 # The style sheet to use for HTML and HTML Help pages. A file of that name
192 # must exist either in Sphinx' static/ path, or in one of the custom paths
192 # must exist either in Sphinx' static/ path, or in one of the custom paths
193 # given in html_static_path.
193 # given in html_static_path.
194 # html_style = 'default.css'
194 # html_style = 'default.css'
195
195
196
196
197 # The name for this set of Sphinx documents. If None, it defaults to
197 # The name for this set of Sphinx documents. If None, it defaults to
198 # "<project> v<release> documentation".
198 # "<project> v<release> documentation".
199 #html_title = None
199 #html_title = None
200
200
201 # The name of an image file (within the static path) to place at the top of
201 # The name of an image file (within the static path) to place at the top of
202 # the sidebar.
202 # the sidebar.
203 #html_logo = None
203 #html_logo = None
204
204
205 # Add any paths that contain custom static files (such as style sheets) here,
205 # Add any paths that contain custom static files (such as style sheets) here,
206 # relative to this directory. They are copied after the builtin static files,
206 # relative to this directory. They are copied after the builtin static files,
207 # so a file named "default.css" will overwrite the builtin "default.css".
207 # so a file named "default.css" will overwrite the builtin "default.css".
208 html_static_path = ['_static']
208 html_static_path = ['_static']
209
209
210 # Favicon needs the directory name
210 # Favicon needs the directory name
211 html_favicon = '_static/favicon.ico'
211 html_favicon = '_static/favicon.ico'
212 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
212 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
213 # using the given strftime format.
213 # using the given strftime format.
214 html_last_updated_fmt = '%b %d, %Y'
214 html_last_updated_fmt = '%b %d, %Y'
215
215
216 # If true, SmartyPants will be used to convert quotes and dashes to
216 # If true, SmartyPants will be used to convert quotes and dashes to
217 # typographically correct entities.
217 # typographically correct entities.
218 #html_use_smartypants = True
218 #html_use_smartypants = True
219
219
220 # Custom sidebar templates, maps document names to template names.
220 # Custom sidebar templates, maps document names to template names.
221 #html_sidebars = {}
221 #html_sidebars = {}
222
222
223 # Additional templates that should be rendered to pages, maps page names to
223 # Additional templates that should be rendered to pages, maps page names to
224 # template names.
224 # template names.
225 html_additional_pages = {
225 html_additional_pages = {
226 'interactive/htmlnotebook': 'notebook_redirect.html',
226 'interactive/htmlnotebook': 'notebook_redirect.html',
227 'interactive/notebook': 'notebook_redirect.html',
227 'interactive/notebook': 'notebook_redirect.html',
228 'interactive/nbconvert': 'notebook_redirect.html',
228 'interactive/nbconvert': 'notebook_redirect.html',
229 'interactive/public_server': 'notebook_redirect.html',
229 'interactive/public_server': 'notebook_redirect.html',
230 }
230 }
231
231
232 # If false, no module index is generated.
232 # If false, no module index is generated.
233 #html_use_modindex = True
233 #html_use_modindex = True
234
234
235 # If true, the reST sources are included in the HTML build as _sources/<name>.
235 # If true, the reST sources are included in the HTML build as _sources/<name>.
236 #html_copy_source = True
236 #html_copy_source = True
237
237
238 # If true, an OpenSearch description file will be output, and all pages will
238 # If true, an OpenSearch description file will be output, and all pages will
239 # contain a <link> tag referring to it. The value of this option must be the
239 # contain a <link> tag referring to it. The value of this option must be the
240 # base URL from which the finished HTML is served.
240 # base URL from which the finished HTML is served.
241 #html_use_opensearch = ''
241 #html_use_opensearch = ''
242
242
243 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
243 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
244 #html_file_suffix = ''
244 #html_file_suffix = ''
245
245
246 # Output file base name for HTML help builder.
246 # Output file base name for HTML help builder.
247 htmlhelp_basename = 'ipythondoc'
247 htmlhelp_basename = 'ipythondoc'
248
248
249 intersphinx_mapping = {'python': ('https://docs.python.org/3/', None),
249 intersphinx_mapping = {'python': ('https://docs.python.org/3/', None),
250 'rpy2': ('https://rpy2.github.io/doc/latest/html/', None),
250 'rpy2': ('https://rpy2.github.io/doc/latest/html/', None),
251 'jupyterclient': ('https://jupyter-client.readthedocs.io/en/latest/', None),
251 'jupyterclient': ('https://jupyter-client.readthedocs.io/en/latest/', None),
252 'jupyter': ('https://jupyter.readthedocs.io/en/latest/', None),
252 'jupyter': ('https://jupyter.readthedocs.io/en/latest/', None),
253 'jedi': ('https://jedi.readthedocs.io/en/latest/', None),
253 'jedi': ('https://jedi.readthedocs.io/en/latest/', None),
254 'traitlets': ('https://traitlets.readthedocs.io/en/latest/', None),
254 'traitlets': ('https://traitlets.readthedocs.io/en/latest/', None),
255 'ipykernel': ('https://ipykernel.readthedocs.io/en/latest/', None),
255 'ipykernel': ('https://ipykernel.readthedocs.io/en/latest/', None),
256 'prompt_toolkit' : ('https://python-prompt-toolkit.readthedocs.io/en/stable/', None),
256 'prompt_toolkit' : ('https://python-prompt-toolkit.readthedocs.io/en/stable/', None),
257 'ipywidgets': ('https://ipywidgets.readthedocs.io/en/stable/', None),
257 'ipywidgets': ('https://ipywidgets.readthedocs.io/en/stable/', None),
258 'ipyparallel': ('https://ipyparallel.readthedocs.io/en/stable/', None),
258 'ipyparallel': ('https://ipyparallel.readthedocs.io/en/stable/', None),
259 'pip': ('https://pip.pypa.io/en/stable/', None)
259 'pip': ('https://pip.pypa.io/en/stable/', None)
260 }
260 }
261
261
262 # Options for LaTeX output
262 # Options for LaTeX output
263 # ------------------------
263 # ------------------------
264
264
265 # The font size ('10pt', '11pt' or '12pt').
265 # The font size ('10pt', '11pt' or '12pt').
266 latex_font_size = '11pt'
266 latex_font_size = '11pt'
267
267
268 # Grouping the document tree into LaTeX files. List of tuples
268 # Grouping the document tree into LaTeX files. List of tuples
269 # (source start file, target name, title, author, document class [howto/manual]).
269 # (source start file, target name, title, author, document class [howto/manual]).
270
270
271 latex_documents = [
271 latex_documents = [
272 ('index', 'ipython.tex', 'IPython Documentation',
272 ('index', 'ipython.tex', 'IPython Documentation',
273 u"""The IPython Development Team""", 'manual', True),
273 u"""The IPython Development Team""", 'manual', True),
274 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
274 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
275 'Using IPython on Windows HPC Server 2008',
275 'Using IPython on Windows HPC Server 2008',
276 u"Brian E. Granger", 'manual', True)
276 u"Brian E. Granger", 'manual', True)
277 ]
277 ]
278
278
279 # The name of an image file (relative to this directory) to place at the top of
279 # The name of an image file (relative to this directory) to place at the top of
280 # the title page.
280 # the title page.
281 #latex_logo = None
281 #latex_logo = None
282
282
283 # For "manual" documents, if this is true, then toplevel headings are parts,
283 # For "manual" documents, if this is true, then toplevel headings are parts,
284 # not chapters.
284 # not chapters.
285 #latex_use_parts = False
285 #latex_use_parts = False
286
286
287 # Additional stuff for the LaTeX preamble.
287 # Additional stuff for the LaTeX preamble.
288 #latex_preamble = ''
288 #latex_preamble = ''
289
289
290 # Documents to append as an appendix to all manuals.
290 # Documents to append as an appendix to all manuals.
291 #latex_appendices = []
291 #latex_appendices = []
292
292
293 # If false, no module index is generated.
293 # If false, no module index is generated.
294 latex_use_modindex = True
294 latex_use_modindex = True
295
295
296
296
297 # Options for texinfo output
297 # Options for texinfo output
298 # --------------------------
298 # --------------------------
299
299
300 texinfo_documents = [
300 texinfo_documents = [
301 (master_doc, 'ipython', 'IPython Documentation',
301 (master_doc, 'ipython', 'IPython Documentation',
302 'The IPython Development Team',
302 'The IPython Development Team',
303 'IPython',
303 'IPython',
304 'IPython Documentation',
304 'IPython Documentation',
305 'Programming',
305 'Programming',
306 1),
306 1),
307 ]
307 ]
308
308
309 modindex_common_prefix = ['IPython.']
309 modindex_common_prefix = ['IPython.']
310
310
311
311
312 # Cleanup
312 # Cleanup
313 # -------
313 # -------
314 # delete release info to avoid pickling errors from sphinx
314 # delete release info to avoid pickling errors from sphinx
315
315
316 del iprelease
316 del iprelease
@@ -1,199 +1,199 b''
1 .. _defining_magics:
1 .. _defining_magics:
2
2
3 Defining custom magics
3 Defining custom magics
4 ======================
4 ======================
5
5
6 There are two main ways to define your own magic functions: from standalone
6 There are two main ways to define your own magic functions: from standalone
7 functions and by inheriting from a base class provided by IPython:
7 functions and by inheriting from a base class provided by IPython:
8 :class:`IPython.core.magic.Magics`. Below we show code you can place in a file
8 :class:`IPython.core.magic.Magics`. Below we show code you can place in a file
9 that you load from your configuration, such as any file in the ``startup``
9 that you load from your configuration, such as any file in the ``startup``
10 subdirectory of your default IPython profile.
10 subdirectory of your default IPython profile.
11
11
12 First, let us see the simplest case. The following shows how to create a line
12 First, let us see the simplest case. The following shows how to create a line
13 magic, a cell one and one that works in both modes, using just plain functions:
13 magic, a cell one and one that works in both modes, using just plain functions:
14
14
15 .. sourcecode:: python
15 .. sourcecode:: python
16
16
17 from IPython.core.magic import (register_line_magic, register_cell_magic,
17 from IPython.core.magic import (register_line_magic, register_cell_magic,
18 register_line_cell_magic)
18 register_line_cell_magic)
19
19
20 @register_line_magic
20 @register_line_magic
21 def lmagic(line):
21 def lmagic(line):
22 "my line magic"
22 "my line magic"
23 return line
23 return line
24
24
25 @register_cell_magic
25 @register_cell_magic
26 def cmagic(line, cell):
26 def cmagic(line, cell):
27 "my cell magic"
27 "my cell magic"
28 return line, cell
28 return line, cell
29
29
30 @register_line_cell_magic
30 @register_line_cell_magic
31 def lcmagic(line, cell=None):
31 def lcmagic(line, cell=None):
32 "Magic that works both as %lcmagic and as %%lcmagic"
32 "Magic that works both as %lcmagic and as %%lcmagic"
33 if cell is None:
33 if cell is None:
34 print("Called as line magic")
34 print("Called as line magic")
35 return line
35 return line
36 else:
36 else:
37 print("Called as cell magic")
37 print("Called as cell magic")
38 return line, cell
38 return line, cell
39
39
40 # In an interactive session, we need to delete these to avoid
40 # In an interactive session, we need to delete these to avoid
41 # name conflicts for automagic to work on line magics.
41 # name conflicts for automagic to work on line magics.
42 del lmagic, lcmagic
42 del lmagic, lcmagic
43
43
44
44
45 You can also create magics of all three kinds by inheriting from the
45 You can also create magics of all three kinds by inheriting from the
46 :class:`IPython.core.magic.Magics` class. This lets you create magics that can
46 :class:`IPython.core.magic.Magics` class. This lets you create magics that can
47 potentially hold state in between calls, and that have full access to the main
47 potentially hold state in between calls, and that have full access to the main
48 IPython object:
48 IPython object:
49
49
50 .. sourcecode:: python
50 .. sourcecode:: python
51
51
52 # This code can be put in any Python module, it does not require IPython
52 # This code can be put in any Python module, it does not require IPython
53 # itself to be running already. It only creates the magics subclass but
53 # itself to be running already. It only creates the magics subclass but
54 # doesn't instantiate it yet.
54 # doesn't instantiate it yet.
55 from __future__ import print_function
55 from __future__ import print_function
56 from IPython.core.magic import (Magics, magics_class, line_magic,
56 from IPython.core.magic import (Magics, magics_class, line_magic,
57 cell_magic, line_cell_magic)
57 cell_magic, line_cell_magic)
58
58
59 # The class MUST call this class decorator at creation time
59 # The class MUST call this class decorator at creation time
60 @magics_class
60 @magics_class
61 class MyMagics(Magics):
61 class MyMagics(Magics):
62
62
63 @line_magic
63 @line_magic
64 def lmagic(self, line):
64 def lmagic(self, line):
65 "my line magic"
65 "my line magic"
66 print("Full access to the main IPython object:", self.shell)
66 print("Full access to the main IPython object:", self.shell)
67 print("Variables in the user namespace:", list(self.shell.user_ns.keys()))
67 print("Variables in the user namespace:", list(self.shell.user_ns.keys()))
68 return line
68 return line
69
69
70 @cell_magic
70 @cell_magic
71 def cmagic(self, line, cell):
71 def cmagic(self, line, cell):
72 "my cell magic"
72 "my cell magic"
73 return line, cell
73 return line, cell
74
74
75 @line_cell_magic
75 @line_cell_magic
76 def lcmagic(self, line, cell=None):
76 def lcmagic(self, line, cell=None):
77 "Magic that works both as %lcmagic and as %%lcmagic"
77 "Magic that works both as %lcmagic and as %%lcmagic"
78 if cell is None:
78 if cell is None:
79 print("Called as line magic")
79 print("Called as line magic")
80 return line
80 return line
81 else:
81 else:
82 print("Called as cell magic")
82 print("Called as cell magic")
83 return line, cell
83 return line, cell
84
84
85
85
86 # In order to actually use these magics, you must register them with a
86 # In order to actually use these magics, you must register them with a
87 # running IPython.
87 # running IPython.
88
88
89 def load_ipython_extension(ipython):
89 def load_ipython_extension(ipython):
90 """
90 """
91 Any module file that define a function named `load_ipython_extension`
91 Any module file that define a function named `load_ipython_extension`
92 can be loaded via `%load_ext module.path` or be configured to be
92 can be loaded via `%load_ext module.path` or be configured to be
93 autoloaded by IPython at startup time.
93 autoloaded by IPython at startup time.
94 """
94 """
95 # You can register the class itself without instantiating it. IPython will
95 # You can register the class itself without instantiating it. IPython will
96 # call the default constructor on it.
96 # call the default constructor on it.
97 ipython.register_magics(MyMagics)
97 ipython.register_magics(MyMagics)
98
98
99 If you want to create a class with a different constructor that holds
99 If you want to create a class with a different constructor that holds
100 additional state, then you should always call the parent constructor and
100 additional state, then you should always call the parent constructor and
101 instantiate the class yourself before registration:
101 instantiate the class yourself before registration:
102
102
103 .. sourcecode:: python
103 .. sourcecode:: python
104
104
105 @magics_class
105 @magics_class
106 class StatefulMagics(Magics):
106 class StatefulMagics(Magics):
107 "Magics that hold additional state"
107 "Magics that hold additional state"
108
108
109 def __init__(self, shell, data):
109 def __init__(self, shell, data):
110 # You must call the parent constructor
110 # You must call the parent constructor
111 super(StatefulMagics, self).__init__(shell)
111 super(StatefulMagics, self).__init__(shell)
112 self.data = data
112 self.data = data
113
113
114 # etc...
114 # etc...
115
115
116 def load_ipython_extension(ipython):
116 def load_ipython_extension(ipython):
117 """
117 """
118 Any module file that define a function named `load_ipython_extension`
118 Any module file that define a function named `load_ipython_extension`
119 can be loaded via `%load_ext module.path` or be configured to be
119 can be loaded via `%load_ext module.path` or be configured to be
120 autoloaded by IPython at startup time.
120 autoloaded by IPython at startup time.
121 """
121 """
122 # This class must then be registered with a manually created instance,
122 # This class must then be registered with a manually created instance,
123 # since its constructor has different arguments from the default:
123 # since its constructor has different arguments from the default:
124 magics = StatefulMagics(ipython, some_data)
124 magics = StatefulMagics(ipython, some_data)
125 ipython.register_magics(magics)
125 ipython.register_magics(magics)
126
126
127
127
128 .. note::
128 .. note::
129
129
130 In early IPython versions 0.12 and before the line magics were
130 In early IPython versions 0.12 and before the line magics were
131 created using a :func:`define_magic` API function. This API has been
131 created using a :func:`define_magic` API function. This API has been
132 replaced with the above in IPython 0.13 and then completely removed
132 replaced with the above in IPython 0.13 and then completely removed
133 in IPython 5. Maintainers of IPython extensions that still use the
133 in IPython 5. Maintainers of IPython extensions that still use the
134 :func:`define_magic` function are advised to adjust their code
134 :func:`define_magic` function are advised to adjust their code
135 for the current API.
135 for the current API.
136
136
137
137
138 Accessing user namespace and local scope
138 Accessing user namespace and local scope
139 ========================================
139 ========================================
140
140
141 When creating line magics, you may need to access surrounding scope to get user
141 When creating line magics, you may need to access surrounding scope to get user
142 variables (e.g when called inside functions). IPython provide the
142 variables (e.g when called inside functions). IPython provide the
143 ``@needs_local_scope`` decorator that can be imported from
143 ``@needs_local_scope`` decorator that can be imported from
144 ``IPython.core.magics``. When decorated with ``@needs_local_scope`` a magic will
144 ``IPython.core.magics``. When decorated with ``@needs_local_scope`` a magic will
145 be passed ``local_ns`` as an argument. As a convenience ``@needs_local_scope``
145 be passed ``local_ns`` as an argument. As a convenience ``@needs_local_scope``
146 can also be applied to cell magics even if cell magics cannot appear at local
146 can also be applied to cell magics even if cell magics cannot appear at local
147 scope context.
147 scope context.
148
148
149 Complete Example
149 Complete Example
150 ================
150 ================
151
151
152 Here is a full example of a magic package. You can distribute magics using
152 Here is a full example of a magic package. You can distribute magics using
153 setuptools, distutils, or any other distribution tools like `flit
153 setuptools, distutils, or any other distribution tools like `flit
154 <http://flit.readthedocs.io>`_ for pure Python packages.
154 <https://flit.readthedocs.io>`_ for pure Python packages.
155
155
156 When distributing magics as part of a package, recommended best practice is to
156 When distributing magics as part of a package, recommended best practice is to
157 execute the registration inside the `load_ipython_extension` as demonstrated in
157 execute the registration inside the `load_ipython_extension` as demonstrated in
158 the example below, instead of directly in the module (as in the initial example
158 the example below, instead of directly in the module (as in the initial example
159 with the ``@register_*`` decorators). This means a user will need to explicitly
159 with the ``@register_*`` decorators). This means a user will need to explicitly
160 choose to load your magic with ``%load_ext``. instead implicitly getting it when
160 choose to load your magic with ``%load_ext``. instead implicitly getting it when
161 importing the module. This is particularly relevant if loading your magic has
161 importing the module. This is particularly relevant if loading your magic has
162 side effects, if it is slow to load, or if it might override another magic with
162 side effects, if it is slow to load, or if it might override another magic with
163 the same name.
163 the same name.
164
164
165 .. sourcecode:: bash
165 .. sourcecode:: bash
166
166
167 .
167 .
168 ├── example_magic
168 ├── example_magic
169    ├── __init__.py
169    ├── __init__.py
170    └── abracadabra.py
170    └── abracadabra.py
171 └── setup.py
171 └── setup.py
172
172
173 .. sourcecode:: bash
173 .. sourcecode:: bash
174
174
175 $ cat example_magic/__init__.py
175 $ cat example_magic/__init__.py
176 """An example magic"""
176 """An example magic"""
177 __version__ = '0.0.1'
177 __version__ = '0.0.1'
178
178
179 from .abracadabra import Abracadabra
179 from .abracadabra import Abracadabra
180
180
181 def load_ipython_extension(ipython):
181 def load_ipython_extension(ipython):
182 ipython.register_magics(Abracadabra)
182 ipython.register_magics(Abracadabra)
183
183
184 .. sourcecode:: bash
184 .. sourcecode:: bash
185
185
186 $ cat example_magic/abracadabra.py
186 $ cat example_magic/abracadabra.py
187 from IPython.core.magic import (Magics, magics_class, line_magic, cell_magic)
187 from IPython.core.magic import (Magics, magics_class, line_magic, cell_magic)
188
188
189 @magics_class
189 @magics_class
190 class Abracadabra(Magics):
190 class Abracadabra(Magics):
191
191
192 @line_magic
192 @line_magic
193 def abra(self, line):
193 def abra(self, line):
194 return line
194 return line
195
195
196 @cell_magic
196 @cell_magic
197 def cadabra(self, line, cell):
197 def cadabra(self, line, cell):
198 return line, cell
198 return line, cell
199
199
@@ -1,110 +1,110 b''
1 .. _integrating:
1 .. _integrating:
2
2
3 =====================================
3 =====================================
4 Integrating your objects with IPython
4 Integrating your objects with IPython
5 =====================================
5 =====================================
6
6
7 Tab completion
7 Tab completion
8 ==============
8 ==============
9
9
10 To change the attributes displayed by tab-completing your object, define a
10 To change the attributes displayed by tab-completing your object, define a
11 ``__dir__(self)`` method for it. For more details, see the documentation of the
11 ``__dir__(self)`` method for it. For more details, see the documentation of the
12 built-in `dir() function <http://docs.python.org/library/functions.html#dir>`_.
12 built-in `dir() function <http://docs.python.org/library/functions.html#dir>`_.
13
13
14 You can also customise key completions for your objects, e.g. pressing tab after
14 You can also customise key completions for your objects, e.g. pressing tab after
15 ``obj["a``. To do so, define a method ``_ipython_key_completions_()``, which
15 ``obj["a``. To do so, define a method ``_ipython_key_completions_()``, which
16 returns a list of objects which are possible keys in a subscript expression
16 returns a list of objects which are possible keys in a subscript expression
17 ``obj[key]``.
17 ``obj[key]``.
18
18
19 .. versionadded:: 5.0
19 .. versionadded:: 5.0
20 Custom key completions
20 Custom key completions
21
21
22 .. _integrating_rich_display:
22 .. _integrating_rich_display:
23
23
24 Rich display
24 Rich display
25 ============
25 ============
26
26
27 The notebook and the Qt console can display richer representations of objects.
27 The notebook and the Qt console can display richer representations of objects.
28 To use this, you can define any of a number of ``_repr_*_()`` methods. Note that
28 To use this, you can define any of a number of ``_repr_*_()`` methods. Note that
29 these are surrounded by single, not double underscores.
29 these are surrounded by single, not double underscores.
30
30
31 Both the notebook and the Qt console can display ``svg``, ``png`` and ``jpeg``
31 Both the notebook and the Qt console can display ``svg``, ``png`` and ``jpeg``
32 representations. The notebook can also display ``html``, ``javascript``,
32 representations. The notebook can also display ``html``, ``javascript``,
33 ``markdown`` and ``latex``. If the methods don't exist, or return ``None``, it
33 ``markdown`` and ``latex``. If the methods don't exist, or return ``None``, it
34 falls back to a standard ``repr()``.
34 falls back to a standard ``repr()``.
35
35
36 For example::
36 For example::
37
37
38 class Shout(object):
38 class Shout(object):
39 def __init__(self, text):
39 def __init__(self, text):
40 self.text = text
40 self.text = text
41
41
42 def _repr_html_(self):
42 def _repr_html_(self):
43 return "<h1>" + self.text + "</h1>"
43 return "<h1>" + self.text + "</h1>"
44
44
45 We often want to provide frontends with guidance on how to display the data. To
45 We often want to provide frontends with guidance on how to display the data. To
46 support this, ``_repr_*_()`` methods can also return a ``(data, metadata)``
46 support this, ``_repr_*_()`` methods can also return a ``(data, metadata)``
47 tuple where ``metadata`` is a dictionary containing arbitrary key-value pairs for
47 tuple where ``metadata`` is a dictionary containing arbitrary key-value pairs for
48 the frontend to interpret. An example use case is ``_repr_jpeg_()``, which can
48 the frontend to interpret. An example use case is ``_repr_jpeg_()``, which can
49 be set to return a jpeg image and a ``{'height': 400, 'width': 600}`` dictionary
49 be set to return a jpeg image and a ``{'height': 400, 'width': 600}`` dictionary
50 to inform the frontend how to size the image.
50 to inform the frontend how to size the image.
51
51
52 There are also two more powerful display methods:
52 There are also two more powerful display methods:
53
53
54 .. class:: MyObject
54 .. class:: MyObject
55
55
56 .. method:: _repr_mimebundle_(include=None, exclude=None)
56 .. method:: _repr_mimebundle_(include=None, exclude=None)
57
57
58 Should return a dictionary of multiple formats, keyed by mimetype, or a tuple
58 Should return a dictionary of multiple formats, keyed by mimetype, or a tuple
59 of two dictionaries: *data, metadata*. If this returns something, other
59 of two dictionaries: *data, metadata*. If this returns something, other
60 ``_repr_*_`` methods are ignored. The method should take keyword arguments
60 ``_repr_*_`` methods are ignored. The method should take keyword arguments
61 ``include`` and ``exclude``, though it is not required to respect them.
61 ``include`` and ``exclude``, though it is not required to respect them.
62
62
63 .. method:: _ipython_display_()
63 .. method:: _ipython_display_()
64
64
65 Displays the object as a side effect; the return value is ignored. If this
65 Displays the object as a side effect; the return value is ignored. If this
66 is defined, all other display methods are ignored.
66 is defined, all other display methods are ignored.
67
67
68 To customize how the REPL pretty-prints your object, add a `_repr_pretty_`
68 To customize how the REPL pretty-prints your object, add a `_repr_pretty_`
69 method to the class. The method should accept a pretty printer, and a boolean
69 method to the class. The method should accept a pretty printer, and a boolean
70 that indicates whether the printer detected a cycle. The method should act on
70 that indicates whether the printer detected a cycle. The method should act on
71 the printer to produce your customized pretty output. Here is an example::
71 the printer to produce your customized pretty output. Here is an example::
72
72
73 class MyObject(object):
73 class MyObject(object):
74
74
75 def _repr_pretty_(self, p, cycle):
75 def _repr_pretty_(self, p, cycle):
76 if cycle:
76 if cycle:
77 p.text('MyObject(...)')
77 p.text('MyObject(...)')
78 else:
78 else:
79 p.text('MyObject[...]')
79 p.text('MyObject[...]')
80
80
81 For details, see :py:mod:`IPython.lib.pretty`.
81 For details, see :py:mod:`IPython.lib.pretty`.
82
82
83 Formatters for third-party types
83 Formatters for third-party types
84 --------------------------------
84 --------------------------------
85
85
86 The user can also register formatters for types without modifying the class::
86 The user can also register formatters for types without modifying the class::
87
87
88 from bar.baz import Foo
88 from bar.baz import Foo
89
89
90 def foo_html(obj):
90 def foo_html(obj):
91 return '<marquee>Foo object %s</marquee>' % obj.name
91 return '<marquee>Foo object %s</marquee>' % obj.name
92
92
93 html_formatter = get_ipython().display_formatter.formatters['text/html']
93 html_formatter = get_ipython().display_formatter.formatters['text/html']
94 html_formatter.for_type(Foo, foo_html)
94 html_formatter.for_type(Foo, foo_html)
95
95
96 # Or register a type without importing it - this does the same as above:
96 # Or register a type without importing it - this does the same as above:
97 html_formatter.for_type_by_name('bar.baz', 'Foo', foo_html)
97 html_formatter.for_type_by_name('bar.baz', 'Foo', foo_html)
98
98
99 Custom exception tracebacks
99 Custom exception tracebacks
100 ===========================
100 ===========================
101
101
102 Rarely, you might want to display a custom traceback when reporting an
102 Rarely, you might want to display a custom traceback when reporting an
103 exception. To do this, define the custom traceback using
103 exception. To do this, define the custom traceback using
104 `_render_traceback_(self)` method which returns a list of strings, one string
104 `_render_traceback_(self)` method which returns a list of strings, one string
105 for each line of the traceback. For example, the `ipyparallel
105 for each line of the traceback. For example, the `ipyparallel
106 <http://ipyparallel.readthedocs.io/>`__ a parallel computing framework for
106 <https://ipyparallel.readthedocs.io/>`__ a parallel computing framework for
107 IPython, does this to display errors from multiple engines.
107 IPython, does this to display errors from multiple engines.
108
108
109 Please be conservative in using this feature; by replacing the default traceback
109 Please be conservative in using this feature; by replacing the default traceback
110 you may hide important information from the user.
110 you may hide important information from the user.
@@ -1,175 +1,175 b''
1 Making simple Python wrapper kernels
1 Making simple Python wrapper kernels
2 ====================================
2 ====================================
3
3
4 .. versionadded:: 3.0
4 .. versionadded:: 3.0
5
5
6 You can now re-use the kernel machinery in IPython to easily make new kernels.
6 You can now re-use the kernel machinery in IPython to easily make new kernels.
7 This is useful for languages that have Python bindings, such as `Octave
7 This is useful for languages that have Python bindings, such as `Octave
8 <http://www.gnu.org/software/octave/>`_ (via
8 <http://www.gnu.org/software/octave/>`_ (via
9 `Oct2Py <http://blink1073.github.io/oct2py/>`_), or languages
9 `Oct2Py <http://blink1073.github.io/oct2py/>`_), or languages
10 where the REPL can be controlled in a tty using `pexpect <http://pexpect.readthedocs.io/en/latest/>`_,
10 where the REPL can be controlled in a tty using `pexpect <https://pexpect.readthedocs.io/en/latest/>`_,
11 such as bash.
11 such as bash.
12
12
13 .. seealso::
13 .. seealso::
14
14
15 `bash_kernel <https://github.com/takluyver/bash_kernel>`_
15 `bash_kernel <https://github.com/takluyver/bash_kernel>`_
16 A simple kernel for bash, written using this machinery
16 A simple kernel for bash, written using this machinery
17
17
18 Required steps
18 Required steps
19 --------------
19 --------------
20
20
21 Subclass :class:`ipykernel.kernelbase.Kernel`, and implement the
21 Subclass :class:`ipykernel.kernelbase.Kernel`, and implement the
22 following methods and attributes:
22 following methods and attributes:
23
23
24 .. class:: MyKernel
24 .. class:: MyKernel
25
25
26 .. attribute:: implementation
26 .. attribute:: implementation
27 implementation_version
27 implementation_version
28 language
28 language
29 language_version
29 language_version
30 banner
30 banner
31
31
32 Information for :ref:`msging_kernel_info` replies. 'Implementation' refers
32 Information for :ref:`msging_kernel_info` replies. 'Implementation' refers
33 to the kernel (e.g. IPython), and 'language' refers to the language it
33 to the kernel (e.g. IPython), and 'language' refers to the language it
34 interprets (e.g. Python). The 'banner' is displayed to the user in console
34 interprets (e.g. Python). The 'banner' is displayed to the user in console
35 UIs before the first prompt. All of these values are strings.
35 UIs before the first prompt. All of these values are strings.
36
36
37 .. attribute:: language_info
37 .. attribute:: language_info
38
38
39 Language information for :ref:`msging_kernel_info` replies, in a dictionary.
39 Language information for :ref:`msging_kernel_info` replies, in a dictionary.
40 This should contain the key ``mimetype`` with the mimetype of code in the
40 This should contain the key ``mimetype`` with the mimetype of code in the
41 target language (e.g. ``'text/x-python'``), and ``file_extension`` (e.g.
41 target language (e.g. ``'text/x-python'``), and ``file_extension`` (e.g.
42 ``'py'``).
42 ``'py'``).
43 It may also contain keys ``codemirror_mode`` and ``pygments_lexer`` if they
43 It may also contain keys ``codemirror_mode`` and ``pygments_lexer`` if they
44 need to differ from :attr:`language`.
44 need to differ from :attr:`language`.
45
45
46 Other keys may be added to this later.
46 Other keys may be added to this later.
47
47
48 .. method:: do_execute(code, silent, store_history=True, user_expressions=None, allow_stdin=False)
48 .. method:: do_execute(code, silent, store_history=True, user_expressions=None, allow_stdin=False)
49
49
50 Execute user code.
50 Execute user code.
51
51
52 :param str code: The code to be executed.
52 :param str code: The code to be executed.
53 :param bool silent: Whether to display output.
53 :param bool silent: Whether to display output.
54 :param bool store_history: Whether to record this code in history and
54 :param bool store_history: Whether to record this code in history and
55 increase the execution count. If silent is True, this is implicitly
55 increase the execution count. If silent is True, this is implicitly
56 False.
56 False.
57 :param dict user_expressions: Mapping of names to expressions to evaluate
57 :param dict user_expressions: Mapping of names to expressions to evaluate
58 after the code has run. You can ignore this if you need to.
58 after the code has run. You can ignore this if you need to.
59 :param bool allow_stdin: Whether the frontend can provide input on request
59 :param bool allow_stdin: Whether the frontend can provide input on request
60 (e.g. for Python's :func:`raw_input`).
60 (e.g. for Python's :func:`raw_input`).
61
61
62 Your method should return a dict containing the fields described in
62 Your method should return a dict containing the fields described in
63 :ref:`execution_results`. To display output, it can send messages
63 :ref:`execution_results`. To display output, it can send messages
64 using :meth:`~ipykernel.kernelbase.Kernel.send_response`.
64 using :meth:`~ipykernel.kernelbase.Kernel.send_response`.
65 See :doc:`messaging` for details of the different message types.
65 See :doc:`messaging` for details of the different message types.
66
66
67 To launch your kernel, add this at the end of your module::
67 To launch your kernel, add this at the end of your module::
68
68
69 if __name__ == '__main__':
69 if __name__ == '__main__':
70 from ipykernel.kernelapp import IPKernelApp
70 from ipykernel.kernelapp import IPKernelApp
71 IPKernelApp.launch_instance(kernel_class=MyKernel)
71 IPKernelApp.launch_instance(kernel_class=MyKernel)
72
72
73 Example
73 Example
74 -------
74 -------
75
75
76 ``echokernel.py`` will simply echo any input it's given to stdout::
76 ``echokernel.py`` will simply echo any input it's given to stdout::
77
77
78 from ipykernel.kernelbase import Kernel
78 from ipykernel.kernelbase import Kernel
79
79
80 class EchoKernel(Kernel):
80 class EchoKernel(Kernel):
81 implementation = 'Echo'
81 implementation = 'Echo'
82 implementation_version = '1.0'
82 implementation_version = '1.0'
83 language = 'no-op'
83 language = 'no-op'
84 language_version = '0.1'
84 language_version = '0.1'
85 language_info = {'mimetype': 'text/plain'}
85 language_info = {'mimetype': 'text/plain'}
86 banner = "Echo kernel - as useful as a parrot"
86 banner = "Echo kernel - as useful as a parrot"
87
87
88 def do_execute(self, code, silent, store_history=True, user_expressions=None,
88 def do_execute(self, code, silent, store_history=True, user_expressions=None,
89 allow_stdin=False):
89 allow_stdin=False):
90 if not silent:
90 if not silent:
91 stream_content = {'name': 'stdout', 'text': code}
91 stream_content = {'name': 'stdout', 'text': code}
92 self.send_response(self.iopub_socket, 'stream', stream_content)
92 self.send_response(self.iopub_socket, 'stream', stream_content)
93
93
94 return {'status': 'ok',
94 return {'status': 'ok',
95 # The base class increments the execution count
95 # The base class increments the execution count
96 'execution_count': self.execution_count,
96 'execution_count': self.execution_count,
97 'payload': [],
97 'payload': [],
98 'user_expressions': {},
98 'user_expressions': {},
99 }
99 }
100
100
101 if __name__ == '__main__':
101 if __name__ == '__main__':
102 from ipykernel.kernelapp import IPKernelApp
102 from ipykernel.kernelapp import IPKernelApp
103 IPKernelApp.launch_instance(kernel_class=EchoKernel)
103 IPKernelApp.launch_instance(kernel_class=EchoKernel)
104
104
105 Here's the Kernel spec ``kernel.json`` file for this::
105 Here's the Kernel spec ``kernel.json`` file for this::
106
106
107 {"argv":["python","-m","echokernel", "-f", "{connection_file}"],
107 {"argv":["python","-m","echokernel", "-f", "{connection_file}"],
108 "display_name":"Echo"
108 "display_name":"Echo"
109 }
109 }
110
110
111
111
112 Optional steps
112 Optional steps
113 --------------
113 --------------
114
114
115 You can override a number of other methods to improve the functionality of your
115 You can override a number of other methods to improve the functionality of your
116 kernel. All of these methods should return a dictionary as described in the
116 kernel. All of these methods should return a dictionary as described in the
117 relevant section of the :doc:`messaging spec <messaging>`.
117 relevant section of the :doc:`messaging spec <messaging>`.
118
118
119 .. class:: MyBetterKernel
119 .. class:: MyBetterKernel
120
120
121 .. method:: do_complete(code, cusor_pos)
121 .. method:: do_complete(code, cusor_pos)
122
122
123 Code completion
123 Code completion
124
124
125 :param str code: The code already present
125 :param str code: The code already present
126 :param int cursor_pos: The position in the code where completion is requested
126 :param int cursor_pos: The position in the code where completion is requested
127
127
128 .. seealso::
128 .. seealso::
129
129
130 :ref:`msging_completion` messages
130 :ref:`msging_completion` messages
131
131
132 .. method:: do_inspect(code, cusor_pos, detail_level=0)
132 .. method:: do_inspect(code, cusor_pos, detail_level=0)
133
133
134 Object introspection
134 Object introspection
135
135
136 :param str code: The code
136 :param str code: The code
137 :param int cursor_pos: The position in the code where introspection is requested
137 :param int cursor_pos: The position in the code where introspection is requested
138 :param int detail_level: 0 or 1 for more or less detail. In IPython, 1 gets
138 :param int detail_level: 0 or 1 for more or less detail. In IPython, 1 gets
139 the source code.
139 the source code.
140
140
141 .. seealso::
141 .. seealso::
142
142
143 :ref:`msging_inspection` messages
143 :ref:`msging_inspection` messages
144
144
145 .. method:: do_history(hist_access_type, output, raw, session=None, start=None, stop=None, n=None, pattern=None, unique=False)
145 .. method:: do_history(hist_access_type, output, raw, session=None, start=None, stop=None, n=None, pattern=None, unique=False)
146
146
147 History access. Only the relevant parameters for the type of history
147 History access. Only the relevant parameters for the type of history
148 request concerned will be passed, so your method definition must have defaults
148 request concerned will be passed, so your method definition must have defaults
149 for all the arguments shown with defaults here.
149 for all the arguments shown with defaults here.
150
150
151 .. seealso::
151 .. seealso::
152
152
153 :ref:`msging_history` messages
153 :ref:`msging_history` messages
154
154
155 .. method:: do_is_complete(code)
155 .. method:: do_is_complete(code)
156
156
157 Is code entered in a console-like interface complete and ready to execute,
157 Is code entered in a console-like interface complete and ready to execute,
158 or should a continuation prompt be shown?
158 or should a continuation prompt be shown?
159
159
160 :param str code: The code entered so far - possibly multiple lines
160 :param str code: The code entered so far - possibly multiple lines
161
161
162 .. seealso::
162 .. seealso::
163
163
164 :ref:`msging_is_complete` messages
164 :ref:`msging_is_complete` messages
165
165
166 .. method:: do_shutdown(restart)
166 .. method:: do_shutdown(restart)
167
167
168 Shutdown the kernel. You only need to handle your own clean up - the kernel
168 Shutdown the kernel. You only need to handle your own clean up - the kernel
169 machinery will take care of cleaning up its own things before stopping.
169 machinery will take care of cleaning up its own things before stopping.
170
170
171 :param bool restart: Whether the kernel will be started again afterwards
171 :param bool restart: Whether the kernel will be started again afterwards
172
172
173 .. seealso::
173 .. seealso::
174
174
175 :ref:`msging_shutdown` messages
175 :ref:`msging_shutdown` messages
@@ -1,116 +1,116 b''
1 .. _introduction:
1 .. _introduction:
2
2
3 =====================
3 =====================
4 IPython Documentation
4 IPython Documentation
5 =====================
5 =====================
6
6
7 .. only:: html
7 .. only:: html
8
8
9 :Release: |release|
9 :Release: |release|
10 :Date: |today|
10 :Date: |today|
11
11
12 Welcome to the official IPython documentation.
12 Welcome to the official IPython documentation.
13
13
14 IPython provides a rich toolkit to help you make the most of using Python
14 IPython provides a rich toolkit to help you make the most of using Python
15 interactively. Its main components are:
15 interactively. Its main components are:
16
16
17 * A powerful interactive Python shell.
17 * A powerful interactive Python shell.
18
18
19
19
20 .. image:: ./_images/ipython-6-screenshot.png
20 .. image:: ./_images/ipython-6-screenshot.png
21 :alt: Screenshot of IPython 6.0
21 :alt: Screenshot of IPython 6.0
22 :align: center
22 :align: center
23
23
24
24
25 * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter
25 * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter
26 notebooks and other interactive frontends.
26 notebooks and other interactive frontends.
27
27
28 The enhanced interactive Python shells and kernel have the following main
28 The enhanced interactive Python shells and kernel have the following main
29 features:
29 features:
30
30
31 * Comprehensive object introspection.
31 * Comprehensive object introspection.
32
32
33 * Input history, persistent across sessions.
33 * Input history, persistent across sessions.
34
34
35 * Caching of output results during a session with automatically generated
35 * Caching of output results during a session with automatically generated
36 references.
36 references.
37
37
38 * Extensible tab completion, with support by default for completion of python
38 * Extensible tab completion, with support by default for completion of python
39 variables and keywords, filenames and function keywords.
39 variables and keywords, filenames and function keywords.
40
40
41 * Extensible system of 'magic' commands for controlling the environment and
41 * Extensible system of 'magic' commands for controlling the environment and
42 performing many tasks related to IPython or the operating system.
42 performing many tasks related to IPython or the operating system.
43
43
44 * A rich configuration system with easy switching between different setups
44 * A rich configuration system with easy switching between different setups
45 (simpler than changing ``$PYTHONSTARTUP`` environment variables every time).
45 (simpler than changing ``$PYTHONSTARTUP`` environment variables every time).
46
46
47 * Session logging and reloading.
47 * Session logging and reloading.
48
48
49 * Extensible syntax processing for special purpose situations.
49 * Extensible syntax processing for special purpose situations.
50
50
51 * Access to the system shell with user-extensible alias system.
51 * Access to the system shell with user-extensible alias system.
52
52
53 * Easily embeddable in other Python programs and GUIs.
53 * Easily embeddable in other Python programs and GUIs.
54
54
55 * Integrated access to the pdb debugger and the Python profiler.
55 * Integrated access to the pdb debugger and the Python profiler.
56
56
57
57
58 The Command line interface inherits the above functionality and adds
58 The Command line interface inherits the above functionality and adds
59
59
60 * real multi-line editing thanks to `prompt_toolkit <http://python-prompt-toolkit.readthedocs.io/en/stable/>`_.
60 * real multi-line editing thanks to `prompt_toolkit <https://python-prompt-toolkit.readthedocs.io/en/stable/>`_.
61
61
62 * syntax highlighting as you type.
62 * syntax highlighting as you type.
63
63
64 * integration with command line editor for a better workflow.
64 * integration with command line editor for a better workflow.
65
65
66 The kernel also has its share of features. When used with a compatible frontend,
66 The kernel also has its share of features. When used with a compatible frontend,
67 it allows:
67 it allows:
68
68
69 * the object to create a rich display of Html, Images, Latex, Sound and
69 * the object to create a rich display of Html, Images, Latex, Sound and
70 Video.
70 Video.
71
71
72 * interactive widgets with the use of the `ipywidgets <http://ipywidgets.readthedocs.io/en/stable/>`_ package.
72 * interactive widgets with the use of the `ipywidgets <https://ipywidgets.readthedocs.io/en/stable/>`_ package.
73
73
74
74
75 This documentation will walk you through most of the features of the IPython
75 This documentation will walk you through most of the features of the IPython
76 command line and kernel, as well as describe the internal mechanisms in order
76 command line and kernel, as well as describe the internal mechanisms in order
77 to improve your Python workflow.
77 to improve your Python workflow.
78
78
79 You can find the table of content for this documentation in the left
79 You can find the table of content for this documentation in the left
80 sidebar, allowing you to come back to previous sections or skip ahead, if needed.
80 sidebar, allowing you to come back to previous sections or skip ahead, if needed.
81
81
82
82
83 The latest development version is always available from IPython's `GitHub
83 The latest development version is always available from IPython's `GitHub
84 repository <http://github.com/ipython/ipython>`_.
84 repository <http://github.com/ipython/ipython>`_.
85
85
86
86
87 .. toctree::
87 .. toctree::
88 :maxdepth: 1
88 :maxdepth: 1
89 :hidden:
89 :hidden:
90
90
91 self
91 self
92 overview
92 overview
93 whatsnew/index
93 whatsnew/index
94 install/index
94 install/index
95 interactive/index
95 interactive/index
96 config/index
96 config/index
97 development/index
97 development/index
98 coredev/index
98 coredev/index
99 api/index
99 api/index
100 sphinxext
100 sphinxext
101 about/index
101 about/index
102
102
103 .. seealso::
103 .. seealso::
104
104
105 `Jupyter documentation <http://jupyter.readthedocs.io/en/latest/>`__
105 `Jupyter documentation <https://jupyter.readthedocs.io/en/latest/>`__
106 The Jupyter documentation provides information about the Notebook code and other Jupyter sub-projects.
106 The Jupyter documentation provides information about the Notebook code and other Jupyter sub-projects.
107 `ipyparallel documentation <http://ipyparallel.readthedocs.io/en/latest/>`__
107 `ipyparallel documentation <https://ipyparallel.readthedocs.io/en/latest/>`__
108 Formerly ``IPython.parallel``.
108 Formerly ``IPython.parallel``.
109
109
110
110
111 .. only:: html
111 .. only:: html
112
112
113 * :ref:`genindex`
113 * :ref:`genindex`
114 * :ref:`modindex`
114 * :ref:`modindex`
115 * :ref:`search`
115 * :ref:`search`
116
116
@@ -1,58 +1,58 b''
1 .. _install_index:
1 .. _install_index:
2
2
3 ============
3 ============
4 Installation
4 Installation
5 ============
5 ============
6
6
7 .. toctree::
7 .. toctree::
8 :maxdepth: 3
8 :maxdepth: 3
9 :hidden:
9 :hidden:
10
10
11
11
12 install
12 install
13 kernel_install
13 kernel_install
14
14
15
15
16
16
17 This sections will guide you through :ref:`installing IPython itself <install>`, and
17 This sections will guide you through :ref:`installing IPython itself <install>`, and
18 installing :ref:`kernels for Jupyter <kernel_install>` if you wish to work with
18 installing :ref:`kernels for Jupyter <kernel_install>` if you wish to work with
19 multiple version of Python, or multiple environments.
19 multiple version of Python, or multiple environments.
20
20
21
21
22 Quick install reminder
22 Quick install reminder
23 ~~~~~~~~~~~~~~~~~~~~~~
23 ~~~~~~~~~~~~~~~~~~~~~~
24
24
25 Here is a quick reminder of the commands needed for installation if you are
25 Here is a quick reminder of the commands needed for installation if you are
26 already familiar with IPython and are just searching to refresh your memory:
26 already familiar with IPython and are just searching to refresh your memory:
27
27
28 Install IPython:
28 Install IPython:
29
29
30 .. code-block:: bash
30 .. code-block:: bash
31
31
32 $ pip install ipython
32 $ pip install ipython
33
33
34
34
35 Install and register an IPython kernel with Jupyter:
35 Install and register an IPython kernel with Jupyter:
36
36
37
37
38 .. code-block:: bash
38 .. code-block:: bash
39
39
40 $ python -m pip install ipykernel
40 $ python -m pip install ipykernel
41
41
42 $ python -m ipykernel install [--user] [--name <machine-readable-name>] [--display-name <"User Friendly Name">]
42 $ python -m ipykernel install [--user] [--name <machine-readable-name>] [--display-name <"User Friendly Name">]
43
43
44 for more help see
44 for more help see
45
45
46 .. code-block:: bash
46 .. code-block:: bash
47
47
48 $ python -m ipykernel install --help
48 $ python -m ipykernel install --help
49
49
50
50
51
51
52 .. seealso::
52 .. seealso::
53
53
54 `Installing Jupyter <http://jupyter.readthedocs.io/en/latest/install.html>`__
54 `Installing Jupyter <https://jupyter.readthedocs.io/en/latest/install.html>`__
55 The Notebook, nbconvert, and many other former pieces of IPython are now
55 The Notebook, nbconvert, and many other former pieces of IPython are now
56 part of Project Jupyter.
56 part of Project Jupyter.
57
57
58
58
@@ -1,32 +1,32 b''
1 ========
1 ========
2 Tutorial
2 Tutorial
3 ========
3 ========
4
4
5 This section of IPython documentation will walk you through most of the IPython
5 This section of IPython documentation will walk you through most of the IPython
6 functionality. You do not need to have any deep knowledge of Python to read this
6 functionality. You do not need to have any deep knowledge of Python to read this
7 tutorial, though some sections might make slightly more sense if you have already
7 tutorial, though some sections might make slightly more sense if you have already
8 done some work in the classic Python REPL.
8 done some work in the classic Python REPL.
9
9
10 .. note::
10 .. note::
11
11
12 Some part of this documentation are more than a decade old so might be out
12 Some part of this documentation are more than a decade old so might be out
13 of date, we welcome any report of inaccuracy, and Pull Requests that make
13 of date, we welcome any report of inaccuracy, and Pull Requests that make
14 that up to date.
14 that up to date.
15
15
16 .. toctree::
16 .. toctree::
17 :maxdepth: 2
17 :maxdepth: 2
18 :hidden:
18 :hidden:
19
19
20 tutorial
20 tutorial
21 plotting
21 plotting
22 reference
22 reference
23 shell
23 shell
24 autoawait
24 autoawait
25 tips
25 tips
26 python-ipython-diff
26 python-ipython-diff
27 magics
27 magics
28
28
29 .. seealso::
29 .. seealso::
30
30
31 `A Qt Console for Jupyter <https://jupyter.org/qtconsole/>`__
31 `A Qt Console for Jupyter <https://jupyter.org/qtconsole/>`__
32 `The Jupyter Notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`__
32 `The Jupyter Notebook <https://jupyter-notebook.readthedocs.io/en/latest/>`__
@@ -1,257 +1,257 b''
1 .. _overview:
1 .. _overview:
2
2
3 ========
3 ========
4 Overview
4 Overview
5 ========
5 ========
6
6
7 One of Python's most useful features is its interactive interpreter.
7 One of Python's most useful features is its interactive interpreter.
8 It allows for very fast testing of ideas without the overhead of
8 It allows for very fast testing of ideas without the overhead of
9 creating test files as is typical in most programming languages.
9 creating test files as is typical in most programming languages.
10 However, the interpreter supplied with the standard Python distribution
10 However, the interpreter supplied with the standard Python distribution
11 is somewhat limited for extended interactive use.
11 is somewhat limited for extended interactive use.
12
12
13 The goal of IPython is to create a comprehensive environment for
13 The goal of IPython is to create a comprehensive environment for
14 interactive and exploratory computing. To support this goal, IPython
14 interactive and exploratory computing. To support this goal, IPython
15 has three main components:
15 has three main components:
16
16
17 * An enhanced interactive Python shell.
17 * An enhanced interactive Python shell.
18
18
19 * A decoupled :ref:`two-process communication model <ipythonzmq>`, which
19 * A decoupled :ref:`two-process communication model <ipythonzmq>`, which
20 allows for multiple clients to connect to a computation kernel, most notably
20 allows for multiple clients to connect to a computation kernel, most notably
21 the web-based notebook provided with `Jupyter <https://jupyter.org>`_.
21 the web-based notebook provided with `Jupyter <https://jupyter.org>`_.
22
22
23 * An architecture for interactive parallel computing now part of the
23 * An architecture for interactive parallel computing now part of the
24 `ipyparallel` package.
24 `ipyparallel` package.
25
25
26 All of IPython is open source (released under the revised BSD license).
26 All of IPython is open source (released under the revised BSD license).
27
27
28 Enhanced interactive Python shell
28 Enhanced interactive Python shell
29 =================================
29 =================================
30
30
31 IPython's interactive shell (:command:`ipython`), has the following goals,
31 IPython's interactive shell (:command:`ipython`), has the following goals,
32 amongst others:
32 amongst others:
33
33
34 1. Provide an interactive shell superior to Python's default. IPython
34 1. Provide an interactive shell superior to Python's default. IPython
35 has many features for tab-completion, object introspection, system shell
35 has many features for tab-completion, object introspection, system shell
36 access, command history retrieval across sessions, and its own special
36 access, command history retrieval across sessions, and its own special
37 command system for adding functionality when working interactively. It
37 command system for adding functionality when working interactively. It
38 tries to be a very efficient environment both for Python code development
38 tries to be a very efficient environment both for Python code development
39 and for exploration of problems using Python objects (in situations like
39 and for exploration of problems using Python objects (in situations like
40 data analysis).
40 data analysis).
41
41
42 2. Serve as an embeddable, ready to use interpreter for your own
42 2. Serve as an embeddable, ready to use interpreter for your own
43 programs. An interactive IPython shell can be started with a single call
43 programs. An interactive IPython shell can be started with a single call
44 from inside another program, providing access to the current namespace.
44 from inside another program, providing access to the current namespace.
45 This can be very useful both for debugging purposes and for situations
45 This can be very useful both for debugging purposes and for situations
46 where a blend of batch-processing and interactive exploration are needed.
46 where a blend of batch-processing and interactive exploration are needed.
47
47
48 3. Offer a flexible framework which can be used as the base
48 3. Offer a flexible framework which can be used as the base
49 environment for working with other systems, with Python as the underlying
49 environment for working with other systems, with Python as the underlying
50 bridge language. Specifically scientific environments like Mathematica,
50 bridge language. Specifically scientific environments like Mathematica,
51 IDL and Matlab inspired its design, but similar ideas can be
51 IDL and Matlab inspired its design, but similar ideas can be
52 useful in many fields.
52 useful in many fields.
53
53
54 4. Allow interactive testing of threaded graphical toolkits. IPython
54 4. Allow interactive testing of threaded graphical toolkits. IPython
55 has support for interactive, non-blocking control of GTK, Qt, WX, GLUT, and
55 has support for interactive, non-blocking control of GTK, Qt, WX, GLUT, and
56 OS X applications via special threading flags. The normal Python
56 OS X applications via special threading flags. The normal Python
57 shell can only do this for Tkinter applications.
57 shell can only do this for Tkinter applications.
58
58
59 Main features of the interactive shell
59 Main features of the interactive shell
60 --------------------------------------
60 --------------------------------------
61
61
62 * Dynamic object introspection. One can access docstrings, function
62 * Dynamic object introspection. One can access docstrings, function
63 definition prototypes, source code, source files and other details
63 definition prototypes, source code, source files and other details
64 of any object accessible to the interpreter with a single
64 of any object accessible to the interpreter with a single
65 keystroke (:samp:`?`, and using :samp:`??` provides additional detail).
65 keystroke (:samp:`?`, and using :samp:`??` provides additional detail).
66
66
67 * Searching through modules and namespaces with :samp:`*` wildcards, both
67 * Searching through modules and namespaces with :samp:`*` wildcards, both
68 when using the :samp:`?` system and via the :samp:`%psearch` command.
68 when using the :samp:`?` system and via the :samp:`%psearch` command.
69
69
70 * Completion in the local namespace, by typing :kbd:`TAB` at the prompt.
70 * Completion in the local namespace, by typing :kbd:`TAB` at the prompt.
71 This works for keywords, modules, methods, variables and files in the
71 This works for keywords, modules, methods, variables and files in the
72 current directory. This is supported via the ``prompt_toolkit`` library.
72 current directory. This is supported via the ``prompt_toolkit`` library.
73 Custom completers can be implemented easily for different purposes
73 Custom completers can be implemented easily for different purposes
74 (system commands, magic arguments etc.)
74 (system commands, magic arguments etc.)
75
75
76 * Numbered input/output prompts with command history (persistent
76 * Numbered input/output prompts with command history (persistent
77 across sessions and tied to each profile), full searching in this
77 across sessions and tied to each profile), full searching in this
78 history and caching of all input and output.
78 history and caching of all input and output.
79
79
80 * User-extensible 'magic' commands. A set of commands prefixed with
80 * User-extensible 'magic' commands. A set of commands prefixed with
81 :samp:`%` or :samp:`%%` is available for controlling IPython itself and provides
81 :samp:`%` or :samp:`%%` is available for controlling IPython itself and provides
82 directory control, namespace information and many aliases to
82 directory control, namespace information and many aliases to
83 common system shell commands.
83 common system shell commands.
84
84
85 * Alias facility for defining your own system aliases.
85 * Alias facility for defining your own system aliases.
86
86
87 * Complete system shell access. Lines starting with :samp:`!` are passed
87 * Complete system shell access. Lines starting with :samp:`!` are passed
88 directly to the system shell, and using :samp:`!!` or :samp:`var = !cmd`
88 directly to the system shell, and using :samp:`!!` or :samp:`var = !cmd`
89 captures shell output into python variables for further use.
89 captures shell output into python variables for further use.
90
90
91 * The ability to expand python variables when calling the system shell. In a
91 * The ability to expand python variables when calling the system shell. In a
92 shell command, any python variable prefixed with :samp:`$` is expanded. A
92 shell command, any python variable prefixed with :samp:`$` is expanded. A
93 double :samp:`$$` allows passing a literal :samp:`$` to the shell (for access
93 double :samp:`$$` allows passing a literal :samp:`$` to the shell (for access
94 to shell and environment variables like :envvar:`PATH`).
94 to shell and environment variables like :envvar:`PATH`).
95
95
96 * Filesystem navigation, via a magic :samp:`%cd` command, along with a
96 * Filesystem navigation, via a magic :samp:`%cd` command, along with a
97 persistent bookmark system (using :samp:`%bookmark`) for fast access to
97 persistent bookmark system (using :samp:`%bookmark`) for fast access to
98 frequently visited directories.
98 frequently visited directories.
99
99
100 * A lightweight persistence framework via the :samp:`%store` command, which
100 * A lightweight persistence framework via the :samp:`%store` command, which
101 allows you to save arbitrary Python variables. These get restored
101 allows you to save arbitrary Python variables. These get restored
102 when you run the :samp:`%store -r` command.
102 when you run the :samp:`%store -r` command.
103
103
104 * Automatic indentation and highlighting of code as you type (through the
104 * Automatic indentation and highlighting of code as you type (through the
105 `prompt_toolkit` library).
105 `prompt_toolkit` library).
106
106
107 * Macro system for quickly re-executing multiple lines of previous
107 * Macro system for quickly re-executing multiple lines of previous
108 input with a single name via the :samp:`%macro` command. Macros can be
108 input with a single name via the :samp:`%macro` command. Macros can be
109 stored persistently via :samp:`%store` and edited via :samp:`%edit`.
109 stored persistently via :samp:`%store` and edited via :samp:`%edit`.
110
110
111 * Session logging (you can then later use these logs as code in your
111 * Session logging (you can then later use these logs as code in your
112 programs). Logs can optionally timestamp all input, and also store
112 programs). Logs can optionally timestamp all input, and also store
113 session output (marked as comments, so the log remains valid
113 session output (marked as comments, so the log remains valid
114 Python source code).
114 Python source code).
115
115
116 * Session restoring: logs can be replayed to restore a previous
116 * Session restoring: logs can be replayed to restore a previous
117 session to the state where you left it.
117 session to the state where you left it.
118
118
119 * Verbose and colored exception traceback printouts. Easier to parse
119 * Verbose and colored exception traceback printouts. Easier to parse
120 visually, and in verbose mode they produce a lot of useful
120 visually, and in verbose mode they produce a lot of useful
121 debugging information (basically a terminal version of the cgitb
121 debugging information (basically a terminal version of the cgitb
122 module).
122 module).
123
123
124 * Auto-parentheses via the :samp:`%autocall` command: callable objects can be
124 * Auto-parentheses via the :samp:`%autocall` command: callable objects can be
125 executed without parentheses: :samp:`sin 3` is automatically converted to
125 executed without parentheses: :samp:`sin 3` is automatically converted to
126 :samp:`sin(3)`
126 :samp:`sin(3)`
127
127
128 * Auto-quoting: using :samp:`,`, or :samp:`;` as the first character forces
128 * Auto-quoting: using :samp:`,`, or :samp:`;` as the first character forces
129 auto-quoting of the rest of the line: :samp:`,my_function a b` becomes
129 auto-quoting of the rest of the line: :samp:`,my_function a b` becomes
130 automatically :samp:`my_function("a","b")`, while :samp:`;my_function a b`
130 automatically :samp:`my_function("a","b")`, while :samp:`;my_function a b`
131 becomes :samp:`my_function("a b")`.
131 becomes :samp:`my_function("a b")`.
132
132
133 * Extensible input syntax. You can define filters that pre-process
133 * Extensible input syntax. You can define filters that pre-process
134 user input to simplify input in special situations. This allows
134 user input to simplify input in special situations. This allows
135 for example pasting multi-line code fragments which start with
135 for example pasting multi-line code fragments which start with
136 :samp:`>>>` or :samp:`...` such as those from other python sessions or the
136 :samp:`>>>` or :samp:`...` such as those from other python sessions or the
137 standard Python documentation.
137 standard Python documentation.
138
138
139 * Flexible :ref:`configuration system <config_overview>`. It uses a
139 * Flexible :ref:`configuration system <config_overview>`. It uses a
140 configuration file which allows permanent setting of all command-line
140 configuration file which allows permanent setting of all command-line
141 options, module loading, code and file execution. The system allows
141 options, module loading, code and file execution. The system allows
142 recursive file inclusion, so you can have a base file with defaults and
142 recursive file inclusion, so you can have a base file with defaults and
143 layers which load other customizations for particular projects.
143 layers which load other customizations for particular projects.
144
144
145 * Embeddable. You can call IPython as a python shell inside your own
145 * Embeddable. You can call IPython as a python shell inside your own
146 python programs. This can be used both for debugging code or for
146 python programs. This can be used both for debugging code or for
147 providing interactive abilities to your programs with knowledge
147 providing interactive abilities to your programs with knowledge
148 about the local namespaces (very useful in debugging and data
148 about the local namespaces (very useful in debugging and data
149 analysis situations).
149 analysis situations).
150
150
151 * Easy debugger access. You can set IPython to call up an enhanced version of
151 * Easy debugger access. You can set IPython to call up an enhanced version of
152 the Python debugger (pdb) every time there is an uncaught exception. This
152 the Python debugger (pdb) every time there is an uncaught exception. This
153 drops you inside the code which triggered the exception with all the data
153 drops you inside the code which triggered the exception with all the data
154 live and it is possible to navigate the stack to rapidly isolate the source
154 live and it is possible to navigate the stack to rapidly isolate the source
155 of a bug. The :samp:`%run` magic command (with the :samp:`-d` option) can run
155 of a bug. The :samp:`%run` magic command (with the :samp:`-d` option) can run
156 any script under pdb's control, automatically setting initial breakpoints for
156 any script under pdb's control, automatically setting initial breakpoints for
157 you. This version of pdb has IPython-specific improvements, including
157 you. This version of pdb has IPython-specific improvements, including
158 tab-completion and traceback coloring support. For even easier debugger
158 tab-completion and traceback coloring support. For even easier debugger
159 access, try :samp:`%debug` after seeing an exception.
159 access, try :samp:`%debug` after seeing an exception.
160
160
161 * Profiler support. You can run single statements (similar to
161 * Profiler support. You can run single statements (similar to
162 :samp:`profile.run()`) or complete programs under the profiler's control.
162 :samp:`profile.run()`) or complete programs under the profiler's control.
163 While this is possible with standard cProfile or profile modules,
163 While this is possible with standard cProfile or profile modules,
164 IPython wraps this functionality with magic commands (see :samp:`%prun`
164 IPython wraps this functionality with magic commands (see :samp:`%prun`
165 and :samp:`%run -p`) convenient for rapid interactive work.
165 and :samp:`%run -p`) convenient for rapid interactive work.
166
166
167 * Simple timing information. You can use the :samp:`%timeit` command to get
167 * Simple timing information. You can use the :samp:`%timeit` command to get
168 the execution time of a Python statement or expression. This machinery is
168 the execution time of a Python statement or expression. This machinery is
169 intelligent enough to do more repetitions for commands that finish very
169 intelligent enough to do more repetitions for commands that finish very
170 quickly in order to get a better estimate of their running time.
170 quickly in order to get a better estimate of their running time.
171
171
172 .. sourcecode:: ipython
172 .. sourcecode:: ipython
173
173
174 In [1]: %timeit 1+1
174 In [1]: %timeit 1+1
175 10000000 loops, best of 3: 25.5 ns per loop
175 10000000 loops, best of 3: 25.5 ns per loop
176
176
177 In [2]: %timeit [math.sin(x) for x in range(5000)]
177 In [2]: %timeit [math.sin(x) for x in range(5000)]
178 1000 loops, best of 3: 719 µs per loop
178 1000 loops, best of 3: 719 µs per loop
179
179
180 ..
180 ..
181
181
182 To get the timing information for more than one expression, use the
182 To get the timing information for more than one expression, use the
183 :samp:`%%timeit` cell magic command.
183 :samp:`%%timeit` cell magic command.
184
184
185
185
186 * Doctest support. The special :samp:`%doctest_mode` command toggles a mode
186 * Doctest support. The special :samp:`%doctest_mode` command toggles a mode
187 to use doctest-compatible prompts, so you can use IPython sessions as
187 to use doctest-compatible prompts, so you can use IPython sessions as
188 doctest code. By default, IPython also allows you to paste existing
188 doctest code. By default, IPython also allows you to paste existing
189 doctests, and strips out the leading :samp:`>>>` and :samp:`...` prompts in
189 doctests, and strips out the leading :samp:`>>>` and :samp:`...` prompts in
190 them.
190 them.
191
191
192 .. _ipythonzmq:
192 .. _ipythonzmq:
193
193
194 Decoupled two-process model
194 Decoupled two-process model
195 ==============================
195 ==============================
196
196
197 IPython has abstracted and extended the notion of a traditional
197 IPython has abstracted and extended the notion of a traditional
198 *Read-Evaluate-Print Loop* (REPL) environment by decoupling the *evaluation*
198 *Read-Evaluate-Print Loop* (REPL) environment by decoupling the *evaluation*
199 into its own process. We call this process a **kernel**: it receives execution
199 into its own process. We call this process a **kernel**: it receives execution
200 instructions from clients and communicates the results back to them.
200 instructions from clients and communicates the results back to them.
201
201
202 This decoupling allows us to have several clients connected to the same
202 This decoupling allows us to have several clients connected to the same
203 kernel, and even allows clients and kernels to live on different machines.
203 kernel, and even allows clients and kernels to live on different machines.
204 With the exclusion of the traditional single process terminal-based IPython
204 With the exclusion of the traditional single process terminal-based IPython
205 (what you start if you run ``ipython`` without any subcommands), all
205 (what you start if you run ``ipython`` without any subcommands), all
206 other IPython machinery uses this two-process model. Most of this is now part
206 other IPython machinery uses this two-process model. Most of this is now part
207 of the `Jupyter` project, which includes ``jupyter console``, ``jupyter
207 of the `Jupyter` project, which includes ``jupyter console``, ``jupyter
208 qtconsole``, and ``jupyter notebook``.
208 qtconsole``, and ``jupyter notebook``.
209
209
210 As an example, this means that when you start ``jupyter qtconsole``, you're
210 As an example, this means that when you start ``jupyter qtconsole``, you're
211 really starting two processes, a kernel and a Qt-based client which can send
211 really starting two processes, a kernel and a Qt-based client which can send
212 commands to and receive results from that kernel. If there is already a kernel
212 commands to and receive results from that kernel. If there is already a kernel
213 running that you want to connect to, you can pass the ``--existing`` flag
213 running that you want to connect to, you can pass the ``--existing`` flag
214 which will skip initiating a new kernel and connect to the most recent kernel,
214 which will skip initiating a new kernel and connect to the most recent kernel,
215 instead. To connect to a specific kernel once you have several kernels
215 instead. To connect to a specific kernel once you have several kernels
216 running, use the ``%connect_info`` magic to get the unique connection file,
216 running, use the ``%connect_info`` magic to get the unique connection file,
217 which will be something like ``--existing kernel-19732.json`` but with
217 which will be something like ``--existing kernel-19732.json`` but with
218 different numbers which correspond to the Process ID of the kernel.
218 different numbers which correspond to the Process ID of the kernel.
219
219
220 You can read more about using `jupyter qtconsole
220 You can read more about using `jupyter qtconsole
221 <https://jupyter.org/qtconsole/>`_, and
221 <https://jupyter.org/qtconsole/>`_, and
222 `jupyter notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`_. There
222 `jupyter notebook <https://jupyter-notebook.readthedocs.io/en/latest/>`_. There
223 is also a :ref:`message spec <messaging>` which documents the protocol for
223 is also a :ref:`message spec <messaging>` which documents the protocol for
224 communication between kernels
224 communication between kernels
225 and clients.
225 and clients.
226
226
227 .. seealso::
227 .. seealso::
228
228
229 `Frontend/Kernel Model`_ example notebook
229 `Frontend/Kernel Model`_ example notebook
230
230
231
231
232 Interactive parallel computing
232 Interactive parallel computing
233 ==============================
233 ==============================
234
234
235
235
236 This functionality is optional and now part of the `ipyparallel
236 This functionality is optional and now part of the `ipyparallel
237 <http://ipyparallel.readthedocs.io/>`_ project.
237 <https://ipyparallel.readthedocs.io/>`_ project.
238
238
239 Portability and Python requirements
239 Portability and Python requirements
240 -----------------------------------
240 -----------------------------------
241
241
242 Version 7.0+ supports Python 3.4 and higher.
242 Version 7.0+ supports Python 3.4 and higher.
243 Versions 6.x support Python 3.3 and higher.
243 Versions 6.x support Python 3.3 and higher.
244 Versions 2.0 to 5.x work with Python 2.7.x releases and Python 3.3 and higher.
244 Versions 2.0 to 5.x work with Python 2.7.x releases and Python 3.3 and higher.
245 Version 1.0 additionally worked with Python 2.6 and 3.2.
245 Version 1.0 additionally worked with Python 2.6 and 3.2.
246 Version 0.12 was the first version to fully support Python 3.
246 Version 0.12 was the first version to fully support Python 3.
247
247
248 IPython is known to work on the following operating systems:
248 IPython is known to work on the following operating systems:
249
249
250 * Linux
250 * Linux
251 * Most other Unix-like OSs (AIX, Solaris, BSD, etc.)
251 * Most other Unix-like OSs (AIX, Solaris, BSD, etc.)
252 * Mac OS X
252 * Mac OS X
253 * Windows (CygWin, XP, Vista, etc.)
253 * Windows (CygWin, XP, Vista, etc.)
254
254
255 See :ref:`here <install_index>` for instructions on how to install IPython.
255 See :ref:`here <install_index>` for instructions on how to install IPython.
256
256
257 .. include:: links.txt
257 .. include:: links.txt
@@ -1,1883 +1,1883 b''
1 .. _issues_list_100:
1 .. _issues_list_100:
2
2
3 Issues closed in the 1.0 development cycle
3 Issues closed in the 1.0 development cycle
4 ==========================================
4 ==========================================
5
5
6
6
7 Issues closed in 1.2
7 Issues closed in 1.2
8 --------------------
8 --------------------
9
9
10 GitHub stats for 2013/09/09 - 2014/02/21
10 GitHub stats for 2013/09/09 - 2014/02/21
11
11
12 These lists are automatically generated, and may be incomplete or contain duplicates.
12 These lists are automatically generated, and may be incomplete or contain duplicates.
13
13
14 The following 13 authors contributed 84 commits.
14 The following 13 authors contributed 84 commits.
15
15
16 * Benjamin Ragan-Kelley
16 * Benjamin Ragan-Kelley
17 * Daryl Herzmann
17 * Daryl Herzmann
18 * Doug Blank
18 * Doug Blank
19 * Fernando Perez
19 * Fernando Perez
20 * James Porter
20 * James Porter
21 * Juergen Hasch
21 * Juergen Hasch
22 * Julian Taylor
22 * Julian Taylor
23 * Kyle Kelley
23 * Kyle Kelley
24 * Lawrence Fu
24 * Lawrence Fu
25 * Matthias Bussonnier
25 * Matthias Bussonnier
26 * Paul Ivanov
26 * Paul Ivanov
27 * Pascal Schetelat
27 * Pascal Schetelat
28 * Puneeth Chaganti
28 * Puneeth Chaganti
29 * Takeshi Kanmae
29 * Takeshi Kanmae
30 * Thomas Kluyver
30 * Thomas Kluyver
31
31
32 We closed a total of 55 issues, 38 pull requests and 17 regular issues;
32 We closed a total of 55 issues, 38 pull requests and 17 regular issues;
33 this is the full list (generated with the script :file:`tools/github_stats.py`):
33 this is the full list (generated with the script :file:`tools/github_stats.py`):
34
34
35 Pull Requests (38):
35 Pull Requests (38):
36
36
37 1.2.1:
37 1.2.1:
38
38
39 * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError
39 * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError
40 * :ghpull:`5166`: remove mktemp usage
40 * :ghpull:`5166`: remove mktemp usage
41 * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory.
41 * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory.
42 * :ghpull:`5105`: add index to format to support py2.6
42 * :ghpull:`5105`: add index to format to support py2.6
43
43
44 1.2.0:
44 1.2.0:
45
45
46 * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
46 * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
47 * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir`
47 * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir`
48 * :ghpull:`4845`: Add Origin Checking.
48 * :ghpull:`4845`: Add Origin Checking.
49 * :ghpull:`4928`: use importlib.machinery when available
49 * :ghpull:`4928`: use importlib.machinery when available
50 * :ghpull:`4849`: Various unicode fixes (mostly on Windows)
50 * :ghpull:`4849`: Various unicode fixes (mostly on Windows)
51 * :ghpull:`4880`: set profile name from profile_dir
51 * :ghpull:`4880`: set profile name from profile_dir
52 * :ghpull:`4908`: detect builtin docstrings in oinspect
52 * :ghpull:`4908`: detect builtin docstrings in oinspect
53 * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed
53 * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed
54 * :ghpull:`4903`: use https for all embeds
54 * :ghpull:`4903`: use https for all embeds
55 * :ghpull:`4868`: Static path fixes
55 * :ghpull:`4868`: Static path fixes
56 * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster
56 * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster
57 * :ghpull:`4840`: Error in Session.send_raw()
57 * :ghpull:`4840`: Error in Session.send_raw()
58 * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name
58 * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name
59 * :ghpull:`4748`: fix race condition in profiledir creation.
59 * :ghpull:`4748`: fix race condition in profiledir creation.
60 * :ghpull:`4720`: never use ssh multiplexer in tunnels
60 * :ghpull:`4720`: never use ssh multiplexer in tunnels
61 * :ghpull:`4738`: don't inject help into user_ns
61 * :ghpull:`4738`: don't inject help into user_ns
62 * :ghpull:`4722`: allow purging local results as long as they are not outstanding
62 * :ghpull:`4722`: allow purging local results as long as they are not outstanding
63 * :ghpull:`4668`: Make non-ASCII docstring unicode
63 * :ghpull:`4668`: Make non-ASCII docstring unicode
64 * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working
64 * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working
65 * :ghpull:`4453`: Play nice with App Nap
65 * :ghpull:`4453`: Play nice with App Nap
66 * :ghpull:`4609`: Fix bytes regex for Python 3.
66 * :ghpull:`4609`: Fix bytes regex for Python 3.
67 * :ghpull:`4488`: fix typo in message spec doc
67 * :ghpull:`4488`: fix typo in message spec doc
68 * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt
68 * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt
69 * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline.
69 * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline.
70 * :ghpull:`4214`: engine ID metadata should be unicode, not bytes
70 * :ghpull:`4214`: engine ID metadata should be unicode, not bytes
71 * :ghpull:`4232`: no highlight if no language specified
71 * :ghpull:`4232`: no highlight if no language specified
72 * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified
72 * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified
73 * :ghpull:`4217`: avoid importing numpy at the module level
73 * :ghpull:`4217`: avoid importing numpy at the module level
74 * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3
74 * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3
75 * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on
75 * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on
76 * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix
76 * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix
77 * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess
77 * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess
78 * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel
78 * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel
79 * :ghpull:`4201`: HeadingCells cannot be split or merged
79 * :ghpull:`4201`: HeadingCells cannot be split or merged
80
80
81 1.2.1:
81 1.2.1:
82
82
83 * :ghissue:`5101`: IPython 1.2.0: notebook fail with "500 Internal Server Error"
83 * :ghissue:`5101`: IPython 1.2.0: notebook fail with "500 Internal Server Error"
84
84
85 1.2.0:
85 1.2.0:
86
86
87 * :ghissue:`4892`: IPython.qt test failure with python3.4
87 * :ghissue:`4892`: IPython.qt test failure with python3.4
88 * :ghissue:`4810`: ipcluster bug in clean_logs flag
88 * :ghissue:`4810`: ipcluster bug in clean_logs flag
89 * :ghissue:`4765`: missing build script for highlight.js
89 * :ghissue:`4765`: missing build script for highlight.js
90 * :ghissue:`4761`: ipv6 address triggers cookie exception
90 * :ghissue:`4761`: ipv6 address triggers cookie exception
91 * :ghissue:`4721`: purge_results with jobid crashing - looking for insight
91 * :ghissue:`4721`: purge_results with jobid crashing - looking for insight
92 * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3
92 * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3
93 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
93 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
94 * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation.
94 * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation.
95 * :ghissue:`4351`: /parallel/apps/launcher.py error
95 * :ghissue:`4351`: /parallel/apps/launcher.py error
96 * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash
96 * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash
97 * :ghissue:`4039`: Celltoolbar example issue
97 * :ghissue:`4039`: Celltoolbar example issue
98 * :ghissue:`4256`: IPython no longer handles unicode file names
98 * :ghissue:`4256`: IPython no longer handles unicode file names
99 * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex
99 * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex
100 * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows.
100 * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows.
101 * :ghissue:`4203`: remove spurious print statement from parallel annoted functions
101 * :ghissue:`4203`: remove spurious print statement from parallel annoted functions
102 * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone
102 * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone
103
103
104
104
105 Issues closed in 1.1
105 Issues closed in 1.1
106 --------------------
106 --------------------
107
107
108 GitHub stats for 2013/08/08 - 2013/09/09 (since 1.0)
108 GitHub stats for 2013/08/08 - 2013/09/09 (since 1.0)
109
109
110 These lists are automatically generated, and may be incomplete or contain duplicates.
110 These lists are automatically generated, and may be incomplete or contain duplicates.
111
111
112 The following 25 authors contributed 337 commits.
112 The following 25 authors contributed 337 commits.
113
113
114 * Benjamin Ragan-Kelley
114 * Benjamin Ragan-Kelley
115 * Bing Xia
115 * Bing Xia
116 * Bradley M. Froehle
116 * Bradley M. Froehle
117 * Brian E. Granger
117 * Brian E. Granger
118 * Damián Avila
118 * Damián Avila
119 * dhirschfeld
119 * dhirschfeld
120 * Dražen Lučanin
120 * Dražen Lučanin
121 * gmbecker
121 * gmbecker
122 * Jake Vanderplas
122 * Jake Vanderplas
123 * Jason Grout
123 * Jason Grout
124 * Jonathan Frederic
124 * Jonathan Frederic
125 * Kevin Burke
125 * Kevin Burke
126 * Kyle Kelley
126 * Kyle Kelley
127 * Matt Henderson
127 * Matt Henderson
128 * Matthew Brett
128 * Matthew Brett
129 * Matthias Bussonnier
129 * Matthias Bussonnier
130 * Pankaj Pandey
130 * Pankaj Pandey
131 * Paul Ivanov
131 * Paul Ivanov
132 * rossant
132 * rossant
133 * Samuel Ainsworth
133 * Samuel Ainsworth
134 * Stephan Rave
134 * Stephan Rave
135 * stonebig
135 * stonebig
136 * Thomas Kluyver
136 * Thomas Kluyver
137 * Yaroslav Halchenko
137 * Yaroslav Halchenko
138 * Zachary Sailer
138 * Zachary Sailer
139
139
140
140
141 We closed a total of 76 issues, 58 pull requests and 18 regular issues;
141 We closed a total of 76 issues, 58 pull requests and 18 regular issues;
142 this is the full list (generated with the script :file:`tools/github_stats.py`):
142 this is the full list (generated with the script :file:`tools/github_stats.py`):
143
143
144 Pull Requests (58):
144 Pull Requests (58):
145
145
146 * :ghpull:`4188`: Allow user_ns trait to be None
146 * :ghpull:`4188`: Allow user_ns trait to be None
147 * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS)
147 * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS)
148 * :ghpull:`4174`: various issues in markdown and rst templates
148 * :ghpull:`4174`: various issues in markdown and rst templates
149 * :ghpull:`4178`: add missing data_javascript
149 * :ghpull:`4178`: add missing data_javascript
150 * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers
150 * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers
151 * :ghpull:`4043`: don't 'restore_bytes' in from_JSON
151 * :ghpull:`4043`: don't 'restore_bytes' in from_JSON
152 * :ghpull:`4163`: Fix for incorrect default encoding on Windows.
152 * :ghpull:`4163`: Fix for incorrect default encoding on Windows.
153 * :ghpull:`4136`: catch javascript errors in any output
153 * :ghpull:`4136`: catch javascript errors in any output
154 * :ghpull:`4171`: add nbconvert config file when creating profiles
154 * :ghpull:`4171`: add nbconvert config file when creating profiles
155 * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all
155 * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all
156 * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
156 * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
157 * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS
157 * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS
158 * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping
158 * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping
159 * :ghpull:`4065`: do not include specific css in embedable one
159 * :ghpull:`4065`: do not include specific css in embedable one
160 * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x
160 * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x
161 * :ghpull:`4074`: close Client sockets if connection fails
161 * :ghpull:`4074`: close Client sockets if connection fails
162 * :ghpull:`4064`: Store default codemirror mode in only 1 place
162 * :ghpull:`4064`: Store default codemirror mode in only 1 place
163 * :ghpull:`4104`: Add way to install MathJax to a particular profile
163 * :ghpull:`4104`: Add way to install MathJax to a particular profile
164 * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string
164 * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string
165 * :ghpull:`4143`: update example custom.js
165 * :ghpull:`4143`: update example custom.js
166 * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc
166 * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc
167 * :ghpull:`4141`: add files with a separate `add` call in backport_pr
167 * :ghpull:`4141`: add files with a separate `add` call in backport_pr
168 * :ghpull:`4137`: Restore autorestore option for storemagic
168 * :ghpull:`4137`: Restore autorestore option for storemagic
169 * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel
169 * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel
170 * :ghpull:`4120`: support `input` in Python 2 kernels
170 * :ghpull:`4120`: support `input` in Python 2 kernels
171 * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior
171 * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior
172 * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first
172 * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first
173 * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat.
173 * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat.
174 * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel
174 * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel
175 * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue.
175 * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue.
176 * :ghpull:`4054`: use unicode for HTML export
176 * :ghpull:`4054`: use unicode for HTML export
177 * :ghpull:`4106`: fix a couple of default block values
177 * :ghpull:`4106`: fix a couple of default block values
178 * :ghpull:`4115`: Update docs on declaring a magic function
178 * :ghpull:`4115`: Update docs on declaring a magic function
179 * :ghpull:`4101`: restore accidentally removed EngineError
179 * :ghpull:`4101`: restore accidentally removed EngineError
180 * :ghpull:`4096`: minor docs changes
180 * :ghpull:`4096`: minor docs changes
181 * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line
181 * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line
182 * :ghpull:`4091`: Make Qt console banner configurable
182 * :ghpull:`4091`: Make Qt console banner configurable
183 * :ghpull:`4086`: fix missing errno import
183 * :ghpull:`4086`: fix missing errno import
184 * :ghpull:`4030`: exclude `.git` in MANIFEST.in
184 * :ghpull:`4030`: exclude `.git` in MANIFEST.in
185 * :ghpull:`4047`: Use istype() when checking if canned object is a dict
185 * :ghpull:`4047`: Use istype() when checking if canned object is a dict
186 * :ghpull:`4031`: don't close_fds on Windows
186 * :ghpull:`4031`: don't close_fds on Windows
187 * :ghpull:`4029`: bson.Binary moved
187 * :ghpull:`4029`: bson.Binary moved
188 * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path
188 * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path
189 * :ghpull:`4026`: small doc fix in nbconvert
189 * :ghpull:`4026`: small doc fix in nbconvert
190 * :ghpull:`4016`: Fix IPython.start_* functions
190 * :ghpull:`4016`: Fix IPython.start_* functions
191 * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays
191 * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays
192 * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs
192 * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs
193 * :ghpull:`4018`: Fix warning when running IPython.kernel tests
193 * :ghpull:`4018`: Fix warning when running IPython.kernel tests
194 * :ghpull:`4019`: Test skipping without unicode paths
194 * :ghpull:`4019`: Test skipping without unicode paths
195 * :ghpull:`4008`: Transform code before %prun/%%prun runs
195 * :ghpull:`4008`: Transform code before %prun/%%prun runs
196 * :ghpull:`4014`: Fix typo in ipapp
196 * :ghpull:`4014`: Fix typo in ipapp
197 * :ghpull:`3987`: get files list in backport_pr
197 * :ghpull:`3987`: get files list in backport_pr
198 * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3
198 * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3
199 * :ghpull:`3978`: fix `--existing` with non-localhost IP
199 * :ghpull:`3978`: fix `--existing` with non-localhost IP
200 * :ghpull:`3939`: minor checkpoint cleanup
200 * :ghpull:`3939`: minor checkpoint cleanup
201 * :ghpull:`3981`: BF: fix nbconvert rst input prompt spacing
201 * :ghpull:`3981`: BF: fix nbconvert rst input prompt spacing
202 * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert
202 * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert
203 * :ghpull:`3973`: logging.Formatter is not new-style in 2.6
203 * :ghpull:`3973`: logging.Formatter is not new-style in 2.6
204
204
205 Issues (18):
205 Issues (18):
206
206
207 * :ghissue:`4024`: nbconvert markdown issues
207 * :ghissue:`4024`: nbconvert markdown issues
208 * :ghissue:`4095`: Catch js error in append html in stream/pyerr
208 * :ghissue:`4095`: Catch js error in append html in stream/pyerr
209 * :ghissue:`4156`: Specifying --gui=tk at the command line
209 * :ghissue:`4156`: Specifying --gui=tk at the command line
210 * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS.
210 * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS.
211 * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook.
211 * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook.
212 * :ghissue:`3998`: sample custom.js needs to be updated
212 * :ghissue:`3998`: sample custom.js needs to be updated
213 * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0
213 * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0
214 * :ghissue:`3990`: Buitlin `input` doesn't work over zmq
214 * :ghissue:`3990`: Buitlin `input` doesn't work over zmq
215 * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook
215 * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook
216 * :ghissue:`4059`: Issues with Ellipsis literal in Python 3
216 * :ghissue:`4059`: Issues with Ellipsis literal in Python 3
217 * :ghissue:`4103`: Wrong default argument of DirectView.clear
217 * :ghissue:`4103`: Wrong default argument of DirectView.clear
218 * :ghissue:`4100`: parallel.client.client references undefined error.EngineError
218 * :ghissue:`4100`: parallel.client.client references undefined error.EngineError
219 * :ghissue:`4005`: IPython.start_kernel doesn't work.
219 * :ghissue:`4005`: IPython.start_kernel doesn't work.
220 * :ghissue:`4020`: IPython parallel map fails on numpy arrays
220 * :ghissue:`4020`: IPython parallel map fails on numpy arrays
221 * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3
221 * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3
222 * :ghissue:`3977`: unable to complete remote connections for two-process
222 * :ghissue:`3977`: unable to complete remote connections for two-process
223 * :ghissue:`3980`: nbconvert rst output lacks needed blank lines
223 * :ghissue:`3980`: nbconvert rst output lacks needed blank lines
224 * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6)
224 * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6)
225
225
226 Issues closed in 1.0
226 Issues closed in 1.0
227 --------------------
227 --------------------
228
228
229 GitHub stats for 2012/06/30 - 2013/08/08 (since 0.13)
229 GitHub stats for 2012/06/30 - 2013/08/08 (since 0.13)
230
230
231 These lists are automatically generated, and may be incomplete or contain duplicates.
231 These lists are automatically generated, and may be incomplete or contain duplicates.
232
232
233 The following 155 authors contributed 4258 commits.
233 The following 155 authors contributed 4258 commits.
234
234
235 * Aaron Meurer
235 * Aaron Meurer
236 * Adam Davis
236 * Adam Davis
237 * Ahmet Bakan
237 * Ahmet Bakan
238 * Alberto Valverde
238 * Alberto Valverde
239 * Allen Riddell
239 * Allen Riddell
240 * Anders Hovmöller
240 * Anders Hovmöller
241 * Andrea Bedini
241 * Andrea Bedini
242 * Andrew Spiers
242 * Andrew Spiers
243 * Andrew Vandever
243 * Andrew Vandever
244 * Anthony Scopatz
244 * Anthony Scopatz
245 * Anton Akhmerov
245 * Anton Akhmerov
246 * Anton I. Sipos
246 * Anton I. Sipos
247 * Antony Lee
247 * Antony Lee
248 * Aron Ahmadia
248 * Aron Ahmadia
249 * Benedikt Sauer
249 * Benedikt Sauer
250 * Benjamin Jones
250 * Benjamin Jones
251 * Benjamin Ragan-Kelley
251 * Benjamin Ragan-Kelley
252 * Benjie Chen
252 * Benjie Chen
253 * Boris de Laage
253 * Boris de Laage
254 * Brad Reisfeld
254 * Brad Reisfeld
255 * Bradley M. Froehle
255 * Bradley M. Froehle
256 * Brian E. Granger
256 * Brian E. Granger
257 * Cameron Bates
257 * Cameron Bates
258 * Cavendish McKay
258 * Cavendish McKay
259 * chapmanb
259 * chapmanb
260 * Chris Beaumont
260 * Chris Beaumont
261 * Chris Laumann
261 * Chris Laumann
262 * Christoph Gohlke
262 * Christoph Gohlke
263 * codebraker
263 * codebraker
264 * codespaced
264 * codespaced
265 * Corran Webster
265 * Corran Webster
266 * DamianHeard
266 * DamianHeard
267 * Damián Avila
267 * Damián Avila
268 * Dan Kilman
268 * Dan Kilman
269 * Dan McDougall
269 * Dan McDougall
270 * Danny Staple
270 * Danny Staple
271 * David Hirschfeld
271 * David Hirschfeld
272 * David P. Sanders
272 * David P. Sanders
273 * David Warde-Farley
273 * David Warde-Farley
274 * David Wolever
274 * David Wolever
275 * David Wyde
275 * David Wyde
276 * debjan
276 * debjan
277 * Diane Trout
277 * Diane Trout
278 * dkua
278 * dkua
279 * Dominik Dabrowski
279 * Dominik Dabrowski
280 * Donald Curtis
280 * Donald Curtis
281 * Dražen Lučanin
281 * Dražen Lučanin
282 * drevicko
282 * drevicko
283 * Eric O. LEBIGOT
283 * Eric O. LEBIGOT
284 * Erik M. Bray
284 * Erik M. Bray
285 * Erik Tollerud
285 * Erik Tollerud
286 * Eugene Van den Bulke
286 * Eugene Van den Bulke
287 * Evan Patterson
287 * Evan Patterson
288 * Fernando Perez
288 * Fernando Perez
289 * Francesco Montesano
289 * Francesco Montesano
290 * Frank Murphy
290 * Frank Murphy
291 * Greg Caporaso
291 * Greg Caporaso
292 * Guy Haskin Fernald
292 * Guy Haskin Fernald
293 * guziy
293 * guziy
294 * Hans Meine
294 * Hans Meine
295 * Harry Moreno
295 * Harry Moreno
296 * henryiii
296 * henryiii
297 * Ivan Djokic
297 * Ivan Djokic
298 * Jack Feser
298 * Jack Feser
299 * Jake Vanderplas
299 * Jake Vanderplas
300 * jakobgager
300 * jakobgager
301 * James Booth
301 * James Booth
302 * Jan Schulz
302 * Jan Schulz
303 * Jason Grout
303 * Jason Grout
304 * Jeff Knisley
304 * Jeff Knisley
305 * Jens Hedegaard Nielsen
305 * Jens Hedegaard Nielsen
306 * jeremiahbuddha
306 * jeremiahbuddha
307 * Jerry Fowler
307 * Jerry Fowler
308 * Jessica B. Hamrick
308 * Jessica B. Hamrick
309 * Jez Ng
309 * Jez Ng
310 * John Zwinck
310 * John Zwinck
311 * Jonathan Frederic
311 * Jonathan Frederic
312 * Jonathan Taylor
312 * Jonathan Taylor
313 * Joon Ro
313 * Joon Ro
314 * Joseph Lansdowne
314 * Joseph Lansdowne
315 * Juergen Hasch
315 * Juergen Hasch
316 * Julian Taylor
316 * Julian Taylor
317 * Jussi Sainio
317 * Jussi Sainio
318 * Jörgen Stenarson
318 * Jörgen Stenarson
319 * kevin
319 * kevin
320 * klonuo
320 * klonuo
321 * Konrad Hinsen
321 * Konrad Hinsen
322 * Kyle Kelley
322 * Kyle Kelley
323 * Lars Solberg
323 * Lars Solberg
324 * Lessandro Mariano
324 * Lessandro Mariano
325 * Mark Sienkiewicz at STScI
325 * Mark Sienkiewicz at STScI
326 * Martijn Vermaat
326 * Martijn Vermaat
327 * Martin Spacek
327 * Martin Spacek
328 * Matthias Bussonnier
328 * Matthias Bussonnier
329 * Maxim Grechkin
329 * Maxim Grechkin
330 * Maximilian Albert
330 * Maximilian Albert
331 * MercuryRising
331 * MercuryRising
332 * Michael Droettboom
332 * Michael Droettboom
333 * Michael Shuffett
333 * Michael Shuffett
334 * Michał Górny
334 * Michał Górny
335 * Mikhail Korobov
335 * Mikhail Korobov
336 * mr.Shu
336 * mr.Shu
337 * Nathan Goldbaum
337 * Nathan Goldbaum
338 * ocefpaf
338 * ocefpaf
339 * Ohad Ravid
339 * Ohad Ravid
340 * Olivier Grisel
340 * Olivier Grisel
341 * Olivier Verdier
341 * Olivier Verdier
342 * Owen Healy
342 * Owen Healy
343 * Pankaj Pandey
343 * Pankaj Pandey
344 * Paul Ivanov
344 * Paul Ivanov
345 * Pawel Jasinski
345 * Pawel Jasinski
346 * Pietro Berkes
346 * Pietro Berkes
347 * Piti Ongmongkolkul
347 * Piti Ongmongkolkul
348 * Puneeth Chaganti
348 * Puneeth Chaganti
349 * Rich Wareham
349 * Rich Wareham
350 * Richard Everson
350 * Richard Everson
351 * Rick Lupton
351 * Rick Lupton
352 * Rob Young
352 * Rob Young
353 * Robert Kern
353 * Robert Kern
354 * Robert Marchman
354 * Robert Marchman
355 * Robert McGibbon
355 * Robert McGibbon
356 * Rui Pereira
356 * Rui Pereira
357 * Rustam Safin
357 * Rustam Safin
358 * Ryan May
358 * Ryan May
359 * s8weber
359 * s8weber
360 * Samuel Ainsworth
360 * Samuel Ainsworth
361 * Sean Vig
361 * Sean Vig
362 * Siyu Zhang
362 * Siyu Zhang
363 * Skylar Saveland
363 * Skylar Saveland
364 * slojo404
364 * slojo404
365 * smithj1
365 * smithj1
366 * Stefan Karpinski
366 * Stefan Karpinski
367 * Stefan van der Walt
367 * Stefan van der Walt
368 * Steven Silvester
368 * Steven Silvester
369 * Takafumi Arakaki
369 * Takafumi Arakaki
370 * Takeshi Kanmae
370 * Takeshi Kanmae
371 * tcmulcahy
371 * tcmulcahy
372 * teegaar
372 * teegaar
373 * Thomas Kluyver
373 * Thomas Kluyver
374 * Thomas Robitaille
374 * Thomas Robitaille
375 * Thomas Spura
375 * Thomas Spura
376 * Thomas Weißschuh
376 * Thomas Weißschuh
377 * Timothy O'Donnell
377 * Timothy O'Donnell
378 * Tom Dimiduk
378 * Tom Dimiduk
379 * ugurthemaster
379 * ugurthemaster
380 * urielshaolin
380 * urielshaolin
381 * v923z
381 * v923z
382 * Valentin Haenel
382 * Valentin Haenel
383 * Victor Zverovich
383 * Victor Zverovich
384 * W. Trevor King
384 * W. Trevor King
385 * y-p
385 * y-p
386 * Yoav Ram
386 * Yoav Ram
387 * Zbigniew Jędrzejewski-Szmek
387 * Zbigniew Jędrzejewski-Szmek
388 * Zoltán Vörös
388 * Zoltán Vörös
389
389
390
390
391 We closed a total of 1484 issues, 793 pull requests and 691 regular issues;
391 We closed a total of 1484 issues, 793 pull requests and 691 regular issues;
392 this is the full list (generated with the script
392 this is the full list (generated with the script
393 :file:`tools/github_stats.py`):
393 :file:`tools/github_stats.py`):
394
394
395 Pull Requests (793):
395 Pull Requests (793):
396
396
397 * :ghpull:`3958`: doc update
397 * :ghpull:`3958`: doc update
398 * :ghpull:`3965`: Fix ansi color code for background yellow
398 * :ghpull:`3965`: Fix ansi color code for background yellow
399 * :ghpull:`3964`: Fix casing of message.
399 * :ghpull:`3964`: Fix casing of message.
400 * :ghpull:`3942`: Pass on install docs
400 * :ghpull:`3942`: Pass on install docs
401 * :ghpull:`3962`: exclude IPython.lib.kernel in iptest
401 * :ghpull:`3962`: exclude IPython.lib.kernel in iptest
402 * :ghpull:`3961`: Longpath test fix
402 * :ghpull:`3961`: Longpath test fix
403 * :ghpull:`3905`: Remove references to 0.11 and 0.12 from config/overview.rst
403 * :ghpull:`3905`: Remove references to 0.11 and 0.12 from config/overview.rst
404 * :ghpull:`3951`: nbconvert: fixed latex characters not escaped properly in nbconvert
404 * :ghpull:`3951`: nbconvert: fixed latex characters not escaped properly in nbconvert
405 * :ghpull:`3949`: log fatal error when PDF conversion fails
405 * :ghpull:`3949`: log fatal error when PDF conversion fails
406 * :ghpull:`3947`: nbconvert: Make writer & post-processor aliases case insensitive.
406 * :ghpull:`3947`: nbconvert: Make writer & post-processor aliases case insensitive.
407 * :ghpull:`3938`: Recompile css.
407 * :ghpull:`3938`: Recompile css.
408 * :ghpull:`3948`: sphinx and PDF tweaks
408 * :ghpull:`3948`: sphinx and PDF tweaks
409 * :ghpull:`3943`: nbconvert: Serve post-processor Windows fix
409 * :ghpull:`3943`: nbconvert: Serve post-processor Windows fix
410 * :ghpull:`3934`: nbconvert: fix logic of verbose flag in PDF post processor
410 * :ghpull:`3934`: nbconvert: fix logic of verbose flag in PDF post processor
411 * :ghpull:`3929`: swallow enter event in rename dialog
411 * :ghpull:`3929`: swallow enter event in rename dialog
412 * :ghpull:`3924`: nbconvert: Backport fixes
412 * :ghpull:`3924`: nbconvert: Backport fixes
413 * :ghpull:`3925`: Replace --pylab flag with --matplotlib in usage
413 * :ghpull:`3925`: Replace --pylab flag with --matplotlib in usage
414 * :ghpull:`3910`: Added explicit error message for missing configuration arguments.
414 * :ghpull:`3910`: Added explicit error message for missing configuration arguments.
415 * :ghpull:`3913`: grffile to support spaces in notebook names
415 * :ghpull:`3913`: grffile to support spaces in notebook names
416 * :ghpull:`3918`: added check_for_tornado, closes #3916
416 * :ghpull:`3918`: added check_for_tornado, closes #3916
417 * :ghpull:`3917`: change docs/examples refs to be just examples
417 * :ghpull:`3917`: change docs/examples refs to be just examples
418 * :ghpull:`3908`: what's new tweaks
418 * :ghpull:`3908`: what's new tweaks
419 * :ghpull:`3896`: two column quickhelp dialog, closes #3895
419 * :ghpull:`3896`: two column quickhelp dialog, closes #3895
420 * :ghpull:`3911`: explicitly load python mode before IPython mode
420 * :ghpull:`3911`: explicitly load python mode before IPython mode
421 * :ghpull:`3901`: don't force . relative path, fix #3897
421 * :ghpull:`3901`: don't force . relative path, fix #3897
422 * :ghpull:`3891`: fix #3889
422 * :ghpull:`3891`: fix #3889
423 * :ghpull:`3892`: Fix documentation of Kernel.stop_channels
423 * :ghpull:`3892`: Fix documentation of Kernel.stop_channels
424 * :ghpull:`3888`: posixify paths for Windows latex
424 * :ghpull:`3888`: posixify paths for Windows latex
425 * :ghpull:`3882`: quick fix for #3881
425 * :ghpull:`3882`: quick fix for #3881
426 * :ghpull:`3877`: don't use `shell=True` in PDF export
426 * :ghpull:`3877`: don't use `shell=True` in PDF export
427 * :ghpull:`3878`: minor template loading cleanup
427 * :ghpull:`3878`: minor template loading cleanup
428 * :ghpull:`3855`: nbconvert: Filter tests
428 * :ghpull:`3855`: nbconvert: Filter tests
429 * :ghpull:`3879`: finish 3870
429 * :ghpull:`3879`: finish 3870
430 * :ghpull:`3870`: Fix for converting notebooks that contain unicode characters.
430 * :ghpull:`3870`: Fix for converting notebooks that contain unicode characters.
431 * :ghpull:`3876`: Update parallel_winhpc.rst
431 * :ghpull:`3876`: Update parallel_winhpc.rst
432 * :ghpull:`3872`: removing vim-ipython, since it has it's own repo
432 * :ghpull:`3872`: removing vim-ipython, since it has it's own repo
433 * :ghpull:`3871`: updating docs
433 * :ghpull:`3871`: updating docs
434 * :ghpull:`3873`: remove old examples
434 * :ghpull:`3873`: remove old examples
435 * :ghpull:`3868`: update CodeMirror component to 3.15
435 * :ghpull:`3868`: update CodeMirror component to 3.15
436 * :ghpull:`3865`: Escape filename for pdflatex in nbconvert
436 * :ghpull:`3865`: Escape filename for pdflatex in nbconvert
437 * :ghpull:`3861`: remove old external.js
437 * :ghpull:`3861`: remove old external.js
438 * :ghpull:`3864`: add keyboard shortcut to docs
438 * :ghpull:`3864`: add keyboard shortcut to docs
439 * :ghpull:`3834`: This PR fixes a few issues with nbconvert tests
439 * :ghpull:`3834`: This PR fixes a few issues with nbconvert tests
440 * :ghpull:`3840`: prevent profile_dir from being undefined
440 * :ghpull:`3840`: prevent profile_dir from being undefined
441 * :ghpull:`3859`: Add "An Afternoon Hack" to docs
441 * :ghpull:`3859`: Add "An Afternoon Hack" to docs
442 * :ghpull:`3854`: Catch errors filling readline history on startup
442 * :ghpull:`3854`: Catch errors filling readline history on startup
443 * :ghpull:`3857`: Delete extra auto
443 * :ghpull:`3857`: Delete extra auto
444 * :ghpull:`3845`: nbconvert: Serve from original build directory
444 * :ghpull:`3845`: nbconvert: Serve from original build directory
445 * :ghpull:`3846`: Add basic logging to nbconvert
445 * :ghpull:`3846`: Add basic logging to nbconvert
446 * :ghpull:`3850`: add missing store_history key to Notebook execute_requests
446 * :ghpull:`3850`: add missing store_history key to Notebook execute_requests
447 * :ghpull:`3844`: update payload source
447 * :ghpull:`3844`: update payload source
448 * :ghpull:`3830`: mention metadata / display_data similarity in pyout spec
448 * :ghpull:`3830`: mention metadata / display_data similarity in pyout spec
449 * :ghpull:`3848`: fix incorrect `empty-docstring`
449 * :ghpull:`3848`: fix incorrect `empty-docstring`
450 * :ghpull:`3836`: Parse markdown correctly when mathjax is disabled
450 * :ghpull:`3836`: Parse markdown correctly when mathjax is disabled
451 * :ghpull:`3849`: skip a failing test on windows
451 * :ghpull:`3849`: skip a failing test on windows
452 * :ghpull:`3828`: signature_scheme lives in Session
452 * :ghpull:`3828`: signature_scheme lives in Session
453 * :ghpull:`3831`: update nbconvert doc with new CLI
453 * :ghpull:`3831`: update nbconvert doc with new CLI
454 * :ghpull:`3822`: add output flag to nbconvert
454 * :ghpull:`3822`: add output flag to nbconvert
455 * :ghpull:`3780`: Added serving the output directory if html-based format are selected.
455 * :ghpull:`3780`: Added serving the output directory if html-based format are selected.
456 * :ghpull:`3764`: Cleanup nbconvert templates
456 * :ghpull:`3764`: Cleanup nbconvert templates
457 * :ghpull:`3829`: remove now-duplicate 'this is dev' note
457 * :ghpull:`3829`: remove now-duplicate 'this is dev' note
458 * :ghpull:`3814`: add `ConsoleWidget.execute_on_complete_input` flag
458 * :ghpull:`3814`: add `ConsoleWidget.execute_on_complete_input` flag
459 * :ghpull:`3826`: try rtfd
459 * :ghpull:`3826`: try rtfd
460 * :ghpull:`3821`: add sphinx prolog
460 * :ghpull:`3821`: add sphinx prolog
461 * :ghpull:`3817`: relax timeouts in terminal console and tests
461 * :ghpull:`3817`: relax timeouts in terminal console and tests
462 * :ghpull:`3825`: fix more tests that fail when pandoc is missing
462 * :ghpull:`3825`: fix more tests that fail when pandoc is missing
463 * :ghpull:`3824`: don't set target on internal markdown links
463 * :ghpull:`3824`: don't set target on internal markdown links
464 * :ghpull:`3816`: s/pylab/matplotlib in docs
464 * :ghpull:`3816`: s/pylab/matplotlib in docs
465 * :ghpull:`3812`: Describe differences between start_ipython and embed
465 * :ghpull:`3812`: Describe differences between start_ipython and embed
466 * :ghpull:`3805`: Print View has been removed
466 * :ghpull:`3805`: Print View has been removed
467 * :ghpull:`3820`: Make it clear that 1.0 is not released yet
467 * :ghpull:`3820`: Make it clear that 1.0 is not released yet
468 * :ghpull:`3784`: nbconvert: Export flavors & PDF writer (ipy dev meeting)
468 * :ghpull:`3784`: nbconvert: Export flavors & PDF writer (ipy dev meeting)
469 * :ghpull:`3800`: semantic-versionify version number for non-releases
469 * :ghpull:`3800`: semantic-versionify version number for non-releases
470 * :ghpull:`3802`: Documentation .txt to .rst
470 * :ghpull:`3802`: Documentation .txt to .rst
471 * :ghpull:`3765`: cleanup terminal console iopub handling
471 * :ghpull:`3765`: cleanup terminal console iopub handling
472 * :ghpull:`3720`: Fix for #3719
472 * :ghpull:`3720`: Fix for #3719
473 * :ghpull:`3787`: re-raise KeyboardInterrupt in raw_input
473 * :ghpull:`3787`: re-raise KeyboardInterrupt in raw_input
474 * :ghpull:`3770`: Organizing reveal's templates.
474 * :ghpull:`3770`: Organizing reveal's templates.
475 * :ghpull:`3751`: Use link(2) when possible in nbconvert
475 * :ghpull:`3751`: Use link(2) when possible in nbconvert
476 * :ghpull:`3792`: skip tests that require pandoc
476 * :ghpull:`3792`: skip tests that require pandoc
477 * :ghpull:`3782`: add Importing Notebooks example
477 * :ghpull:`3782`: add Importing Notebooks example
478 * :ghpull:`3752`: nbconvert: Add cwd to sys.path
478 * :ghpull:`3752`: nbconvert: Add cwd to sys.path
479 * :ghpull:`3789`: fix raw_input in qtconsole
479 * :ghpull:`3789`: fix raw_input in qtconsole
480 * :ghpull:`3756`: document the wire protocol
480 * :ghpull:`3756`: document the wire protocol
481 * :ghpull:`3749`: convert IPython syntax to Python syntax in nbconvert python template
481 * :ghpull:`3749`: convert IPython syntax to Python syntax in nbconvert python template
482 * :ghpull:`3793`: Closes #3788
482 * :ghpull:`3793`: Closes #3788
483 * :ghpull:`3794`: Change logo link to ipython.org
483 * :ghpull:`3794`: Change logo link to ipython.org
484 * :ghpull:`3746`: Raise a named exception when pandoc is missing
484 * :ghpull:`3746`: Raise a named exception when pandoc is missing
485 * :ghpull:`3781`: comply with the message spec in the notebook
485 * :ghpull:`3781`: comply with the message spec in the notebook
486 * :ghpull:`3779`: remove bad `if logged_in` preventing new-notebook without login
486 * :ghpull:`3779`: remove bad `if logged_in` preventing new-notebook without login
487 * :ghpull:`3743`: remove notebook read-only view
487 * :ghpull:`3743`: remove notebook read-only view
488 * :ghpull:`3732`: add delay to autosave in beforeunload
488 * :ghpull:`3732`: add delay to autosave in beforeunload
489 * :ghpull:`3761`: Added rm_math_space to markdown cells in the basichtml.tpl to be rendered ok by mathjax after the nbconvertion.
489 * :ghpull:`3761`: Added rm_math_space to markdown cells in the basichtml.tpl to be rendered ok by mathjax after the nbconvertion.
490 * :ghpull:`3758`: nbconvert: Filter names cleanup
490 * :ghpull:`3758`: nbconvert: Filter names cleanup
491 * :ghpull:`3769`: Add configurability to tabcompletion timeout
491 * :ghpull:`3769`: Add configurability to tabcompletion timeout
492 * :ghpull:`3771`: Update px pylab test to match new output of pylab
492 * :ghpull:`3771`: Update px pylab test to match new output of pylab
493 * :ghpull:`3741`: better message when notebook format is not supported
493 * :ghpull:`3741`: better message when notebook format is not supported
494 * :ghpull:`3753`: document Ctrl-C not working in ipython kernel
494 * :ghpull:`3753`: document Ctrl-C not working in ipython kernel
495 * :ghpull:`3766`: handle empty metadata in pyout messages more gracefully.
495 * :ghpull:`3766`: handle empty metadata in pyout messages more gracefully.
496 * :ghpull:`3736`: my attempt to fix #3735
496 * :ghpull:`3736`: my attempt to fix #3735
497 * :ghpull:`3759`: nbconvert: Provide a more useful error for invalid use case.
497 * :ghpull:`3759`: nbconvert: Provide a more useful error for invalid use case.
498 * :ghpull:`3760`: nbconvert: Allow notebook filenames without their extensions
498 * :ghpull:`3760`: nbconvert: Allow notebook filenames without their extensions
499 * :ghpull:`3750`: nbconvert: Add cwd to default templates search path.
499 * :ghpull:`3750`: nbconvert: Add cwd to default templates search path.
500 * :ghpull:`3748`: Update nbconvert docs
500 * :ghpull:`3748`: Update nbconvert docs
501 * :ghpull:`3734`: Nbconvert: Export extracted files into `nbname_files` subdirectory
501 * :ghpull:`3734`: Nbconvert: Export extracted files into `nbname_files` subdirectory
502 * :ghpull:`3733`: Nicer message when pandoc is missing, closes #3730
502 * :ghpull:`3733`: Nicer message when pandoc is missing, closes #3730
503 * :ghpull:`3722`: fix two failing test in IPython.lib
503 * :ghpull:`3722`: fix two failing test in IPython.lib
504 * :ghpull:`3704`: Start what's new for 1.0
504 * :ghpull:`3704`: Start what's new for 1.0
505 * :ghpull:`3705`: Complete rewrite of IPython Notebook documentation: docs/source/interactive/htmlnotebook.txt
505 * :ghpull:`3705`: Complete rewrite of IPython Notebook documentation: docs/source/interactive/htmlnotebook.txt
506 * :ghpull:`3709`: Docs cleanup
506 * :ghpull:`3709`: Docs cleanup
507 * :ghpull:`3716`: raw_input fixes for kernel restarts
507 * :ghpull:`3716`: raw_input fixes for kernel restarts
508 * :ghpull:`3683`: use `%matplotlib` in example notebooks
508 * :ghpull:`3683`: use `%matplotlib` in example notebooks
509 * :ghpull:`3686`: remove quarantine
509 * :ghpull:`3686`: remove quarantine
510 * :ghpull:`3699`: svg2pdf unicode fix
510 * :ghpull:`3699`: svg2pdf unicode fix
511 * :ghpull:`3695`: fix SVG2PDF
511 * :ghpull:`3695`: fix SVG2PDF
512 * :ghpull:`3685`: fix Pager.detach
512 * :ghpull:`3685`: fix Pager.detach
513 * :ghpull:`3675`: document new dependencies
513 * :ghpull:`3675`: document new dependencies
514 * :ghpull:`3690`: Fixing some css minors in full_html and reveal.
514 * :ghpull:`3690`: Fixing some css minors in full_html and reveal.
515 * :ghpull:`3671`: nbconvert tests
515 * :ghpull:`3671`: nbconvert tests
516 * :ghpull:`3692`: Fix rename notebook - show error with invalid name
516 * :ghpull:`3692`: Fix rename notebook - show error with invalid name
517 * :ghpull:`3409`: Prevent qtconsole frontend freeze on lots of output.
517 * :ghpull:`3409`: Prevent qtconsole frontend freeze on lots of output.
518 * :ghpull:`3660`: refocus active cell on dialog close
518 * :ghpull:`3660`: refocus active cell on dialog close
519 * :ghpull:`3598`: Statelessify mathjaxutils
519 * :ghpull:`3598`: Statelessify mathjaxutils
520 * :ghpull:`3673`: enable comment/uncomment selection
520 * :ghpull:`3673`: enable comment/uncomment selection
521 * :ghpull:`3677`: remove special-case in get_home_dir for frozen dists
521 * :ghpull:`3677`: remove special-case in get_home_dir for frozen dists
522 * :ghpull:`3674`: add CONTRIBUTING.md
522 * :ghpull:`3674`: add CONTRIBUTING.md
523 * :ghpull:`3670`: use Popen command list for ipexec
523 * :ghpull:`3670`: use Popen command list for ipexec
524 * :ghpull:`3568`: pylab import adjustments
524 * :ghpull:`3568`: pylab import adjustments
525 * :ghpull:`3559`: add create.Cell and delete.Cell js events
525 * :ghpull:`3559`: add create.Cell and delete.Cell js events
526 * :ghpull:`3606`: push cell magic to the head of the transformer line
526 * :ghpull:`3606`: push cell magic to the head of the transformer line
527 * :ghpull:`3607`: NbConvert: Writers, No YAML, and stuff...
527 * :ghpull:`3607`: NbConvert: Writers, No YAML, and stuff...
528 * :ghpull:`3665`: Pywin32 skips
528 * :ghpull:`3665`: Pywin32 skips
529 * :ghpull:`3669`: set default client_class for QtKernelManager
529 * :ghpull:`3669`: set default client_class for QtKernelManager
530 * :ghpull:`3662`: add strip_encoding_cookie transformer
530 * :ghpull:`3662`: add strip_encoding_cookie transformer
531 * :ghpull:`3641`: increase patience for slow kernel startup in tests
531 * :ghpull:`3641`: increase patience for slow kernel startup in tests
532 * :ghpull:`3651`: remove a bunch of unused `default_config_file` assignments
532 * :ghpull:`3651`: remove a bunch of unused `default_config_file` assignments
533 * :ghpull:`3630`: CSS adjustments
533 * :ghpull:`3630`: CSS adjustments
534 * :ghpull:`3645`: Don't require HistoryManager to have a shell
534 * :ghpull:`3645`: Don't require HistoryManager to have a shell
535 * :ghpull:`3643`: don't assume tested ipython is on the PATH
535 * :ghpull:`3643`: don't assume tested ipython is on the PATH
536 * :ghpull:`3654`: fix single-result AsyncResults
536 * :ghpull:`3654`: fix single-result AsyncResults
537 * :ghpull:`3601`: Markdown in heading cells (take 2)
537 * :ghpull:`3601`: Markdown in heading cells (take 2)
538 * :ghpull:`3652`: Remove old `docs/examples`
538 * :ghpull:`3652`: Remove old `docs/examples`
539 * :ghpull:`3621`: catch any exception appending output
539 * :ghpull:`3621`: catch any exception appending output
540 * :ghpull:`3585`: don't blacklist builtin names
540 * :ghpull:`3585`: don't blacklist builtin names
541 * :ghpull:`3647`: Fix `frontend` deprecation warnings in several examples
541 * :ghpull:`3647`: Fix `frontend` deprecation warnings in several examples
542 * :ghpull:`3649`: fix AsyncResult.get_dict for single result
542 * :ghpull:`3649`: fix AsyncResult.get_dict for single result
543 * :ghpull:`3648`: Fix store magic test
543 * :ghpull:`3648`: Fix store magic test
544 * :ghpull:`3650`: Fix, config_file_name was ignored
544 * :ghpull:`3650`: Fix, config_file_name was ignored
545 * :ghpull:`3640`: Gcf.get_active() can return None
545 * :ghpull:`3640`: Gcf.get_active() can return None
546 * :ghpull:`3571`: Added shorcuts to split cell, merge cell above and merge cell below.
546 * :ghpull:`3571`: Added shorcuts to split cell, merge cell above and merge cell below.
547 * :ghpull:`3635`: Added missing slash to print-pdf call.
547 * :ghpull:`3635`: Added missing slash to print-pdf call.
548 * :ghpull:`3487`: Drop patch for compatibility with pyreadline 1.5
548 * :ghpull:`3487`: Drop patch for compatibility with pyreadline 1.5
549 * :ghpull:`3338`: Allow filename with extension in find_cmd in Windows.
549 * :ghpull:`3338`: Allow filename with extension in find_cmd in Windows.
550 * :ghpull:`3628`: Fix test for Python 3 on Windows.
550 * :ghpull:`3628`: Fix test for Python 3 on Windows.
551 * :ghpull:`3642`: Fix typo in docs
551 * :ghpull:`3642`: Fix typo in docs
552 * :ghpull:`3627`: use DEFAULT_STATIC_FILES_PATH in a test instead of package dir
552 * :ghpull:`3627`: use DEFAULT_STATIC_FILES_PATH in a test instead of package dir
553 * :ghpull:`3624`: fix some unicode in zmqhandlers
553 * :ghpull:`3624`: fix some unicode in zmqhandlers
554 * :ghpull:`3460`: Set calling program to UNKNOWN, when argv not in sys
554 * :ghpull:`3460`: Set calling program to UNKNOWN, when argv not in sys
555 * :ghpull:`3632`: Set calling program to UNKNOWN, when argv not in sys (take #2)
555 * :ghpull:`3632`: Set calling program to UNKNOWN, when argv not in sys (take #2)
556 * :ghpull:`3629`: Use new entry point for python -m IPython
556 * :ghpull:`3629`: Use new entry point for python -m IPython
557 * :ghpull:`3626`: passing cell to showInPager, closes #3625
557 * :ghpull:`3626`: passing cell to showInPager, closes #3625
558 * :ghpull:`3618`: expand terminal color support
558 * :ghpull:`3618`: expand terminal color support
559 * :ghpull:`3623`: raise UsageError for unsupported GUI backends
559 * :ghpull:`3623`: raise UsageError for unsupported GUI backends
560 * :ghpull:`3071`: Add magic function %drun to run code in debugger
560 * :ghpull:`3071`: Add magic function %drun to run code in debugger
561 * :ghpull:`3608`: a nicer error message when using %pylab magic
561 * :ghpull:`3608`: a nicer error message when using %pylab magic
562 * :ghpull:`3592`: add extra_config_file
562 * :ghpull:`3592`: add extra_config_file
563 * :ghpull:`3612`: updated .mailmap
563 * :ghpull:`3612`: updated .mailmap
564 * :ghpull:`3616`: Add examples for interactive use of MPI.
564 * :ghpull:`3616`: Add examples for interactive use of MPI.
565 * :ghpull:`3615`: fix regular expression for ANSI escapes
565 * :ghpull:`3615`: fix regular expression for ANSI escapes
566 * :ghpull:`3586`: Corrected a typo in the format string for strftime the sphinx.py transformer of nbconvert
566 * :ghpull:`3586`: Corrected a typo in the format string for strftime the sphinx.py transformer of nbconvert
567 * :ghpull:`3611`: check for markdown no longer needed, closes #3610
567 * :ghpull:`3611`: check for markdown no longer needed, closes #3610
568 * :ghpull:`3555`: Simplify caching of modules with %run
568 * :ghpull:`3555`: Simplify caching of modules with %run
569 * :ghpull:`3583`: notebook small things
569 * :ghpull:`3583`: notebook small things
570 * :ghpull:`3594`: Fix duplicate completion in notebook
570 * :ghpull:`3594`: Fix duplicate completion in notebook
571 * :ghpull:`3600`: parallel: Improved logging for errors during BatchSystemLauncher.stop
571 * :ghpull:`3600`: parallel: Improved logging for errors during BatchSystemLauncher.stop
572 * :ghpull:`3595`: Revert "allow markdown in heading cells"
572 * :ghpull:`3595`: Revert "allow markdown in heading cells"
573 * :ghpull:`3538`: add IPython.start_ipython
573 * :ghpull:`3538`: add IPython.start_ipython
574 * :ghpull:`3562`: Allow custom nbconvert template loaders
574 * :ghpull:`3562`: Allow custom nbconvert template loaders
575 * :ghpull:`3582`: pandoc adjustments
575 * :ghpull:`3582`: pandoc adjustments
576 * :ghpull:`3560`: Remove max_msg_size
576 * :ghpull:`3560`: Remove max_msg_size
577 * :ghpull:`3591`: Refer to Setuptools instead of Distribute
577 * :ghpull:`3591`: Refer to Setuptools instead of Distribute
578 * :ghpull:`3590`: IPython.sphinxext needs an __init__.py
578 * :ghpull:`3590`: IPython.sphinxext needs an __init__.py
579 * :ghpull:`3581`: Added the possibility to read a custom.css file for tweaking the final html in full_html and reveal templates.
579 * :ghpull:`3581`: Added the possibility to read a custom.css file for tweaking the final html in full_html and reveal templates.
580 * :ghpull:`3576`: Added support for markdown in heading cells when they are nbconverted.
580 * :ghpull:`3576`: Added support for markdown in heading cells when they are nbconverted.
581 * :ghpull:`3575`: tweak `run -d` message to 'continue execution'
581 * :ghpull:`3575`: tweak `run -d` message to 'continue execution'
582 * :ghpull:`3569`: add PYTHONSTARTUP to startup files
582 * :ghpull:`3569`: add PYTHONSTARTUP to startup files
583 * :ghpull:`3567`: Trigger a single event on js app initialized
583 * :ghpull:`3567`: Trigger a single event on js app initialized
584 * :ghpull:`3565`: style.min.css should always exist...
584 * :ghpull:`3565`: style.min.css should always exist...
585 * :ghpull:`3531`: allow markdown in heading cells
585 * :ghpull:`3531`: allow markdown in heading cells
586 * :ghpull:`3577`: Simplify codemirror ipython-mode
586 * :ghpull:`3577`: Simplify codemirror ipython-mode
587 * :ghpull:`3495`: Simplified regexp, and suggestions for clearer regexps.
587 * :ghpull:`3495`: Simplified regexp, and suggestions for clearer regexps.
588 * :ghpull:`3578`: Use adjustbox to specify figure size in nbconvert -> latex
588 * :ghpull:`3578`: Use adjustbox to specify figure size in nbconvert -> latex
589 * :ghpull:`3572`: Skip import irunner test on Windows.
589 * :ghpull:`3572`: Skip import irunner test on Windows.
590 * :ghpull:`3574`: correct static path for CM modes autoload
590 * :ghpull:`3574`: correct static path for CM modes autoload
591 * :ghpull:`3558`: Add IPython.sphinxext
591 * :ghpull:`3558`: Add IPython.sphinxext
592 * :ghpull:`3561`: mention double-control-C to stop notebook server
592 * :ghpull:`3561`: mention double-control-C to stop notebook server
593 * :ghpull:`3566`: fix event names
593 * :ghpull:`3566`: fix event names
594 * :ghpull:`3564`: Remove trivial nbconvert example
594 * :ghpull:`3564`: Remove trivial nbconvert example
595 * :ghpull:`3540`: allow cython cache dir to be deleted
595 * :ghpull:`3540`: allow cython cache dir to be deleted
596 * :ghpull:`3527`: cleanup stale, unused exceptions in parallel.error
596 * :ghpull:`3527`: cleanup stale, unused exceptions in parallel.error
597 * :ghpull:`3529`: ensure raw_input returns str in zmq shell
597 * :ghpull:`3529`: ensure raw_input returns str in zmq shell
598 * :ghpull:`3541`: respect image size metadata in qtconsole
598 * :ghpull:`3541`: respect image size metadata in qtconsole
599 * :ghpull:`3550`: Fixing issue preventing the correct read of images by full_html and reveal exporters.
599 * :ghpull:`3550`: Fixing issue preventing the correct read of images by full_html and reveal exporters.
600 * :ghpull:`3557`: open markdown links in new tabs
600 * :ghpull:`3557`: open markdown links in new tabs
601 * :ghpull:`3556`: remove mention of nonexistent `_margv` in macro
601 * :ghpull:`3556`: remove mention of nonexistent `_margv` in macro
602 * :ghpull:`3552`: set overflow-x: hidden on Firefox only
602 * :ghpull:`3552`: set overflow-x: hidden on Firefox only
603 * :ghpull:`3554`: Fix missing import os in latex exporter.
603 * :ghpull:`3554`: Fix missing import os in latex exporter.
604 * :ghpull:`3546`: Don't hardcode **latex** posix paths in nbconvert
604 * :ghpull:`3546`: Don't hardcode **latex** posix paths in nbconvert
605 * :ghpull:`3551`: fix path prefix in nbconvert
605 * :ghpull:`3551`: fix path prefix in nbconvert
606 * :ghpull:`3533`: Use a CDN to get reveal.js library.
606 * :ghpull:`3533`: Use a CDN to get reveal.js library.
607 * :ghpull:`3498`: When a notebook is written to file, name the metadata name u''.
607 * :ghpull:`3498`: When a notebook is written to file, name the metadata name u''.
608 * :ghpull:`3548`: Change to standard save icon in Notebook toolbar
608 * :ghpull:`3548`: Change to standard save icon in Notebook toolbar
609 * :ghpull:`3539`: Don't hardcode posix paths in nbconvert
609 * :ghpull:`3539`: Don't hardcode posix paths in nbconvert
610 * :ghpull:`3508`: notebook supports raw_input and %debug now
610 * :ghpull:`3508`: notebook supports raw_input and %debug now
611 * :ghpull:`3526`: ensure 'default' is first in cluster profile list
611 * :ghpull:`3526`: ensure 'default' is first in cluster profile list
612 * :ghpull:`3525`: basic timezone info
612 * :ghpull:`3525`: basic timezone info
613 * :ghpull:`3532`: include nbconvert templates in installation
613 * :ghpull:`3532`: include nbconvert templates in installation
614 * :ghpull:`3515`: update CodeMirror component to 3.14
614 * :ghpull:`3515`: update CodeMirror component to 3.14
615 * :ghpull:`3513`: add 'No Checkpoints' to Revert menu
615 * :ghpull:`3513`: add 'No Checkpoints' to Revert menu
616 * :ghpull:`3536`: format positions are required in Python 2.6.x
616 * :ghpull:`3536`: format positions are required in Python 2.6.x
617 * :ghpull:`3521`: Nbconvert fix, silent fail if template doesn't exist
617 * :ghpull:`3521`: Nbconvert fix, silent fail if template doesn't exist
618 * :ghpull:`3530`: update %store magic docstring
618 * :ghpull:`3530`: update %store magic docstring
619 * :ghpull:`3528`: fix local mathjax with custom base_project_url
619 * :ghpull:`3528`: fix local mathjax with custom base_project_url
620 * :ghpull:`3518`: Clear up unused imports
620 * :ghpull:`3518`: Clear up unused imports
621 * :ghpull:`3506`: %store -r restores saved aliases and directory history, as well as variables
621 * :ghpull:`3506`: %store -r restores saved aliases and directory history, as well as variables
622 * :ghpull:`3516`: make css highlight style configurable
622 * :ghpull:`3516`: make css highlight style configurable
623 * :ghpull:`3523`: Exclude frontend shim from docs build
623 * :ghpull:`3523`: Exclude frontend shim from docs build
624 * :ghpull:`3514`: use bootstrap `disabled` instead of `ui-state-disabled`
624 * :ghpull:`3514`: use bootstrap `disabled` instead of `ui-state-disabled`
625 * :ghpull:`3520`: Added relative import of RevealExporter to __init__.py inside exporters module
625 * :ghpull:`3520`: Added relative import of RevealExporter to __init__.py inside exporters module
626 * :ghpull:`3507`: fix HTML capitalization in nbconvert exporter classes
626 * :ghpull:`3507`: fix HTML capitalization in nbconvert exporter classes
627 * :ghpull:`3512`: fix nbconvert filter validation
627 * :ghpull:`3512`: fix nbconvert filter validation
628 * :ghpull:`3511`: Get Tracer working after ipapi.get replaced with get_ipython
628 * :ghpull:`3511`: Get Tracer working after ipapi.get replaced with get_ipython
629 * :ghpull:`3510`: use `window.onbeforeunload=` for nav-away warning
629 * :ghpull:`3510`: use `window.onbeforeunload=` for nav-away warning
630 * :ghpull:`3504`: don't use parent=self in handlers
630 * :ghpull:`3504`: don't use parent=self in handlers
631 * :ghpull:`3500`: Merge nbconvert into IPython
631 * :ghpull:`3500`: Merge nbconvert into IPython
632 * :ghpull:`3478`: restore "unsaved changes" warning on unload
632 * :ghpull:`3478`: restore "unsaved changes" warning on unload
633 * :ghpull:`3493`: add a dialog when the kernel is auto-restarted
633 * :ghpull:`3493`: add a dialog when the kernel is auto-restarted
634 * :ghpull:`3488`: Add test suite for autoreload extension
634 * :ghpull:`3488`: Add test suite for autoreload extension
635 * :ghpull:`3484`: Catch some pathological cases inside oinspect
635 * :ghpull:`3484`: Catch some pathological cases inside oinspect
636 * :ghpull:`3481`: Display R errors without Python traceback
636 * :ghpull:`3481`: Display R errors without Python traceback
637 * :ghpull:`3468`: fix `%magic` output
637 * :ghpull:`3468`: fix `%magic` output
638 * :ghpull:`3430`: add parent to Configurable
638 * :ghpull:`3430`: add parent to Configurable
639 * :ghpull:`3491`: Remove unexpected keyword parameter to remove_kernel
639 * :ghpull:`3491`: Remove unexpected keyword parameter to remove_kernel
640 * :ghpull:`3485`: SymPy has changed its recommended way to initialize printing
640 * :ghpull:`3485`: SymPy has changed its recommended way to initialize printing
641 * :ghpull:`3486`: Add test for non-ascii characters in docstrings
641 * :ghpull:`3486`: Add test for non-ascii characters in docstrings
642 * :ghpull:`3483`: Inputtransformer: Allow classic prompts without space
642 * :ghpull:`3483`: Inputtransformer: Allow classic prompts without space
643 * :ghpull:`3482`: Use an absolute path to iptest, because the tests are not always run from $IPYTHONDIR.
643 * :ghpull:`3482`: Use an absolute path to iptest, because the tests are not always run from $IPYTHONDIR.
644 * :ghpull:`3381`: enable 2x (retina) display
644 * :ghpull:`3381`: enable 2x (retina) display
645 * :ghpull:`3450`: Flatten IPython.frontend
645 * :ghpull:`3450`: Flatten IPython.frontend
646 * :ghpull:`3477`: pass config to subapps
646 * :ghpull:`3477`: pass config to subapps
647 * :ghpull:`3466`: Kernel fails to start when username has non-ascii characters
647 * :ghpull:`3466`: Kernel fails to start when username has non-ascii characters
648 * :ghpull:`3465`: Add HTCondor bindings to IPython.parallel
648 * :ghpull:`3465`: Add HTCondor bindings to IPython.parallel
649 * :ghpull:`3463`: fix typo, closes #3462
649 * :ghpull:`3463`: fix typo, closes #3462
650 * :ghpull:`3456`: Notice for users who disable javascript
650 * :ghpull:`3456`: Notice for users who disable javascript
651 * :ghpull:`3453`: fix cell execution in firefox, closes #3447
651 * :ghpull:`3453`: fix cell execution in firefox, closes #3447
652 * :ghpull:`3393`: [WIP] bootstrapify
652 * :ghpull:`3393`: [WIP] bootstrapify
653 * :ghpull:`3440`: Fix installing mathjax from downloaded file via command line
653 * :ghpull:`3440`: Fix installing mathjax from downloaded file via command line
654 * :ghpull:`3431`: Provide means for starting the Qt console maximized and with the menu bar hidden
654 * :ghpull:`3431`: Provide means for starting the Qt console maximized and with the menu bar hidden
655 * :ghpull:`3425`: base IPClusterApp inherits from BaseIPythonApp
655 * :ghpull:`3425`: base IPClusterApp inherits from BaseIPythonApp
656 * :ghpull:`3433`: Update IPython\external\path\__init__.py
656 * :ghpull:`3433`: Update IPython\external\path\__init__.py
657 * :ghpull:`3298`: Some fixes in IPython Sphinx directive
657 * :ghpull:`3298`: Some fixes in IPython Sphinx directive
658 * :ghpull:`3428`: process escapes in mathjax
658 * :ghpull:`3428`: process escapes in mathjax
659 * :ghpull:`3420`: thansk -> thanks
659 * :ghpull:`3420`: thansk -> thanks
660 * :ghpull:`3416`: Fix doc: "principle" not "principal"
660 * :ghpull:`3416`: Fix doc: "principle" not "principal"
661 * :ghpull:`3413`: more unique filename for test
661 * :ghpull:`3413`: more unique filename for test
662 * :ghpull:`3364`: Inject requirejs in notebook and start using it.
662 * :ghpull:`3364`: Inject requirejs in notebook and start using it.
663 * :ghpull:`3390`: Fix %paste with blank lines
663 * :ghpull:`3390`: Fix %paste with blank lines
664 * :ghpull:`3403`: fix creating config objects from dicts
664 * :ghpull:`3403`: fix creating config objects from dicts
665 * :ghpull:`3401`: rollback #3358
665 * :ghpull:`3401`: rollback #3358
666 * :ghpull:`3373`: make cookie_secret configurable
666 * :ghpull:`3373`: make cookie_secret configurable
667 * :ghpull:`3307`: switch default ws_url logic to js side
667 * :ghpull:`3307`: switch default ws_url logic to js side
668 * :ghpull:`3392`: Restore anchor link on h2-h6
668 * :ghpull:`3392`: Restore anchor link on h2-h6
669 * :ghpull:`3369`: Use different threshold for (auto)scroll in output
669 * :ghpull:`3369`: Use different threshold for (auto)scroll in output
670 * :ghpull:`3370`: normalize unicode notebook filenames
670 * :ghpull:`3370`: normalize unicode notebook filenames
671 * :ghpull:`3372`: base default cookie name on request host+port
671 * :ghpull:`3372`: base default cookie name on request host+port
672 * :ghpull:`3378`: disable CodeMirror drag/drop on Safari
672 * :ghpull:`3378`: disable CodeMirror drag/drop on Safari
673 * :ghpull:`3358`: workaround spurious CodeMirror scrollbars
673 * :ghpull:`3358`: workaround spurious CodeMirror scrollbars
674 * :ghpull:`3371`: make setting the notebook dirty flag an event
674 * :ghpull:`3371`: make setting the notebook dirty flag an event
675 * :ghpull:`3366`: remove long-dead zmq frontend.py and completer.py
675 * :ghpull:`3366`: remove long-dead zmq frontend.py and completer.py
676 * :ghpull:`3382`: cull Session digest history
676 * :ghpull:`3382`: cull Session digest history
677 * :ghpull:`3330`: Fix get_ipython_dir when $HOME is /
677 * :ghpull:`3330`: Fix get_ipython_dir when $HOME is /
678 * :ghpull:`3319`: IPEP 13: user-expressions and user-variables
678 * :ghpull:`3319`: IPEP 13: user-expressions and user-variables
679 * :ghpull:`3384`: comments in tools/gitwash_dumper.py changed (''' to """)
679 * :ghpull:`3384`: comments in tools/gitwash_dumper.py changed (''' to """)
680 * :ghpull:`3387`: Make submodule checks work under Python 3.
680 * :ghpull:`3387`: Make submodule checks work under Python 3.
681 * :ghpull:`3357`: move anchor-link off of heading text
681 * :ghpull:`3357`: move anchor-link off of heading text
682 * :ghpull:`3351`: start basic tests of ipcluster Launchers
682 * :ghpull:`3351`: start basic tests of ipcluster Launchers
683 * :ghpull:`3377`: allow class.__module__ to be None
683 * :ghpull:`3377`: allow class.__module__ to be None
684 * :ghpull:`3340`: skip submodule check in package managers
684 * :ghpull:`3340`: skip submodule check in package managers
685 * :ghpull:`3328`: decode subprocess output in launchers
685 * :ghpull:`3328`: decode subprocess output in launchers
686 * :ghpull:`3368`: Reenable bracket matching
686 * :ghpull:`3368`: Reenable bracket matching
687 * :ghpull:`3356`: Mpr fixes
687 * :ghpull:`3356`: Mpr fixes
688 * :ghpull:`3336`: Use new input transformation API in %time magic
688 * :ghpull:`3336`: Use new input transformation API in %time magic
689 * :ghpull:`3325`: Organize the JS and less files by component.
689 * :ghpull:`3325`: Organize the JS and less files by component.
690 * :ghpull:`3342`: fix test_find_cmd_python
690 * :ghpull:`3342`: fix test_find_cmd_python
691 * :ghpull:`3354`: catch socket.error in utils.localinterfaces
691 * :ghpull:`3354`: catch socket.error in utils.localinterfaces
692 * :ghpull:`3341`: fix default cluster count
692 * :ghpull:`3341`: fix default cluster count
693 * :ghpull:`3286`: don't use `get_ipython` from builtins in library code
693 * :ghpull:`3286`: don't use `get_ipython` from builtins in library code
694 * :ghpull:`3333`: notebookapp: add missing whitespace to warnings
694 * :ghpull:`3333`: notebookapp: add missing whitespace to warnings
695 * :ghpull:`3323`: Strip prompts even if the prompt isn't present on the first line.
695 * :ghpull:`3323`: Strip prompts even if the prompt isn't present on the first line.
696 * :ghpull:`3321`: Reorganize the python/server side of the notebook
696 * :ghpull:`3321`: Reorganize the python/server side of the notebook
697 * :ghpull:`3320`: define `__file__` in config files
697 * :ghpull:`3320`: define `__file__` in config files
698 * :ghpull:`3317`: rename `%%file` to `%%writefile`
698 * :ghpull:`3317`: rename `%%file` to `%%writefile`
699 * :ghpull:`3304`: set unlimited HWM for all relay devices
699 * :ghpull:`3304`: set unlimited HWM for all relay devices
700 * :ghpull:`3315`: Update Sympy_printing extension load
700 * :ghpull:`3315`: Update Sympy_printing extension load
701 * :ghpull:`3310`: further clarify Image docstring
701 * :ghpull:`3310`: further clarify Image docstring
702 * :ghpull:`3285`: load extensions in builtin trap
702 * :ghpull:`3285`: load extensions in builtin trap
703 * :ghpull:`3308`: Speed up AsyncResult._wait_for_outputs(0)
703 * :ghpull:`3308`: Speed up AsyncResult._wait_for_outputs(0)
704 * :ghpull:`3294`: fix callbacks as optional in js kernel.execute
704 * :ghpull:`3294`: fix callbacks as optional in js kernel.execute
705 * :ghpull:`3276`: Fix: "python ABS/PATH/TO/ipython.py" fails
705 * :ghpull:`3276`: Fix: "python ABS/PATH/TO/ipython.py" fails
706 * :ghpull:`3301`: allow python3 tests without python installed
706 * :ghpull:`3301`: allow python3 tests without python installed
707 * :ghpull:`3282`: allow view.map to work with a few more things
707 * :ghpull:`3282`: allow view.map to work with a few more things
708 * :ghpull:`3284`: remove `ipython.py` entry point
708 * :ghpull:`3284`: remove `ipython.py` entry point
709 * :ghpull:`3281`: fix ignored IOPub messages with no parent
709 * :ghpull:`3281`: fix ignored IOPub messages with no parent
710 * :ghpull:`3275`: improve submodule messages / git hooks
710 * :ghpull:`3275`: improve submodule messages / git hooks
711 * :ghpull:`3239`: Allow "x" icon and esc key to close pager in notebook
711 * :ghpull:`3239`: Allow "x" icon and esc key to close pager in notebook
712 * :ghpull:`3290`: Improved heartbeat controller to engine monitoring for long running tasks
712 * :ghpull:`3290`: Improved heartbeat controller to engine monitoring for long running tasks
713 * :ghpull:`3142`: Better error message when CWD doesn't exist on startup
713 * :ghpull:`3142`: Better error message when CWD doesn't exist on startup
714 * :ghpull:`3066`: Add support for relative import to %run -m (fixes #2727)
714 * :ghpull:`3066`: Add support for relative import to %run -m (fixes #2727)
715 * :ghpull:`3269`: protect highlight.js against unknown languages
715 * :ghpull:`3269`: protect highlight.js against unknown languages
716 * :ghpull:`3267`: add missing return
716 * :ghpull:`3267`: add missing return
717 * :ghpull:`3101`: use marked / highlight.js instead of pagedown and prettify
717 * :ghpull:`3101`: use marked / highlight.js instead of pagedown and prettify
718 * :ghpull:`3264`: use https url for submodule
718 * :ghpull:`3264`: use https url for submodule
719 * :ghpull:`3263`: fix set_last_checkpoint when no checkpoint
719 * :ghpull:`3263`: fix set_last_checkpoint when no checkpoint
720 * :ghpull:`3258`: Fix submodule location in setup.py
720 * :ghpull:`3258`: Fix submodule location in setup.py
721 * :ghpull:`3254`: fix a few URLs from previous PR
721 * :ghpull:`3254`: fix a few URLs from previous PR
722 * :ghpull:`3240`: remove js components from the repo
722 * :ghpull:`3240`: remove js components from the repo
723 * :ghpull:`3158`: IPEP 15: autosave the notebook
723 * :ghpull:`3158`: IPEP 15: autosave the notebook
724 * :ghpull:`3252`: move images out of _static folder into _images
724 * :ghpull:`3252`: move images out of _static folder into _images
725 * :ghpull:`3251`: Fix for cell magics in Qt console
725 * :ghpull:`3251`: Fix for cell magics in Qt console
726 * :ghpull:`3250`: Added a simple __html__() method to the HTML class
726 * :ghpull:`3250`: Added a simple __html__() method to the HTML class
727 * :ghpull:`3249`: remove copy of sphinx inheritance_diagram.py
727 * :ghpull:`3249`: remove copy of sphinx inheritance_diagram.py
728 * :ghpull:`3235`: Remove the unused print notebook view
728 * :ghpull:`3235`: Remove the unused print notebook view
729 * :ghpull:`3238`: Improve the design of the tab completion UI
729 * :ghpull:`3238`: Improve the design of the tab completion UI
730 * :ghpull:`3242`: Make changes of Application.log_format effective
730 * :ghpull:`3242`: Make changes of Application.log_format effective
731 * :ghpull:`3219`: Workaround so only one CTRL-C is required for a new prompt in --gui=qt
731 * :ghpull:`3219`: Workaround so only one CTRL-C is required for a new prompt in --gui=qt
732 * :ghpull:`3190`: allow formatters to specify metadata
732 * :ghpull:`3190`: allow formatters to specify metadata
733 * :ghpull:`3231`: improve discovery of public IPs
733 * :ghpull:`3231`: improve discovery of public IPs
734 * :ghpull:`3233`: check prefixes for swallowing kernel args
734 * :ghpull:`3233`: check prefixes for swallowing kernel args
735 * :ghpull:`3234`: Removing old autogrow JS code.
735 * :ghpull:`3234`: Removing old autogrow JS code.
736 * :ghpull:`3232`: Update to CodeMirror 3 and start to ship our components
736 * :ghpull:`3232`: Update to CodeMirror 3 and start to ship our components
737 * :ghpull:`3229`: The HTML output type accidentally got removed from the OutputArea.
737 * :ghpull:`3229`: The HTML output type accidentally got removed from the OutputArea.
738 * :ghpull:`3228`: Typo in IPython.Parallel documentation
738 * :ghpull:`3228`: Typo in IPython.Parallel documentation
739 * :ghpull:`3226`: Text in rename dialog was way too big - making it <p>.
739 * :ghpull:`3226`: Text in rename dialog was way too big - making it <p>.
740 * :ghpull:`3225`: Removing old restuctured text handler and web service.
740 * :ghpull:`3225`: Removing old restuctured text handler and web service.
741 * :ghpull:`3222`: make BlockingKernelClient the default Client
741 * :ghpull:`3222`: make BlockingKernelClient the default Client
742 * :ghpull:`3223`: add missing mathjax_url to new settings dict
742 * :ghpull:`3223`: add missing mathjax_url to new settings dict
743 * :ghpull:`3089`: add stdin to the notebook
743 * :ghpull:`3089`: add stdin to the notebook
744 * :ghpull:`3221`: Remove references to HTMLCell (dead code)
744 * :ghpull:`3221`: Remove references to HTMLCell (dead code)
745 * :ghpull:`3205`: add ignored ``*args`` to HasTraits constructor
745 * :ghpull:`3205`: add ignored ``*args`` to HasTraits constructor
746 * :ghpull:`3088`: cleanup IPython handler settings
746 * :ghpull:`3088`: cleanup IPython handler settings
747 * :ghpull:`3201`: use much faster regexp for ansi coloring
747 * :ghpull:`3201`: use much faster regexp for ansi coloring
748 * :ghpull:`3220`: avoid race condition in profile creation
748 * :ghpull:`3220`: avoid race condition in profile creation
749 * :ghpull:`3011`: IPEP 12: add KernelClient
749 * :ghpull:`3011`: IPEP 12: add KernelClient
750 * :ghpull:`3217`: informative error when trying to load directories
750 * :ghpull:`3217`: informative error when trying to load directories
751 * :ghpull:`3174`: Simple class
751 * :ghpull:`3174`: Simple class
752 * :ghpull:`2979`: CM configurable Take 2
752 * :ghpull:`2979`: CM configurable Take 2
753 * :ghpull:`3215`: Updates storemagic extension to allow for specifying variable name to load
753 * :ghpull:`3215`: Updates storemagic extension to allow for specifying variable name to load
754 * :ghpull:`3181`: backport If-Modified-Since fix from tornado
754 * :ghpull:`3181`: backport If-Modified-Since fix from tornado
755 * :ghpull:`3200`: IFrame (VimeoVideo, ScribdDocument, ...)
755 * :ghpull:`3200`: IFrame (VimeoVideo, ScribdDocument, ...)
756 * :ghpull:`3186`: Fix small inconsistency in nbconvert: etype -> ename
756 * :ghpull:`3186`: Fix small inconsistency in nbconvert: etype -> ename
757 * :ghpull:`3212`: Fix issue #2563, "core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation"
757 * :ghpull:`3212`: Fix issue #2563, "core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation"
758 * :ghpull:`3211`: Fix inheritance_diagram Sphinx extension for Sphinx 1.2
758 * :ghpull:`3211`: Fix inheritance_diagram Sphinx extension for Sphinx 1.2
759 * :ghpull:`3208`: Update link to extensions index
759 * :ghpull:`3208`: Update link to extensions index
760 * :ghpull:`3203`: Separate InputSplitter for transforming whole cells
760 * :ghpull:`3203`: Separate InputSplitter for transforming whole cells
761 * :ghpull:`3189`: Improve completer
761 * :ghpull:`3189`: Improve completer
762 * :ghpull:`3194`: finish up PR #3116
762 * :ghpull:`3194`: finish up PR #3116
763 * :ghpull:`3188`: Add new keycodes
763 * :ghpull:`3188`: Add new keycodes
764 * :ghpull:`2695`: Key the root modules cache by sys.path entries.
764 * :ghpull:`2695`: Key the root modules cache by sys.path entries.
765 * :ghpull:`3182`: clarify %%file docstring
765 * :ghpull:`3182`: clarify %%file docstring
766 * :ghpull:`3163`: BUG: Fix the set and frozenset pretty printer to handle the empty case correctly
766 * :ghpull:`3163`: BUG: Fix the set and frozenset pretty printer to handle the empty case correctly
767 * :ghpull:`3180`: better UsageError for cell magic with no body
767 * :ghpull:`3180`: better UsageError for cell magic with no body
768 * :ghpull:`3184`: Cython cache
768 * :ghpull:`3184`: Cython cache
769 * :ghpull:`3175`: Added missing s
769 * :ghpull:`3175`: Added missing s
770 * :ghpull:`3173`: Little bits of documentation cleanup
770 * :ghpull:`3173`: Little bits of documentation cleanup
771 * :ghpull:`2635`: Improve Windows start menu shortcuts (#2)
771 * :ghpull:`2635`: Improve Windows start menu shortcuts (#2)
772 * :ghpull:`3172`: Add missing import in IPython parallel magics example
772 * :ghpull:`3172`: Add missing import in IPython parallel magics example
773 * :ghpull:`3170`: default application logger shouldn't propagate
773 * :ghpull:`3170`: default application logger shouldn't propagate
774 * :ghpull:`3159`: Autocompletion for zsh
774 * :ghpull:`3159`: Autocompletion for zsh
775 * :ghpull:`3105`: move DEFAULT_STATIC_FILES_PATH to IPython.html
775 * :ghpull:`3105`: move DEFAULT_STATIC_FILES_PATH to IPython.html
776 * :ghpull:`3144`: minor bower tweaks
776 * :ghpull:`3144`: minor bower tweaks
777 * :ghpull:`3141`: Default color output for ls on OSX
777 * :ghpull:`3141`: Default color output for ls on OSX
778 * :ghpull:`3137`: fix dot syntax error in inheritance diagram
778 * :ghpull:`3137`: fix dot syntax error in inheritance diagram
779 * :ghpull:`3072`: raise UnsupportedOperation on iostream.fileno()
779 * :ghpull:`3072`: raise UnsupportedOperation on iostream.fileno()
780 * :ghpull:`3147`: Notebook support for a reverse proxy which handles SSL
780 * :ghpull:`3147`: Notebook support for a reverse proxy which handles SSL
781 * :ghpull:`3152`: make qtconsole size at startup configurable
781 * :ghpull:`3152`: make qtconsole size at startup configurable
782 * :ghpull:`3162`: adding stream kwarg to current.new_output
782 * :ghpull:`3162`: adding stream kwarg to current.new_output
783 * :ghpull:`2981`: IPEP 10: kernel side filtering of display formats
783 * :ghpull:`2981`: IPEP 10: kernel side filtering of display formats
784 * :ghpull:`3058`: add redirect handler for notebooks by name
784 * :ghpull:`3058`: add redirect handler for notebooks by name
785 * :ghpull:`3041`: support non-modules in @require
785 * :ghpull:`3041`: support non-modules in @require
786 * :ghpull:`2447`: Stateful line transformers
786 * :ghpull:`2447`: Stateful line transformers
787 * :ghpull:`3108`: fix some O(N) and O(N^2) operations in parallel.map
787 * :ghpull:`3108`: fix some O(N) and O(N^2) operations in parallel.map
788 * :ghpull:`2791`: forward stdout from forked processes
788 * :ghpull:`2791`: forward stdout from forked processes
789 * :ghpull:`3157`: use Python 3-style for pretty-printed sets
789 * :ghpull:`3157`: use Python 3-style for pretty-printed sets
790 * :ghpull:`3148`: closes #3045, #3123 for tornado < version 3.0
790 * :ghpull:`3148`: closes #3045, #3123 for tornado < version 3.0
791 * :ghpull:`3143`: minor heading-link tweaks
791 * :ghpull:`3143`: minor heading-link tweaks
792 * :ghpull:`3136`: Strip useless ANSI escape codes in notebook
792 * :ghpull:`3136`: Strip useless ANSI escape codes in notebook
793 * :ghpull:`3126`: Prevent errors when pressing arrow keys in an empty notebook
793 * :ghpull:`3126`: Prevent errors when pressing arrow keys in an empty notebook
794 * :ghpull:`3135`: quick dev installation instructions
794 * :ghpull:`3135`: quick dev installation instructions
795 * :ghpull:`2889`: Push pandas dataframes to R magic
795 * :ghpull:`2889`: Push pandas dataframes to R magic
796 * :ghpull:`3068`: Don't monkeypatch doctest during IPython startup.
796 * :ghpull:`3068`: Don't monkeypatch doctest during IPython startup.
797 * :ghpull:`3133`: fix argparse version check
797 * :ghpull:`3133`: fix argparse version check
798 * :ghpull:`3102`: set `spellcheck=false` in CodeCell inputarea
798 * :ghpull:`3102`: set `spellcheck=false` in CodeCell inputarea
799 * :ghpull:`3064`: add anchors to heading cells
799 * :ghpull:`3064`: add anchors to heading cells
800 * :ghpull:`3097`: PyQt 4.10: use self._document = self.document()
800 * :ghpull:`3097`: PyQt 4.10: use self._document = self.document()
801 * :ghpull:`3117`: propagate automagic change to shell
801 * :ghpull:`3117`: propagate automagic change to shell
802 * :ghpull:`3118`: don't give up on weird os names
802 * :ghpull:`3118`: don't give up on weird os names
803 * :ghpull:`3115`: Fix example
803 * :ghpull:`3115`: Fix example
804 * :ghpull:`2640`: fix quarantine/ipy_editors.py
804 * :ghpull:`2640`: fix quarantine/ipy_editors.py
805 * :ghpull:`3070`: Add info make target that was missing in old Sphinx
805 * :ghpull:`3070`: Add info make target that was missing in old Sphinx
806 * :ghpull:`3082`: A few small patches to image handling
806 * :ghpull:`3082`: A few small patches to image handling
807 * :ghpull:`3078`: fix regular expression for detecting links in stdout
807 * :ghpull:`3078`: fix regular expression for detecting links in stdout
808 * :ghpull:`3054`: restore default behavior for automatic cluster size
808 * :ghpull:`3054`: restore default behavior for automatic cluster size
809 * :ghpull:`3073`: fix ipython usage text
809 * :ghpull:`3073`: fix ipython usage text
810 * :ghpull:`3083`: fix DisplayMagics.html docstring
810 * :ghpull:`3083`: fix DisplayMagics.html docstring
811 * :ghpull:`3080`: noted sub_channel being renamed to iopub_channel
811 * :ghpull:`3080`: noted sub_channel being renamed to iopub_channel
812 * :ghpull:`3079`: actually use IPKernelApp.kernel_class
812 * :ghpull:`3079`: actually use IPKernelApp.kernel_class
813 * :ghpull:`3076`: Improve notebook.js documentation
813 * :ghpull:`3076`: Improve notebook.js documentation
814 * :ghpull:`3063`: add missing `%%html` magic
814 * :ghpull:`3063`: add missing `%%html` magic
815 * :ghpull:`3075`: check for SIGUSR1 before using it, closes #3074
815 * :ghpull:`3075`: check for SIGUSR1 before using it, closes #3074
816 * :ghpull:`3051`: add width:100% to vbox for webkit / FF consistency
816 * :ghpull:`3051`: add width:100% to vbox for webkit / FF consistency
817 * :ghpull:`2999`: increase registration timeout
817 * :ghpull:`2999`: increase registration timeout
818 * :ghpull:`2997`: fix DictDB default size limit
818 * :ghpull:`2997`: fix DictDB default size limit
819 * :ghpull:`3033`: on resume, print server info again
819 * :ghpull:`3033`: on resume, print server info again
820 * :ghpull:`3062`: test double pyximport
820 * :ghpull:`3062`: test double pyximport
821 * :ghpull:`3046`: cast kernel cwd to bytes on Python 2 on Windows
821 * :ghpull:`3046`: cast kernel cwd to bytes on Python 2 on Windows
822 * :ghpull:`3038`: remove xml from notebook magic docstrings
822 * :ghpull:`3038`: remove xml from notebook magic docstrings
823 * :ghpull:`3032`: fix time format to international time format
823 * :ghpull:`3032`: fix time format to international time format
824 * :ghpull:`3022`: Fix test for Windows
824 * :ghpull:`3022`: Fix test for Windows
825 * :ghpull:`3024`: changed instances of 'outout' to 'output' in alt texts
825 * :ghpull:`3024`: changed instances of 'outout' to 'output' in alt texts
826 * :ghpull:`3013`: py3 workaround for reload in cythonmagic
826 * :ghpull:`3013`: py3 workaround for reload in cythonmagic
827 * :ghpull:`2961`: time magic: shorten unnecessary output on windows
827 * :ghpull:`2961`: time magic: shorten unnecessary output on windows
828 * :ghpull:`2987`: fix local files examples in markdown
828 * :ghpull:`2987`: fix local files examples in markdown
829 * :ghpull:`2998`: fix css in .output_area pre
829 * :ghpull:`2998`: fix css in .output_area pre
830 * :ghpull:`3003`: add $include /etc/inputrc to suggested ~/.inputrc
830 * :ghpull:`3003`: add $include /etc/inputrc to suggested ~/.inputrc
831 * :ghpull:`2957`: Refactor qt import logic. Fixes #2955
831 * :ghpull:`2957`: Refactor qt import logic. Fixes #2955
832 * :ghpull:`2994`: expanduser on %%file targets
832 * :ghpull:`2994`: expanduser on %%file targets
833 * :ghpull:`2983`: fix run-all (that-> this)
833 * :ghpull:`2983`: fix run-all (that-> this)
834 * :ghpull:`2964`: fix count when testing composite error output
834 * :ghpull:`2964`: fix count when testing composite error output
835 * :ghpull:`2967`: shows entire session history when only startsess is given
835 * :ghpull:`2967`: shows entire session history when only startsess is given
836 * :ghpull:`2942`: Move CM IPython theme out of codemirror folder
836 * :ghpull:`2942`: Move CM IPython theme out of codemirror folder
837 * :ghpull:`2929`: Cleanup cell insertion
837 * :ghpull:`2929`: Cleanup cell insertion
838 * :ghpull:`2933`: Minordocupdate
838 * :ghpull:`2933`: Minordocupdate
839 * :ghpull:`2968`: fix notebook deletion.
839 * :ghpull:`2968`: fix notebook deletion.
840 * :ghpull:`2966`: Added assert msg to extract_hist_ranges()
840 * :ghpull:`2966`: Added assert msg to extract_hist_ranges()
841 * :ghpull:`2959`: Add command to trim the history database.
841 * :ghpull:`2959`: Add command to trim the history database.
842 * :ghpull:`2681`: Don't enable pylab mode, when matplotlib is not importable
842 * :ghpull:`2681`: Don't enable pylab mode, when matplotlib is not importable
843 * :ghpull:`2901`: Fix inputhook_wx on osx
843 * :ghpull:`2901`: Fix inputhook_wx on osx
844 * :ghpull:`2871`: truncate potentially long CompositeErrors
844 * :ghpull:`2871`: truncate potentially long CompositeErrors
845 * :ghpull:`2951`: use istype on lists/tuples
845 * :ghpull:`2951`: use istype on lists/tuples
846 * :ghpull:`2946`: fix qtconsole history logic for end-of-line
846 * :ghpull:`2946`: fix qtconsole history logic for end-of-line
847 * :ghpull:`2954`: fix logic for append_javascript
847 * :ghpull:`2954`: fix logic for append_javascript
848 * :ghpull:`2941`: fix baseUrl
848 * :ghpull:`2941`: fix baseUrl
849 * :ghpull:`2903`: Specify toggle value on cell line number
849 * :ghpull:`2903`: Specify toggle value on cell line number
850 * :ghpull:`2911`: display order in output area configurable
850 * :ghpull:`2911`: display order in output area configurable
851 * :ghpull:`2897`: Don't rely on BaseProjectUrl data in body tag
851 * :ghpull:`2897`: Don't rely on BaseProjectUrl data in body tag
852 * :ghpull:`2894`: Cm configurable
852 * :ghpull:`2894`: Cm configurable
853 * :ghpull:`2927`: next release will be 1.0
853 * :ghpull:`2927`: next release will be 1.0
854 * :ghpull:`2932`: Simplify using notebook static files from external code
854 * :ghpull:`2932`: Simplify using notebook static files from external code
855 * :ghpull:`2915`: added small config section to notebook docs page
855 * :ghpull:`2915`: added small config section to notebook docs page
856 * :ghpull:`2924`: safe_run_module: Silence SystemExit codes 0 and None.
856 * :ghpull:`2924`: safe_run_module: Silence SystemExit codes 0 and None.
857 * :ghpull:`2906`: Unpatch/Monkey patch CM
857 * :ghpull:`2906`: Unpatch/Monkey patch CM
858 * :ghpull:`2921`: add menu item for undo delete cell
858 * :ghpull:`2921`: add menu item for undo delete cell
859 * :ghpull:`2917`: Don't add logging handler if one already exists.
859 * :ghpull:`2917`: Don't add logging handler if one already exists.
860 * :ghpull:`2910`: Respect DB_IP and DB_PORT in mongodb tests
860 * :ghpull:`2910`: Respect DB_IP and DB_PORT in mongodb tests
861 * :ghpull:`2926`: Don't die if stderr/stdout do not support set_parent() #2925
861 * :ghpull:`2926`: Don't die if stderr/stdout do not support set_parent() #2925
862 * :ghpull:`2885`: get monospace pager back
862 * :ghpull:`2885`: get monospace pager back
863 * :ghpull:`2876`: fix celltoolbar layout on FF
863 * :ghpull:`2876`: fix celltoolbar layout on FF
864 * :ghpull:`2904`: Skip remaining IPC test on Windows
864 * :ghpull:`2904`: Skip remaining IPC test on Windows
865 * :ghpull:`2908`: fix last remaining KernelApp reference
865 * :ghpull:`2908`: fix last remaining KernelApp reference
866 * :ghpull:`2905`: fix a few remaining KernelApp/IPKernelApp changes
866 * :ghpull:`2905`: fix a few remaining KernelApp/IPKernelApp changes
867 * :ghpull:`2900`: Don't assume test case for %time will finish in 0 time
867 * :ghpull:`2900`: Don't assume test case for %time will finish in 0 time
868 * :ghpull:`2893`: exclude fabfile from tests
868 * :ghpull:`2893`: exclude fabfile from tests
869 * :ghpull:`2884`: Correct import for kernelmanager on Windows
869 * :ghpull:`2884`: Correct import for kernelmanager on Windows
870 * :ghpull:`2882`: Utils cleanup
870 * :ghpull:`2882`: Utils cleanup
871 * :ghpull:`2883`: Don't call ast.fix_missing_locations unless the AST could have been modified
871 * :ghpull:`2883`: Don't call ast.fix_missing_locations unless the AST could have been modified
872 * :ghpull:`2855`: time(it) magic: Implement minutes/hour formatting and "%%time" cell magic
872 * :ghpull:`2855`: time(it) magic: Implement minutes/hour formatting and "%%time" cell magic
873 * :ghpull:`2874`: Empty cell warnings
873 * :ghpull:`2874`: Empty cell warnings
874 * :ghpull:`2819`: tweak history prefix search (up/^p) in qtconsole
874 * :ghpull:`2819`: tweak history prefix search (up/^p) in qtconsole
875 * :ghpull:`2868`: Import performance
875 * :ghpull:`2868`: Import performance
876 * :ghpull:`2877`: minor css fixes
876 * :ghpull:`2877`: minor css fixes
877 * :ghpull:`2880`: update examples docs with kernel move
877 * :ghpull:`2880`: update examples docs with kernel move
878 * :ghpull:`2878`: Pass host environment on to kernel
878 * :ghpull:`2878`: Pass host environment on to kernel
879 * :ghpull:`2599`: func_kw_complete for builtin and cython with embededsignature=True using docstring
879 * :ghpull:`2599`: func_kw_complete for builtin and cython with embededsignature=True using docstring
880 * :ghpull:`2792`: Add key "unique" to history_request protocol
880 * :ghpull:`2792`: Add key "unique" to history_request protocol
881 * :ghpull:`2872`: fix payload keys
881 * :ghpull:`2872`: fix payload keys
882 * :ghpull:`2869`: Fixing styling of toolbar selects on FF.
882 * :ghpull:`2869`: Fixing styling of toolbar selects on FF.
883 * :ghpull:`2708`: Less css
883 * :ghpull:`2708`: Less css
884 * :ghpull:`2854`: Move kernel code into IPython.kernel
884 * :ghpull:`2854`: Move kernel code into IPython.kernel
885 * :ghpull:`2864`: Fix %run -t -N<N> TypeError
885 * :ghpull:`2864`: Fix %run -t -N<N> TypeError
886 * :ghpull:`2852`: future pyzmq compatibility
886 * :ghpull:`2852`: future pyzmq compatibility
887 * :ghpull:`2863`: whatsnew/version0.9.txt: Fix '~./ipython' -> '~/.ipython' typo
887 * :ghpull:`2863`: whatsnew/version0.9.txt: Fix '~./ipython' -> '~/.ipython' typo
888 * :ghpull:`2861`: add missing KernelManager to ConsoleApp class list
888 * :ghpull:`2861`: add missing KernelManager to ConsoleApp class list
889 * :ghpull:`2850`: Consolidate host IP detection in utils.localinterfaces
889 * :ghpull:`2850`: Consolidate host IP detection in utils.localinterfaces
890 * :ghpull:`2859`: Correct docstring of ipython.py
890 * :ghpull:`2859`: Correct docstring of ipython.py
891 * :ghpull:`2831`: avoid string version comparisons in external.qt
891 * :ghpull:`2831`: avoid string version comparisons in external.qt
892 * :ghpull:`2844`: this should address the failure in #2732
892 * :ghpull:`2844`: this should address the failure in #2732
893 * :ghpull:`2849`: utils/data: Use list comprehension for uniq_stable()
893 * :ghpull:`2849`: utils/data: Use list comprehension for uniq_stable()
894 * :ghpull:`2839`: add jinja to install docs / setup.py
894 * :ghpull:`2839`: add jinja to install docs / setup.py
895 * :ghpull:`2841`: Miscellaneous docs fixes
895 * :ghpull:`2841`: Miscellaneous docs fixes
896 * :ghpull:`2811`: Still more KernelManager cleanup
896 * :ghpull:`2811`: Still more KernelManager cleanup
897 * :ghpull:`2820`: add '=' to greedy completer delims
897 * :ghpull:`2820`: add '=' to greedy completer delims
898 * :ghpull:`2818`: log user tracebacks in the kernel (INFO-level)
898 * :ghpull:`2818`: log user tracebacks in the kernel (INFO-level)
899 * :ghpull:`2828`: Clean up notebook Javascript
899 * :ghpull:`2828`: Clean up notebook Javascript
900 * :ghpull:`2829`: avoid comparison error in dictdb hub history
900 * :ghpull:`2829`: avoid comparison error in dictdb hub history
901 * :ghpull:`2830`: BUG: Opening parenthesis after non-callable raises ValueError
901 * :ghpull:`2830`: BUG: Opening parenthesis after non-callable raises ValueError
902 * :ghpull:`2718`: try to fallback to pysqlite2.dbapi2 as sqlite3 in core.history
902 * :ghpull:`2718`: try to fallback to pysqlite2.dbapi2 as sqlite3 in core.history
903 * :ghpull:`2816`: in %edit, don't save "last_call" unless last call succeeded
903 * :ghpull:`2816`: in %edit, don't save "last_call" unless last call succeeded
904 * :ghpull:`2817`: change ol format order
904 * :ghpull:`2817`: change ol format order
905 * :ghpull:`2537`: Organize example notebooks
905 * :ghpull:`2537`: Organize example notebooks
906 * :ghpull:`2815`: update release/authors
906 * :ghpull:`2815`: update release/authors
907 * :ghpull:`2808`: improve patience for slow Hub in client tests
907 * :ghpull:`2808`: improve patience for slow Hub in client tests
908 * :ghpull:`2812`: remove nonfunctional `-la` short arg in cython magic
908 * :ghpull:`2812`: remove nonfunctional `-la` short arg in cython magic
909 * :ghpull:`2810`: remove dead utils.upgradedir
909 * :ghpull:`2810`: remove dead utils.upgradedir
910 * :ghpull:`1671`: __future__ environments
910 * :ghpull:`1671`: __future__ environments
911 * :ghpull:`2804`: skip ipc tests on Windows
911 * :ghpull:`2804`: skip ipc tests on Windows
912 * :ghpull:`2789`: Fixing styling issues with CellToolbar.
912 * :ghpull:`2789`: Fixing styling issues with CellToolbar.
913 * :ghpull:`2805`: fix KeyError creating ZMQStreams in notebook
913 * :ghpull:`2805`: fix KeyError creating ZMQStreams in notebook
914 * :ghpull:`2775`: General cleanup of kernel manager code.
914 * :ghpull:`2775`: General cleanup of kernel manager code.
915 * :ghpull:`2340`: Initial Code to reduce parallel.Client caching
915 * :ghpull:`2340`: Initial Code to reduce parallel.Client caching
916 * :ghpull:`2799`: Exit code
916 * :ghpull:`2799`: Exit code
917 * :ghpull:`2800`: use `type(obj) is cls` as switch when canning
917 * :ghpull:`2800`: use `type(obj) is cls` as switch when canning
918 * :ghpull:`2801`: Fix a breakpoint bug
918 * :ghpull:`2801`: Fix a breakpoint bug
919 * :ghpull:`2795`: Remove outdated code from extensions.autoreload
919 * :ghpull:`2795`: Remove outdated code from extensions.autoreload
920 * :ghpull:`2796`: P3K: fix cookie parsing under Python 3.x (+ duplicate import is removed)
920 * :ghpull:`2796`: P3K: fix cookie parsing under Python 3.x (+ duplicate import is removed)
921 * :ghpull:`2724`: In-process kernel support (take 3)
921 * :ghpull:`2724`: In-process kernel support (take 3)
922 * :ghpull:`2687`: [WIP] Metaui slideshow
922 * :ghpull:`2687`: [WIP] Metaui slideshow
923 * :ghpull:`2788`: Chrome frame awareness
923 * :ghpull:`2788`: Chrome frame awareness
924 * :ghpull:`2649`: Add version_request/reply messaging protocol
924 * :ghpull:`2649`: Add version_request/reply messaging protocol
925 * :ghpull:`2753`: add `%%px --local` for local execution
925 * :ghpull:`2753`: add `%%px --local` for local execution
926 * :ghpull:`2783`: Prefilter shouldn't touch execution_count
926 * :ghpull:`2783`: Prefilter shouldn't touch execution_count
927 * :ghpull:`2333`: UI For Metadata
927 * :ghpull:`2333`: UI For Metadata
928 * :ghpull:`2396`: create a ipynbv3 json schema and a validator
928 * :ghpull:`2396`: create a ipynbv3 json schema and a validator
929 * :ghpull:`2757`: check for complete pyside presence before trying to import
929 * :ghpull:`2757`: check for complete pyside presence before trying to import
930 * :ghpull:`2782`: Allow the %run magic with '-b' to specify a file.
930 * :ghpull:`2782`: Allow the %run magic with '-b' to specify a file.
931 * :ghpull:`2778`: P3K: fix DeprecationWarning under Python 3.x
931 * :ghpull:`2778`: P3K: fix DeprecationWarning under Python 3.x
932 * :ghpull:`2776`: remove non-functional View.kill method
932 * :ghpull:`2776`: remove non-functional View.kill method
933 * :ghpull:`2755`: can interactively defined classes
933 * :ghpull:`2755`: can interactively defined classes
934 * :ghpull:`2774`: Removing unused code in the notebook MappingKernelManager.
934 * :ghpull:`2774`: Removing unused code in the notebook MappingKernelManager.
935 * :ghpull:`2773`: Fixed minor typo causing AttributeError to be thrown.
935 * :ghpull:`2773`: Fixed minor typo causing AttributeError to be thrown.
936 * :ghpull:`2609`: Add 'unique' option to history_request messaging protocol
936 * :ghpull:`2609`: Add 'unique' option to history_request messaging protocol
937 * :ghpull:`2769`: Allow shutdown when no engines are registered
937 * :ghpull:`2769`: Allow shutdown when no engines are registered
938 * :ghpull:`2766`: Define __file__ when we %edit a real file.
938 * :ghpull:`2766`: Define __file__ when we %edit a real file.
939 * :ghpull:`2476`: allow %edit <variable> to work when interactively defined
939 * :ghpull:`2476`: allow %edit <variable> to work when interactively defined
940 * :ghpull:`2763`: Reset readline delimiters after loading rmagic.
940 * :ghpull:`2763`: Reset readline delimiters after loading rmagic.
941 * :ghpull:`2460`: Better handling of `__file__` when running scripts.
941 * :ghpull:`2460`: Better handling of `__file__` when running scripts.
942 * :ghpull:`2617`: Fix for `units` argument. Adds a `res` argument.
942 * :ghpull:`2617`: Fix for `units` argument. Adds a `res` argument.
943 * :ghpull:`2738`: Unicode content crashes the pager (console)
943 * :ghpull:`2738`: Unicode content crashes the pager (console)
944 * :ghpull:`2749`: Tell Travis CI to test on Python 3.3 as well
944 * :ghpull:`2749`: Tell Travis CI to test on Python 3.3 as well
945 * :ghpull:`2744`: Don't show 'try %paste' message while using magics
945 * :ghpull:`2744`: Don't show 'try %paste' message while using magics
946 * :ghpull:`2728`: shift tab for tooltip
946 * :ghpull:`2728`: shift tab for tooltip
947 * :ghpull:`2741`: Add note to `%cython` Black-Scholes example warning of missing erf.
947 * :ghpull:`2741`: Add note to `%cython` Black-Scholes example warning of missing erf.
948 * :ghpull:`2743`: BUG: Octavemagic inline plots not working on Windows: Fixed
948 * :ghpull:`2743`: BUG: Octavemagic inline plots not working on Windows: Fixed
949 * :ghpull:`2740`: Following #2737 this error is now a name error
949 * :ghpull:`2740`: Following #2737 this error is now a name error
950 * :ghpull:`2737`: Rmagic: error message when moving an non-existant variable from python to R
950 * :ghpull:`2737`: Rmagic: error message when moving an non-existant variable from python to R
951 * :ghpull:`2723`: diverse fixes for project url
951 * :ghpull:`2723`: diverse fixes for project url
952 * :ghpull:`2731`: %Rpush: Look for variables in the local scope first.
952 * :ghpull:`2731`: %Rpush: Look for variables in the local scope first.
953 * :ghpull:`2544`: Infinite loop when multiple debuggers have been attached.
953 * :ghpull:`2544`: Infinite loop when multiple debuggers have been attached.
954 * :ghpull:`2726`: Add qthelp docs creation
954 * :ghpull:`2726`: Add qthelp docs creation
955 * :ghpull:`2730`: added blockquote CSS
955 * :ghpull:`2730`: added blockquote CSS
956 * :ghpull:`2729`: Fix Read the doc build, Again
956 * :ghpull:`2729`: Fix Read the doc build, Again
957 * :ghpull:`2446`: [alternate 2267] Offline mathjax
957 * :ghpull:`2446`: [alternate 2267] Offline mathjax
958 * :ghpull:`2716`: remove unexisting headings level
958 * :ghpull:`2716`: remove unexisting headings level
959 * :ghpull:`2717`: One liner to fix debugger printing stack traces when lines of context are larger than source.
959 * :ghpull:`2717`: One liner to fix debugger printing stack traces when lines of context are larger than source.
960 * :ghpull:`2713`: Doc bugfix: user_ns is not an attribute of Magic objects.
960 * :ghpull:`2713`: Doc bugfix: user_ns is not an attribute of Magic objects.
961 * :ghpull:`2690`: Fix 'import '... completion for py3 & egg files.
961 * :ghpull:`2690`: Fix 'import '... completion for py3 & egg files.
962 * :ghpull:`2691`: Document OpenMP in %%cython magic
962 * :ghpull:`2691`: Document OpenMP in %%cython magic
963 * :ghpull:`2699`: fix jinja2 rendering for password protected notebooks
963 * :ghpull:`2699`: fix jinja2 rendering for password protected notebooks
964 * :ghpull:`2700`: Skip notebook testing if jinja2 is not available.
964 * :ghpull:`2700`: Skip notebook testing if jinja2 is not available.
965 * :ghpull:`2692`: Add %%cython magics to generated documentation.
965 * :ghpull:`2692`: Add %%cython magics to generated documentation.
966 * :ghpull:`2685`: Fix pretty print of types when `__module__` is not available.
966 * :ghpull:`2685`: Fix pretty print of types when `__module__` is not available.
967 * :ghpull:`2686`: Fix tox.ini
967 * :ghpull:`2686`: Fix tox.ini
968 * :ghpull:`2604`: Backslashes are misinterpreted as escape-sequences by the R-interpreter.
968 * :ghpull:`2604`: Backslashes are misinterpreted as escape-sequences by the R-interpreter.
969 * :ghpull:`2689`: fix error in doc (arg->kwarg) and pep-8
969 * :ghpull:`2689`: fix error in doc (arg->kwarg) and pep-8
970 * :ghpull:`2683`: for downloads, replaced window.open with window.location.assign
970 * :ghpull:`2683`: for downloads, replaced window.open with window.location.assign
971 * :ghpull:`2659`: small bugs in js are fixed
971 * :ghpull:`2659`: small bugs in js are fixed
972 * :ghpull:`2363`: Refactor notebook templates to use Jinja2
972 * :ghpull:`2363`: Refactor notebook templates to use Jinja2
973 * :ghpull:`2662`: qtconsole: wrap argument list in tooltip to match width of text body
973 * :ghpull:`2662`: qtconsole: wrap argument list in tooltip to match width of text body
974 * :ghpull:`2328`: addition of classes to generate a link or list of links from files local to the IPython HTML notebook
974 * :ghpull:`2328`: addition of classes to generate a link or list of links from files local to the IPython HTML notebook
975 * :ghpull:`2668`: pylab_not_importable: Catch all exceptions, not just RuntimeErrors.
975 * :ghpull:`2668`: pylab_not_importable: Catch all exceptions, not just RuntimeErrors.
976 * :ghpull:`2663`: Fix issue #2660: parsing of help and version arguments
976 * :ghpull:`2663`: Fix issue #2660: parsing of help and version arguments
977 * :ghpull:`2656`: Fix irunner tests when $PYTHONSTARTUP is set
977 * :ghpull:`2656`: Fix irunner tests when $PYTHONSTARTUP is set
978 * :ghpull:`2312`: Add bracket matching to code cells in notebook
978 * :ghpull:`2312`: Add bracket matching to code cells in notebook
979 * :ghpull:`2571`: Start to document Javascript
979 * :ghpull:`2571`: Start to document Javascript
980 * :ghpull:`2641`: undefinied that -> this
980 * :ghpull:`2641`: undefinied that -> this
981 * :ghpull:`2638`: Fix %paste in Python 3 on Mac
981 * :ghpull:`2638`: Fix %paste in Python 3 on Mac
982 * :ghpull:`2301`: Ast transfomers
982 * :ghpull:`2301`: Ast transfomers
983 * :ghpull:`2616`: Revamp API docs
983 * :ghpull:`2616`: Revamp API docs
984 * :ghpull:`2572`: Make 'Paste Above' the default paste behavior.
984 * :ghpull:`2572`: Make 'Paste Above' the default paste behavior.
985 * :ghpull:`2574`: Fix #2244
985 * :ghpull:`2574`: Fix #2244
986 * :ghpull:`2582`: Fix displaying history when output cache is disabled.
986 * :ghpull:`2582`: Fix displaying history when output cache is disabled.
987 * :ghpull:`2591`: Fix for Issue #2584
987 * :ghpull:`2591`: Fix for Issue #2584
988 * :ghpull:`2526`: Don't kill paramiko tunnels when receiving ^C
988 * :ghpull:`2526`: Don't kill paramiko tunnels when receiving ^C
989 * :ghpull:`2559`: Add psource, pfile, pinfo2 commands to ipdb.
989 * :ghpull:`2559`: Add psource, pfile, pinfo2 commands to ipdb.
990 * :ghpull:`2546`: use 4 Pythons to build 4 Windows installers
990 * :ghpull:`2546`: use 4 Pythons to build 4 Windows installers
991 * :ghpull:`2561`: Fix display of plain text containing multiple carriage returns before line feed
991 * :ghpull:`2561`: Fix display of plain text containing multiple carriage returns before line feed
992 * :ghpull:`2549`: Add a simple 'undo' for cell deletion.
992 * :ghpull:`2549`: Add a simple 'undo' for cell deletion.
993 * :ghpull:`2525`: Add event to kernel execution/shell reply.
993 * :ghpull:`2525`: Add event to kernel execution/shell reply.
994 * :ghpull:`2554`: Avoid stopping in ipdb until we reach the main script.
994 * :ghpull:`2554`: Avoid stopping in ipdb until we reach the main script.
995 * :ghpull:`2404`: Option to limit search result in history magic command
995 * :ghpull:`2404`: Option to limit search result in history magic command
996 * :ghpull:`2294`: inputhook_qt4: Use QEventLoop instead of starting up the QCoreApplication
996 * :ghpull:`2294`: inputhook_qt4: Use QEventLoop instead of starting up the QCoreApplication
997 * :ghpull:`2233`: Refactored Drag and Drop Support in Qt Console
997 * :ghpull:`2233`: Refactored Drag and Drop Support in Qt Console
998 * :ghpull:`1747`: switch between hsplit and vsplit paging (request for feedback)
998 * :ghpull:`1747`: switch between hsplit and vsplit paging (request for feedback)
999 * :ghpull:`2530`: Adding time offsets to the video
999 * :ghpull:`2530`: Adding time offsets to the video
1000 * :ghpull:`2542`: Allow starting IPython as `python -m IPython`.
1000 * :ghpull:`2542`: Allow starting IPython as `python -m IPython`.
1001 * :ghpull:`2534`: Do not unescape backslashes in Windows (shellglob)
1001 * :ghpull:`2534`: Do not unescape backslashes in Windows (shellglob)
1002 * :ghpull:`2517`: Improved MathJax, bug fixes
1002 * :ghpull:`2517`: Improved MathJax, bug fixes
1003 * :ghpull:`2511`: trigger default remote_profile_dir when profile_dir is set
1003 * :ghpull:`2511`: trigger default remote_profile_dir when profile_dir is set
1004 * :ghpull:`2491`: color is supported in ironpython
1004 * :ghpull:`2491`: color is supported in ironpython
1005 * :ghpull:`2462`: Track which extensions are loaded
1005 * :ghpull:`2462`: Track which extensions are loaded
1006 * :ghpull:`2464`: Locate URLs in text output and convert them to hyperlinks.
1006 * :ghpull:`2464`: Locate URLs in text output and convert them to hyperlinks.
1007 * :ghpull:`2490`: add ZMQInteractiveShell to IPEngineApp class list
1007 * :ghpull:`2490`: add ZMQInteractiveShell to IPEngineApp class list
1008 * :ghpull:`2498`: Don't catch tab press when something selected
1008 * :ghpull:`2498`: Don't catch tab press when something selected
1009 * :ghpull:`2527`: Run All Above and Run All Below
1009 * :ghpull:`2527`: Run All Above and Run All Below
1010 * :ghpull:`2513`: add GitHub uploads to release script
1010 * :ghpull:`2513`: add GitHub uploads to release script
1011 * :ghpull:`2529`: Windows aware tests for shellglob
1011 * :ghpull:`2529`: Windows aware tests for shellglob
1012 * :ghpull:`2478`: Fix doctest_run_option_parser for Windows
1012 * :ghpull:`2478`: Fix doctest_run_option_parser for Windows
1013 * :ghpull:`2519`: clear In[ ] prompt numbers again
1013 * :ghpull:`2519`: clear In[ ] prompt numbers again
1014 * :ghpull:`2467`: Clickable links
1014 * :ghpull:`2467`: Clickable links
1015 * :ghpull:`2500`: Add `encoding` attribute to `OutStream` class.
1015 * :ghpull:`2500`: Add `encoding` attribute to `OutStream` class.
1016 * :ghpull:`2349`: ENH: added StackExchange-style MathJax filtering
1016 * :ghpull:`2349`: ENH: added StackExchange-style MathJax filtering
1017 * :ghpull:`2503`: Fix traceback handling of SyntaxErrors without line numbers.
1017 * :ghpull:`2503`: Fix traceback handling of SyntaxErrors without line numbers.
1018 * :ghpull:`2492`: add missing 'qtconsole' extras_require
1018 * :ghpull:`2492`: add missing 'qtconsole' extras_require
1019 * :ghpull:`2480`: Add deprecation warnings for sympyprinting
1019 * :ghpull:`2480`: Add deprecation warnings for sympyprinting
1020 * :ghpull:`2334`: Make the ipengine monitor the ipcontroller heartbeat and die if the ipcontroller goes down
1020 * :ghpull:`2334`: Make the ipengine monitor the ipcontroller heartbeat and die if the ipcontroller goes down
1021 * :ghpull:`2479`: use new _winapi instead of removed _subprocess
1021 * :ghpull:`2479`: use new _winapi instead of removed _subprocess
1022 * :ghpull:`2474`: fix bootstrap name conflicts
1022 * :ghpull:`2474`: fix bootstrap name conflicts
1023 * :ghpull:`2469`: Treat __init__.pyc same as __init__.py in module_list
1023 * :ghpull:`2469`: Treat __init__.pyc same as __init__.py in module_list
1024 * :ghpull:`2165`: Add -g option to %run to glob expand arguments
1024 * :ghpull:`2165`: Add -g option to %run to glob expand arguments
1025 * :ghpull:`2468`: Tell git to ignore __pycache__ directories.
1025 * :ghpull:`2468`: Tell git to ignore __pycache__ directories.
1026 * :ghpull:`2421`: Some notebook tweaks.
1026 * :ghpull:`2421`: Some notebook tweaks.
1027 * :ghpull:`2291`: Remove old plugin system
1027 * :ghpull:`2291`: Remove old plugin system
1028 * :ghpull:`2127`: Ability to build toolbar in JS
1028 * :ghpull:`2127`: Ability to build toolbar in JS
1029 * :ghpull:`2445`: changes for ironpython
1029 * :ghpull:`2445`: changes for ironpython
1030 * :ghpull:`2420`: Pass ipython_dir to __init__() method of TerminalInteractiveShell's superclass.
1030 * :ghpull:`2420`: Pass ipython_dir to __init__() method of TerminalInteractiveShell's superclass.
1031 * :ghpull:`2432`: Revert #1831, the `__file__` injection in safe_execfile / safe_execfile_ipy.
1031 * :ghpull:`2432`: Revert #1831, the `__file__` injection in safe_execfile / safe_execfile_ipy.
1032 * :ghpull:`2216`: Autochange highlight with cell magics
1032 * :ghpull:`2216`: Autochange highlight with cell magics
1033 * :ghpull:`1946`: Add image message handler in ZMQTerminalInteractiveShell
1033 * :ghpull:`1946`: Add image message handler in ZMQTerminalInteractiveShell
1034 * :ghpull:`2424`: skip find_cmd when setting up script magics
1034 * :ghpull:`2424`: skip find_cmd when setting up script magics
1035 * :ghpull:`2389`: Catch sqlite DatabaseErrors in more places when reading the history database
1035 * :ghpull:`2389`: Catch sqlite DatabaseErrors in more places when reading the history database
1036 * :ghpull:`2395`: Don't catch ImportError when trying to unpack module functions
1036 * :ghpull:`2395`: Don't catch ImportError when trying to unpack module functions
1037 * :ghpull:`1868`: enable IPC transport for kernels
1037 * :ghpull:`1868`: enable IPC transport for kernels
1038 * :ghpull:`2437`: don't let log cleanup prevent engine start
1038 * :ghpull:`2437`: don't let log cleanup prevent engine start
1039 * :ghpull:`2441`: `sys.maxsize` is the maximum length of a container.
1039 * :ghpull:`2441`: `sys.maxsize` is the maximum length of a container.
1040 * :ghpull:`2442`: allow iptest to be interrupted
1040 * :ghpull:`2442`: allow iptest to be interrupted
1041 * :ghpull:`2240`: fix message built for engine dying during task
1041 * :ghpull:`2240`: fix message built for engine dying during task
1042 * :ghpull:`2369`: Block until kernel termination after sending a kill signal
1042 * :ghpull:`2369`: Block until kernel termination after sending a kill signal
1043 * :ghpull:`2439`: Py3k: Octal (0777 -> 0o777)
1043 * :ghpull:`2439`: Py3k: Octal (0777 -> 0o777)
1044 * :ghpull:`2326`: Detachable pager in notebook.
1044 * :ghpull:`2326`: Detachable pager in notebook.
1045 * :ghpull:`2377`: Fix installation of man pages in Python 3
1045 * :ghpull:`2377`: Fix installation of man pages in Python 3
1046 * :ghpull:`2407`: add IPython version to message headers
1046 * :ghpull:`2407`: add IPython version to message headers
1047 * :ghpull:`2408`: Fix Issue #2366
1047 * :ghpull:`2408`: Fix Issue #2366
1048 * :ghpull:`2405`: clarify TaskScheduler.hwm doc
1048 * :ghpull:`2405`: clarify TaskScheduler.hwm doc
1049 * :ghpull:`2399`: IndentationError display
1049 * :ghpull:`2399`: IndentationError display
1050 * :ghpull:`2400`: Add scroll_to_cell(cell_number) to the notebook
1050 * :ghpull:`2400`: Add scroll_to_cell(cell_number) to the notebook
1051 * :ghpull:`2401`: unmock read-the-docs modules
1051 * :ghpull:`2401`: unmock read-the-docs modules
1052 * :ghpull:`2311`: always perform requested trait assignments
1052 * :ghpull:`2311`: always perform requested trait assignments
1053 * :ghpull:`2393`: New option `n` to limit history search hits
1053 * :ghpull:`2393`: New option `n` to limit history search hits
1054 * :ghpull:`2386`: Adapt inline backend to changes in matplotlib
1054 * :ghpull:`2386`: Adapt inline backend to changes in matplotlib
1055 * :ghpull:`2392`: Remove suspicious double quote
1055 * :ghpull:`2392`: Remove suspicious double quote
1056 * :ghpull:`2387`: Added -L library search path to cythonmagic cell magic
1056 * :ghpull:`2387`: Added -L library search path to cythonmagic cell magic
1057 * :ghpull:`2370`: qtconsole: Create a prompt newline by inserting a new block (w/o formatting)
1057 * :ghpull:`2370`: qtconsole: Create a prompt newline by inserting a new block (w/o formatting)
1058 * :ghpull:`1715`: Fix for #1688, traceback-unicode issue
1058 * :ghpull:`1715`: Fix for #1688, traceback-unicode issue
1059 * :ghpull:`2378`: use Singleton.instance() for embed() instead of manual global
1059 * :ghpull:`2378`: use Singleton.instance() for embed() instead of manual global
1060 * :ghpull:`2373`: fix missing imports in core.interactiveshell
1060 * :ghpull:`2373`: fix missing imports in core.interactiveshell
1061 * :ghpull:`2368`: remove notification widget leftover
1061 * :ghpull:`2368`: remove notification widget leftover
1062 * :ghpull:`2327`: Parallel: Support get/set of nested objects in view (e.g. dv['a.b'])
1062 * :ghpull:`2327`: Parallel: Support get/set of nested objects in view (e.g. dv['a.b'])
1063 * :ghpull:`2362`: Clean up ProgressBar class in example notebook
1063 * :ghpull:`2362`: Clean up ProgressBar class in example notebook
1064 * :ghpull:`2346`: Extra xterm identification in set_term_title
1064 * :ghpull:`2346`: Extra xterm identification in set_term_title
1065 * :ghpull:`2352`: Notebook: Store the username in a cookie whose name is unique.
1065 * :ghpull:`2352`: Notebook: Store the username in a cookie whose name is unique.
1066 * :ghpull:`2358`: add backport_pr to tools
1066 * :ghpull:`2358`: add backport_pr to tools
1067 * :ghpull:`2365`: fix names of notebooks for download/save
1067 * :ghpull:`2365`: fix names of notebooks for download/save
1068 * :ghpull:`2364`: make clients use 'location' properly (fixes #2361)
1068 * :ghpull:`2364`: make clients use 'location' properly (fixes #2361)
1069 * :ghpull:`2354`: Refactor notebook templates to use Jinja2
1069 * :ghpull:`2354`: Refactor notebook templates to use Jinja2
1070 * :ghpull:`2339`: add bash completion example
1070 * :ghpull:`2339`: add bash completion example
1071 * :ghpull:`2345`: Remove references to 'version' no longer in argparse. Github issue #2343.
1071 * :ghpull:`2345`: Remove references to 'version' no longer in argparse. Github issue #2343.
1072 * :ghpull:`2347`: adjust division error message checking to account for Python 3
1072 * :ghpull:`2347`: adjust division error message checking to account for Python 3
1073 * :ghpull:`2305`: RemoteError._render_traceback_ calls self.render_traceback
1073 * :ghpull:`2305`: RemoteError._render_traceback_ calls self.render_traceback
1074 * :ghpull:`2338`: Normalize line endings for ipexec_validate, fix for #2315.
1074 * :ghpull:`2338`: Normalize line endings for ipexec_validate, fix for #2315.
1075 * :ghpull:`2192`: Introduce Notification Area
1075 * :ghpull:`2192`: Introduce Notification Area
1076 * :ghpull:`2329`: Better error messages for common magic commands.
1076 * :ghpull:`2329`: Better error messages for common magic commands.
1077 * :ghpull:`2337`: ENH: added StackExchange-style MathJax filtering
1077 * :ghpull:`2337`: ENH: added StackExchange-style MathJax filtering
1078 * :ghpull:`2331`: update css for qtconsole in doc
1078 * :ghpull:`2331`: update css for qtconsole in doc
1079 * :ghpull:`2317`: adding cluster_id to parallel.Client.__init__
1079 * :ghpull:`2317`: adding cluster_id to parallel.Client.__init__
1080 * :ghpull:`2130`: Add -l option to %R magic to allow passing in of local namespace
1080 * :ghpull:`2130`: Add -l option to %R magic to allow passing in of local namespace
1081 * :ghpull:`2196`: Fix for bad command line argument to latex
1081 * :ghpull:`2196`: Fix for bad command line argument to latex
1082 * :ghpull:`2300`: bug fix: was crashing when sqlite3 is not installed
1082 * :ghpull:`2300`: bug fix: was crashing when sqlite3 is not installed
1083 * :ghpull:`2184`: Expose store_history to execute_request messages.
1083 * :ghpull:`2184`: Expose store_history to execute_request messages.
1084 * :ghpull:`2308`: Add welcome_message option to enable_pylab
1084 * :ghpull:`2308`: Add welcome_message option to enable_pylab
1085 * :ghpull:`2302`: Fix variable expansion on 'self'
1085 * :ghpull:`2302`: Fix variable expansion on 'self'
1086 * :ghpull:`2299`: Remove code from prefilter that duplicates functionality in inputsplitter
1086 * :ghpull:`2299`: Remove code from prefilter that duplicates functionality in inputsplitter
1087 * :ghpull:`2295`: allow pip install from github repository directly
1087 * :ghpull:`2295`: allow pip install from github repository directly
1088 * :ghpull:`2280`: fix SSH passwordless check for OpenSSH
1088 * :ghpull:`2280`: fix SSH passwordless check for OpenSSH
1089 * :ghpull:`2290`: nbmanager
1089 * :ghpull:`2290`: nbmanager
1090 * :ghpull:`2288`: s/assertEquals/assertEqual (again)
1090 * :ghpull:`2288`: s/assertEquals/assertEqual (again)
1091 * :ghpull:`2287`: Removed outdated dev docs.
1091 * :ghpull:`2287`: Removed outdated dev docs.
1092 * :ghpull:`2218`: Use redirect for new notebooks
1092 * :ghpull:`2218`: Use redirect for new notebooks
1093 * :ghpull:`2277`: nb: up/down arrow keys move to begin/end of line at top/bottom of cell
1093 * :ghpull:`2277`: nb: up/down arrow keys move to begin/end of line at top/bottom of cell
1094 * :ghpull:`2045`: Refactoring notebook managers and adding Azure backed storage.
1094 * :ghpull:`2045`: Refactoring notebook managers and adding Azure backed storage.
1095 * :ghpull:`2271`: use display instead of send_figure in inline backend hooks
1095 * :ghpull:`2271`: use display instead of send_figure in inline backend hooks
1096 * :ghpull:`2278`: allow disabling SQLite history
1096 * :ghpull:`2278`: allow disabling SQLite history
1097 * :ghpull:`2225`: Add "--annotate" option to `%%cython` magic.
1097 * :ghpull:`2225`: Add "--annotate" option to `%%cython` magic.
1098 * :ghpull:`2246`: serialize individual args/kwargs rather than the containers
1098 * :ghpull:`2246`: serialize individual args/kwargs rather than the containers
1099 * :ghpull:`2274`: CLN: Use name to id mapping of notebooks instead of searching.
1099 * :ghpull:`2274`: CLN: Use name to id mapping of notebooks instead of searching.
1100 * :ghpull:`2270`: SSHLauncher tweaks
1100 * :ghpull:`2270`: SSHLauncher tweaks
1101 * :ghpull:`2269`: add missing location when disambiguating controller IP
1101 * :ghpull:`2269`: add missing location when disambiguating controller IP
1102 * :ghpull:`2263`: Allow docs to build on http://readthedocs.io/
1102 * :ghpull:`2263`: Allow docs to build on https://readthedocs.io/
1103 * :ghpull:`2256`: Adding data publication example notebook.
1103 * :ghpull:`2256`: Adding data publication example notebook.
1104 * :ghpull:`2255`: better flush iopub with AsyncResults
1104 * :ghpull:`2255`: better flush iopub with AsyncResults
1105 * :ghpull:`2261`: Fix: longest_substr([]) -> ''
1105 * :ghpull:`2261`: Fix: longest_substr([]) -> ''
1106 * :ghpull:`2260`: fix mpr again
1106 * :ghpull:`2260`: fix mpr again
1107 * :ghpull:`2242`: Document globbing in `%history -g <pattern>`.
1107 * :ghpull:`2242`: Document globbing in `%history -g <pattern>`.
1108 * :ghpull:`2250`: fix html in notebook example
1108 * :ghpull:`2250`: fix html in notebook example
1109 * :ghpull:`2245`: Fix regression in embed() from pull-request #2096.
1109 * :ghpull:`2245`: Fix regression in embed() from pull-request #2096.
1110 * :ghpull:`2248`: track sha of master in test_pr messages
1110 * :ghpull:`2248`: track sha of master in test_pr messages
1111 * :ghpull:`2238`: Fast tests
1111 * :ghpull:`2238`: Fast tests
1112 * :ghpull:`2211`: add data publication message
1112 * :ghpull:`2211`: add data publication message
1113 * :ghpull:`2236`: minor test_pr tweaks
1113 * :ghpull:`2236`: minor test_pr tweaks
1114 * :ghpull:`2231`: Improve Image format validation and add html width,height
1114 * :ghpull:`2231`: Improve Image format validation and add html width,height
1115 * :ghpull:`2232`: Reapply monkeypatch to inspect.findsource()
1115 * :ghpull:`2232`: Reapply monkeypatch to inspect.findsource()
1116 * :ghpull:`2235`: remove spurious print statement from setupbase.py
1116 * :ghpull:`2235`: remove spurious print statement from setupbase.py
1117 * :ghpull:`2222`: adjust how canning deals with import strings
1117 * :ghpull:`2222`: adjust how canning deals with import strings
1118 * :ghpull:`2224`: fix css typo
1118 * :ghpull:`2224`: fix css typo
1119 * :ghpull:`2223`: Custom tracebacks
1119 * :ghpull:`2223`: Custom tracebacks
1120 * :ghpull:`2214`: use KernelApp.exec_lines/files in IPEngineApp
1120 * :ghpull:`2214`: use KernelApp.exec_lines/files in IPEngineApp
1121 * :ghpull:`2199`: Wrap JS published by %%javascript in try/catch
1121 * :ghpull:`2199`: Wrap JS published by %%javascript in try/catch
1122 * :ghpull:`2212`: catch errors in markdown javascript
1122 * :ghpull:`2212`: catch errors in markdown javascript
1123 * :ghpull:`2190`: Update code mirror 2.22 to 2.32
1123 * :ghpull:`2190`: Update code mirror 2.22 to 2.32
1124 * :ghpull:`2200`: documentation build broken in bb429da5b
1124 * :ghpull:`2200`: documentation build broken in bb429da5b
1125 * :ghpull:`2194`: clean nan/inf in json_clean
1125 * :ghpull:`2194`: clean nan/inf in json_clean
1126 * :ghpull:`2198`: fix mpr for earlier git version
1126 * :ghpull:`2198`: fix mpr for earlier git version
1127 * :ghpull:`2175`: add FileFindHandler for Notebook static files
1127 * :ghpull:`2175`: add FileFindHandler for Notebook static files
1128 * :ghpull:`1990`: can func_defaults
1128 * :ghpull:`1990`: can func_defaults
1129 * :ghpull:`2069`: start improving serialization in parallel code
1129 * :ghpull:`2069`: start improving serialization in parallel code
1130 * :ghpull:`2202`: Create a unique & temporary IPYTHONDIR for each testing group.
1130 * :ghpull:`2202`: Create a unique & temporary IPYTHONDIR for each testing group.
1131 * :ghpull:`2204`: Work around lack of os.kill in win32.
1131 * :ghpull:`2204`: Work around lack of os.kill in win32.
1132 * :ghpull:`2148`: win32 iptest: Use subprocess.Popen() instead of os.system().
1132 * :ghpull:`2148`: win32 iptest: Use subprocess.Popen() instead of os.system().
1133 * :ghpull:`2179`: Pylab switch
1133 * :ghpull:`2179`: Pylab switch
1134 * :ghpull:`2124`: Add an API for registering magic aliases.
1134 * :ghpull:`2124`: Add an API for registering magic aliases.
1135 * :ghpull:`2169`: ipdb: pdef, pdoc, pinfo magics all broken
1135 * :ghpull:`2169`: ipdb: pdef, pdoc, pinfo magics all broken
1136 * :ghpull:`2174`: Ensure consistent indentation in `%magic`.
1136 * :ghpull:`2174`: Ensure consistent indentation in `%magic`.
1137 * :ghpull:`1930`: add size-limiting to the DictDB backend
1137 * :ghpull:`1930`: add size-limiting to the DictDB backend
1138 * :ghpull:`2189`: Fix IPython.lib.latextools for Python 3
1138 * :ghpull:`2189`: Fix IPython.lib.latextools for Python 3
1139 * :ghpull:`2186`: removed references to h5py dependence in octave magic documentation
1139 * :ghpull:`2186`: removed references to h5py dependence in octave magic documentation
1140 * :ghpull:`2183`: Include the kernel object in the event object passed to kernel events
1140 * :ghpull:`2183`: Include the kernel object in the event object passed to kernel events
1141 * :ghpull:`2185`: added test for %store, fixed storemagic
1141 * :ghpull:`2185`: added test for %store, fixed storemagic
1142 * :ghpull:`2138`: Use breqn.sty in dvipng backend if possible
1142 * :ghpull:`2138`: Use breqn.sty in dvipng backend if possible
1143 * :ghpull:`2182`: handle undefined param in notebooklist
1143 * :ghpull:`2182`: handle undefined param in notebooklist
1144 * :ghpull:`1831`: fix #1814 set __file__ when running .ipy files
1144 * :ghpull:`1831`: fix #1814 set __file__ when running .ipy files
1145 * :ghpull:`2051`: Add a metadata attribute to messages
1145 * :ghpull:`2051`: Add a metadata attribute to messages
1146 * :ghpull:`1471`: simplify IPython.parallel connections and enable Controller Resume
1146 * :ghpull:`1471`: simplify IPython.parallel connections and enable Controller Resume
1147 * :ghpull:`2181`: add %%javascript, %%svg, and %%latex display magics
1147 * :ghpull:`2181`: add %%javascript, %%svg, and %%latex display magics
1148 * :ghpull:`2116`: different images in 00_notebook-tour
1148 * :ghpull:`2116`: different images in 00_notebook-tour
1149 * :ghpull:`2092`: %prun: Restore `stats.stream` after running `print_stream`.
1149 * :ghpull:`2092`: %prun: Restore `stats.stream` after running `print_stream`.
1150 * :ghpull:`2159`: show message on notebook list if server is unreachable
1150 * :ghpull:`2159`: show message on notebook list if server is unreachable
1151 * :ghpull:`2176`: fix git mpr
1151 * :ghpull:`2176`: fix git mpr
1152 * :ghpull:`2152`: [qtconsole] Namespace not empty at startup
1152 * :ghpull:`2152`: [qtconsole] Namespace not empty at startup
1153 * :ghpull:`2177`: remove numpy install from travis/tox scripts
1153 * :ghpull:`2177`: remove numpy install from travis/tox scripts
1154 * :ghpull:`2090`: New keybinding for code cell execution + cell insertion
1154 * :ghpull:`2090`: New keybinding for code cell execution + cell insertion
1155 * :ghpull:`2160`: Updating the parallel options pricing example
1155 * :ghpull:`2160`: Updating the parallel options pricing example
1156 * :ghpull:`2168`: expand line in cell magics
1156 * :ghpull:`2168`: expand line in cell magics
1157 * :ghpull:`2170`: Fix tab completion with IPython.embed_kernel().
1157 * :ghpull:`2170`: Fix tab completion with IPython.embed_kernel().
1158 * :ghpull:`2096`: embed(): Default to the future compiler flags of the calling frame.
1158 * :ghpull:`2096`: embed(): Default to the future compiler flags of the calling frame.
1159 * :ghpull:`2163`: fix 'remote_profie_dir' typo in SSH launchers
1159 * :ghpull:`2163`: fix 'remote_profie_dir' typo in SSH launchers
1160 * :ghpull:`2158`: [2to3 compat ] Tuple params in func defs
1160 * :ghpull:`2158`: [2to3 compat ] Tuple params in func defs
1161 * :ghpull:`2089`: Fix unittest DeprecationWarnings
1161 * :ghpull:`2089`: Fix unittest DeprecationWarnings
1162 * :ghpull:`2142`: Refactor test_pr.py
1162 * :ghpull:`2142`: Refactor test_pr.py
1163 * :ghpull:`2140`: 2to3: Apply `has_key` fixer.
1163 * :ghpull:`2140`: 2to3: Apply `has_key` fixer.
1164 * :ghpull:`2131`: Add option append (-a) to %save
1164 * :ghpull:`2131`: Add option append (-a) to %save
1165 * :ghpull:`2117`: use explicit url in notebook example
1165 * :ghpull:`2117`: use explicit url in notebook example
1166 * :ghpull:`2133`: Tell git that ``*.py`` files contain Python code, for use in word-diffs.
1166 * :ghpull:`2133`: Tell git that ``*.py`` files contain Python code, for use in word-diffs.
1167 * :ghpull:`2134`: Apply 2to3 `next` fix.
1167 * :ghpull:`2134`: Apply 2to3 `next` fix.
1168 * :ghpull:`2126`: ipcluster broken with any batch launcher (PBS/LSF/SGE)
1168 * :ghpull:`2126`: ipcluster broken with any batch launcher (PBS/LSF/SGE)
1169 * :ghpull:`2104`: Windows make file for Sphinx documentation
1169 * :ghpull:`2104`: Windows make file for Sphinx documentation
1170 * :ghpull:`2074`: Make BG color of inline plot configurable
1170 * :ghpull:`2074`: Make BG color of inline plot configurable
1171 * :ghpull:`2123`: BUG: Look up the `_repr_pretty_` method on the class within the MRO rath...
1171 * :ghpull:`2123`: BUG: Look up the `_repr_pretty_` method on the class within the MRO rath...
1172 * :ghpull:`2100`: [in progress] python 2 and 3 compatibility without 2to3, second try
1172 * :ghpull:`2100`: [in progress] python 2 and 3 compatibility without 2to3, second try
1173 * :ghpull:`2128`: open notebook copy in different tabs
1173 * :ghpull:`2128`: open notebook copy in different tabs
1174 * :ghpull:`2073`: allows password and prefix for notebook
1174 * :ghpull:`2073`: allows password and prefix for notebook
1175 * :ghpull:`1993`: Print View
1175 * :ghpull:`1993`: Print View
1176 * :ghpull:`2086`: re-aliad %ed to %edit in qtconsole
1176 * :ghpull:`2086`: re-aliad %ed to %edit in qtconsole
1177 * :ghpull:`2110`: Fixes and improvements to the input splitter
1177 * :ghpull:`2110`: Fixes and improvements to the input splitter
1178 * :ghpull:`2101`: fix completer deletting newline
1178 * :ghpull:`2101`: fix completer deletting newline
1179 * :ghpull:`2102`: Fix logging on interactive shell.
1179 * :ghpull:`2102`: Fix logging on interactive shell.
1180 * :ghpull:`2088`: Fix (some) Python 3.2 ResourceWarnings
1180 * :ghpull:`2088`: Fix (some) Python 3.2 ResourceWarnings
1181 * :ghpull:`2064`: conform to pep 3110
1181 * :ghpull:`2064`: conform to pep 3110
1182 * :ghpull:`2076`: Skip notebook 'static' dir in test suite.
1182 * :ghpull:`2076`: Skip notebook 'static' dir in test suite.
1183 * :ghpull:`2063`: Remove umlauts so py3 installations on LANG=C systems succeed.
1183 * :ghpull:`2063`: Remove umlauts so py3 installations on LANG=C systems succeed.
1184 * :ghpull:`2068`: record sysinfo in sdist
1184 * :ghpull:`2068`: record sysinfo in sdist
1185 * :ghpull:`2067`: update tools/release_windows.py
1185 * :ghpull:`2067`: update tools/release_windows.py
1186 * :ghpull:`2065`: Fix parentheses typo
1186 * :ghpull:`2065`: Fix parentheses typo
1187 * :ghpull:`2062`: Remove duplicates and auto-generated files from repo.
1187 * :ghpull:`2062`: Remove duplicates and auto-generated files from repo.
1188 * :ghpull:`2061`: use explicit tuple in exception
1188 * :ghpull:`2061`: use explicit tuple in exception
1189 * :ghpull:`2060`: change minus to \- or \(hy in manpages
1189 * :ghpull:`2060`: change minus to \- or \(hy in manpages
1190
1190
1191 Issues (691):
1191 Issues (691):
1192
1192
1193 * :ghissue:`3940`: Install process documentation overhaul
1193 * :ghissue:`3940`: Install process documentation overhaul
1194 * :ghissue:`3946`: The PDF option for `--post` should work with lowercase
1194 * :ghissue:`3946`: The PDF option for `--post` should work with lowercase
1195 * :ghissue:`3957`: Notebook help page broken in Firefox
1195 * :ghissue:`3957`: Notebook help page broken in Firefox
1196 * :ghissue:`3894`: nbconvert test failure
1196 * :ghissue:`3894`: nbconvert test failure
1197 * :ghissue:`3887`: 1.0.0a1 shows blank screen in both firefox and chrome (windows 7)
1197 * :ghissue:`3887`: 1.0.0a1 shows blank screen in both firefox and chrome (windows 7)
1198 * :ghissue:`3703`: `nbconvert`: Output options -- names and documentation
1198 * :ghissue:`3703`: `nbconvert`: Output options -- names and documentation
1199 * :ghissue:`3931`: Tab completion not working during debugging in the notebook
1199 * :ghissue:`3931`: Tab completion not working during debugging in the notebook
1200 * :ghissue:`3936`: Ipcluster plugin is not working with Ipython 1.0dev
1200 * :ghissue:`3936`: Ipcluster plugin is not working with Ipython 1.0dev
1201 * :ghissue:`3941`: IPython Notebook kernel crash on Win7x64
1201 * :ghissue:`3941`: IPython Notebook kernel crash on Win7x64
1202 * :ghissue:`3926`: Ending Notebook renaming dialog with return creates new-line
1202 * :ghissue:`3926`: Ending Notebook renaming dialog with return creates new-line
1203 * :ghissue:`3932`: Incorrect empty docstring
1203 * :ghissue:`3932`: Incorrect empty docstring
1204 * :ghissue:`3928`: Passing variables to script from the workspace
1204 * :ghissue:`3928`: Passing variables to script from the workspace
1205 * :ghissue:`3774`: Notebooks with spaces in their names breaks nbconvert latex graphics
1205 * :ghissue:`3774`: Notebooks with spaces in their names breaks nbconvert latex graphics
1206 * :ghissue:`3916`: tornado needs its own check
1206 * :ghissue:`3916`: tornado needs its own check
1207 * :ghissue:`3915`: Link to Parallel examples "found on GitHub" broken in docs
1207 * :ghissue:`3915`: Link to Parallel examples "found on GitHub" broken in docs
1208 * :ghissue:`3895`: Keyboard shortcuts box in notebook doesn't fit the screen
1208 * :ghissue:`3895`: Keyboard shortcuts box in notebook doesn't fit the screen
1209 * :ghissue:`3912`: IPython.utils fails automated test for RC1 1.0.0
1209 * :ghissue:`3912`: IPython.utils fails automated test for RC1 1.0.0
1210 * :ghissue:`3636`: Code cell missing highlight on load
1210 * :ghissue:`3636`: Code cell missing highlight on load
1211 * :ghissue:`3897`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex --post PDF" POST processing action fails because of a bad parameter
1211 * :ghissue:`3897`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex --post PDF" POST processing action fails because of a bad parameter
1212 * :ghissue:`3900`: python3 install syntax errors (OS X 10.8.4)
1212 * :ghissue:`3900`: python3 install syntax errors (OS X 10.8.4)
1213 * :ghissue:`3899`: nbconvert to latex fails on notebooks with spaces in file name
1213 * :ghissue:`3899`: nbconvert to latex fails on notebooks with spaces in file name
1214 * :ghissue:`3881`: Temporary Working Directory Test Fails
1214 * :ghissue:`3881`: Temporary Working Directory Test Fails
1215 * :ghissue:`2750`: A way to freeze code cells in the notebook
1215 * :ghissue:`2750`: A way to freeze code cells in the notebook
1216 * :ghissue:`3893`: Resize Local Image Files in Notebook doesn't work
1216 * :ghissue:`3893`: Resize Local Image Files in Notebook doesn't work
1217 * :ghissue:`3823`: nbconvert on windows: tex and paths
1217 * :ghissue:`3823`: nbconvert on windows: tex and paths
1218 * :ghissue:`3885`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex" write "\" instead of "/" to reference file path in the .tex file
1218 * :ghissue:`3885`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex" write "\" instead of "/" to reference file path in the .tex file
1219 * :ghissue:`3889`: test_qt fails due to assertion error 'qt4' != 'qt'
1219 * :ghissue:`3889`: test_qt fails due to assertion error 'qt4' != 'qt'
1220 * :ghissue:`3890`: double post, disregard this issue
1220 * :ghissue:`3890`: double post, disregard this issue
1221 * :ghissue:`3689`: nbconvert, remaining tests
1221 * :ghissue:`3689`: nbconvert, remaining tests
1222 * :ghissue:`3874`: Up/Down keys don't work to "Search previous command history" (besides Ctrl-p/Ctrl-n)
1222 * :ghissue:`3874`: Up/Down keys don't work to "Search previous command history" (besides Ctrl-p/Ctrl-n)
1223 * :ghissue:`3853`: CodeMirror locks up in the notebook
1223 * :ghissue:`3853`: CodeMirror locks up in the notebook
1224 * :ghissue:`3862`: can only connect to an ipcluster started with v1.0.0-dev (master branch) using an older ipython (v0.13.2), but cannot connect using ipython (v1.0.0-dev)
1224 * :ghissue:`3862`: can only connect to an ipcluster started with v1.0.0-dev (master branch) using an older ipython (v0.13.2), but cannot connect using ipython (v1.0.0-dev)
1225 * :ghissue:`3869`: custom css not working.
1225 * :ghissue:`3869`: custom css not working.
1226 * :ghissue:`2960`: Keyboard shortcuts
1226 * :ghissue:`2960`: Keyboard shortcuts
1227 * :ghissue:`3795`: ipcontroller process goes to 100% CPU, ignores connection requests
1227 * :ghissue:`3795`: ipcontroller process goes to 100% CPU, ignores connection requests
1228 * :ghissue:`3553`: Ipython and pylab crashes in windows and canopy
1228 * :ghissue:`3553`: Ipython and pylab crashes in windows and canopy
1229 * :ghissue:`3837`: Cannot set custom mathjax url, crash notebook server.
1229 * :ghissue:`3837`: Cannot set custom mathjax url, crash notebook server.
1230 * :ghissue:`3808`: "Naming" releases ?
1230 * :ghissue:`3808`: "Naming" releases ?
1231 * :ghissue:`2431`: TypeError: must be string without null bytes, not str
1231 * :ghissue:`2431`: TypeError: must be string without null bytes, not str
1232 * :ghissue:`3856`: `?` at end of comment causes line to execute
1232 * :ghissue:`3856`: `?` at end of comment causes line to execute
1233 * :ghissue:`3731`: nbconvert: add logging for the different steps of nbconvert
1233 * :ghissue:`3731`: nbconvert: add logging for the different steps of nbconvert
1234 * :ghissue:`3835`: Markdown cells do not render correctly when mathjax is disabled
1234 * :ghissue:`3835`: Markdown cells do not render correctly when mathjax is disabled
1235 * :ghissue:`3843`: nbconvert to rst: leftover "In[ ]"
1235 * :ghissue:`3843`: nbconvert to rst: leftover "In[ ]"
1236 * :ghissue:`3799`: nbconvert: Ability to specify name of output file
1236 * :ghissue:`3799`: nbconvert: Ability to specify name of output file
1237 * :ghissue:`3726`: Document when IPython.start_ipython() should be used versus IPython.embed()
1237 * :ghissue:`3726`: Document when IPython.start_ipython() should be used versus IPython.embed()
1238 * :ghissue:`3778`: Add no more readonly view in what's new
1238 * :ghissue:`3778`: Add no more readonly view in what's new
1239 * :ghissue:`3754`: No Print View in Notebook in 1.0dev
1239 * :ghissue:`3754`: No Print View in Notebook in 1.0dev
1240 * :ghissue:`3798`: IPython 0.12.1 Crashes on autocompleting sqlalchemy.func.row_number properties
1240 * :ghissue:`3798`: IPython 0.12.1 Crashes on autocompleting sqlalchemy.func.row_number properties
1241 * :ghissue:`3811`: Opening notebook directly from the command line with multi-directory support installed
1241 * :ghissue:`3811`: Opening notebook directly from the command line with multi-directory support installed
1242 * :ghissue:`3775`: Annoying behavior when clicking on cell after execution (Ctrl+Enter)
1242 * :ghissue:`3775`: Annoying behavior when clicking on cell after execution (Ctrl+Enter)
1243 * :ghissue:`3809`: Possible to add some bpython features?
1243 * :ghissue:`3809`: Possible to add some bpython features?
1244 * :ghissue:`3810`: Printing the contents of an image file messes up shell text
1244 * :ghissue:`3810`: Printing the contents of an image file messes up shell text
1245 * :ghissue:`3702`: `nbconvert`: Default help message should be that of --help
1245 * :ghissue:`3702`: `nbconvert`: Default help message should be that of --help
1246 * :ghissue:`3735`: Nbconvert 1.0.0a1 does not take into account the pdf extensions in graphs
1246 * :ghissue:`3735`: Nbconvert 1.0.0a1 does not take into account the pdf extensions in graphs
1247 * :ghissue:`3719`: Bad strftime format, for windows, in nbconvert exporter
1247 * :ghissue:`3719`: Bad strftime format, for windows, in nbconvert exporter
1248 * :ghissue:`3786`: Zmq errors appearing with `Ctrl-C` in console/qtconsole
1248 * :ghissue:`3786`: Zmq errors appearing with `Ctrl-C` in console/qtconsole
1249 * :ghissue:`3019`: disappearing scrollbar on tooltip in Chrome 24 on Ubuntu 12.04
1249 * :ghissue:`3019`: disappearing scrollbar on tooltip in Chrome 24 on Ubuntu 12.04
1250 * :ghissue:`3785`: ipdb completely broken in Qt console
1250 * :ghissue:`3785`: ipdb completely broken in Qt console
1251 * :ghissue:`3796`: Document the meaning of milestone/issues-tags for users.
1251 * :ghissue:`3796`: Document the meaning of milestone/issues-tags for users.
1252 * :ghissue:`3788`: Do not auto show tooltip if docstring empty.
1252 * :ghissue:`3788`: Do not auto show tooltip if docstring empty.
1253 * :ghissue:`1366`: [Web page] No link to front page from documentation
1253 * :ghissue:`1366`: [Web page] No link to front page from documentation
1254 * :ghissue:`3739`: nbconvert (to slideshow) misses some of the math in markdown cells
1254 * :ghissue:`3739`: nbconvert (to slideshow) misses some of the math in markdown cells
1255 * :ghissue:`3768`: increase and make timeout configurable in console completion.
1255 * :ghissue:`3768`: increase and make timeout configurable in console completion.
1256 * :ghissue:`3724`: ipcluster only running on one cpu
1256 * :ghissue:`3724`: ipcluster only running on one cpu
1257 * :ghissue:`1592`: better message for unsupported nbformat
1257 * :ghissue:`1592`: better message for unsupported nbformat
1258 * :ghissue:`2049`: Can not stop "ipython kernel" on windows
1258 * :ghissue:`2049`: Can not stop "ipython kernel" on windows
1259 * :ghissue:`3757`: Need direct entry point to given notebook
1259 * :ghissue:`3757`: Need direct entry point to given notebook
1260 * :ghissue:`3745`: ImportError: cannot import name check_linecache_ipython
1260 * :ghissue:`3745`: ImportError: cannot import name check_linecache_ipython
1261 * :ghissue:`3701`: `nbconvert`: Final output file should be in same directory as input file
1261 * :ghissue:`3701`: `nbconvert`: Final output file should be in same directory as input file
1262 * :ghissue:`3738`: history -o works but history with -n produces identical results
1262 * :ghissue:`3738`: history -o works but history with -n produces identical results
1263 * :ghissue:`3740`: error when attempting to run 'make' in docs directory
1263 * :ghissue:`3740`: error when attempting to run 'make' in docs directory
1264 * :ghissue:`3737`: ipython nbconvert crashes with ValueError: Invalid format string.
1264 * :ghissue:`3737`: ipython nbconvert crashes with ValueError: Invalid format string.
1265 * :ghissue:`3730`: nbconvert: unhelpful error when pandoc isn't installed
1265 * :ghissue:`3730`: nbconvert: unhelpful error when pandoc isn't installed
1266 * :ghissue:`3718`: markdown cell cursor misaligned in notebook
1266 * :ghissue:`3718`: markdown cell cursor misaligned in notebook
1267 * :ghissue:`3710`: multiple input fields for %debug in the notebook after resetting the kernel
1267 * :ghissue:`3710`: multiple input fields for %debug in the notebook after resetting the kernel
1268 * :ghissue:`3713`: PyCharm has problems with IPython working inside PyPy created by virtualenv
1268 * :ghissue:`3713`: PyCharm has problems with IPython working inside PyPy created by virtualenv
1269 * :ghissue:`3712`: Code completion: Complete on dictionary keys
1269 * :ghissue:`3712`: Code completion: Complete on dictionary keys
1270 * :ghissue:`3680`: --pylab and --matplotlib flag
1270 * :ghissue:`3680`: --pylab and --matplotlib flag
1271 * :ghissue:`3698`: nbconvert: Unicode error with minus sign
1271 * :ghissue:`3698`: nbconvert: Unicode error with minus sign
1272 * :ghissue:`3693`: nbconvert does not process SVGs into PDFs
1272 * :ghissue:`3693`: nbconvert does not process SVGs into PDFs
1273 * :ghissue:`3688`: nbconvert, figures not extracting with Python 3.x
1273 * :ghissue:`3688`: nbconvert, figures not extracting with Python 3.x
1274 * :ghissue:`3542`: note new dependencies in docs / setup.py
1274 * :ghissue:`3542`: note new dependencies in docs / setup.py
1275 * :ghissue:`2556`: [pagedown] do not target_blank anchor link
1275 * :ghissue:`2556`: [pagedown] do not target_blank anchor link
1276 * :ghissue:`3684`: bad message when %pylab fails due import *other* than matplotlib
1276 * :ghissue:`3684`: bad message when %pylab fails due import *other* than matplotlib
1277 * :ghissue:`3682`: ipython notebook pylab inline import_all=False
1277 * :ghissue:`3682`: ipython notebook pylab inline import_all=False
1278 * :ghissue:`3596`: MathjaxUtils race condition?
1278 * :ghissue:`3596`: MathjaxUtils race condition?
1279 * :ghissue:`1540`: Comment/uncomment selection in notebook
1279 * :ghissue:`1540`: Comment/uncomment selection in notebook
1280 * :ghissue:`2702`: frozen setup: permission denied for default ipython_dir
1280 * :ghissue:`2702`: frozen setup: permission denied for default ipython_dir
1281 * :ghissue:`3672`: allow_none on Number-like traits.
1281 * :ghissue:`3672`: allow_none on Number-like traits.
1282 * :ghissue:`2411`: add CONTRIBUTING.md
1282 * :ghissue:`2411`: add CONTRIBUTING.md
1283 * :ghissue:`481`: IPython terminal issue with Qt4Agg on XP SP3
1283 * :ghissue:`481`: IPython terminal issue with Qt4Agg on XP SP3
1284 * :ghissue:`2664`: How to preserve user variables from import clashing?
1284 * :ghissue:`2664`: How to preserve user variables from import clashing?
1285 * :ghissue:`3436`: enable_pylab(import_all=False) still imports np
1285 * :ghissue:`3436`: enable_pylab(import_all=False) still imports np
1286 * :ghissue:`2630`: lib.pylabtools.figsize : NameError when using Qt4Agg backend and %pylab magic.
1286 * :ghissue:`2630`: lib.pylabtools.figsize : NameError when using Qt4Agg backend and %pylab magic.
1287 * :ghissue:`3154`: Notebook: no event triggered when a Cell is created
1287 * :ghissue:`3154`: Notebook: no event triggered when a Cell is created
1288 * :ghissue:`3579`: Nbconvert: SVG are not transformed to PDF anymore
1288 * :ghissue:`3579`: Nbconvert: SVG are not transformed to PDF anymore
1289 * :ghissue:`3604`: MathJax rendering problem in `%%latex` cell
1289 * :ghissue:`3604`: MathJax rendering problem in `%%latex` cell
1290 * :ghissue:`3668`: AttributeError: 'BlockingKernelClient' object has no attribute 'started_channels'
1290 * :ghissue:`3668`: AttributeError: 'BlockingKernelClient' object has no attribute 'started_channels'
1291 * :ghissue:`3245`: SyntaxError: encoding declaration in Unicode string
1291 * :ghissue:`3245`: SyntaxError: encoding declaration in Unicode string
1292 * :ghissue:`3639`: %pylab inline in IPYTHON notebook throws "RuntimeError: Cannot activate multiple GUI eventloops"
1292 * :ghissue:`3639`: %pylab inline in IPYTHON notebook throws "RuntimeError: Cannot activate multiple GUI eventloops"
1293 * :ghissue:`3663`: frontend deprecation warnings
1293 * :ghissue:`3663`: frontend deprecation warnings
1294 * :ghissue:`3661`: run -m not behaving like python -m
1294 * :ghissue:`3661`: run -m not behaving like python -m
1295 * :ghissue:`3597`: re-do PR #3531 - allow markdown in Header cell
1295 * :ghissue:`3597`: re-do PR #3531 - allow markdown in Header cell
1296 * :ghissue:`3053`: Markdown in header cells is not rendered
1296 * :ghissue:`3053`: Markdown in header cells is not rendered
1297 * :ghissue:`3655`: IPython finding its way into pasted strings.
1297 * :ghissue:`3655`: IPython finding its way into pasted strings.
1298 * :ghissue:`3620`: uncaught errors in HTML output
1298 * :ghissue:`3620`: uncaught errors in HTML output
1299 * :ghissue:`3646`: get_dict() error
1299 * :ghissue:`3646`: get_dict() error
1300 * :ghissue:`3004`: `%load_ext rmagic` fails when legacy ipy_user_conf.py is installed (in ipython 0.13.1 / OSX 10.8)
1300 * :ghissue:`3004`: `%load_ext rmagic` fails when legacy ipy_user_conf.py is installed (in ipython 0.13.1 / OSX 10.8)
1301 * :ghissue:`3638`: setp() issue in ipython notebook with figure references
1301 * :ghissue:`3638`: setp() issue in ipython notebook with figure references
1302 * :ghissue:`3634`: nbconvert reveal to pdf conversion ignores styling, prints only a single page.
1302 * :ghissue:`3634`: nbconvert reveal to pdf conversion ignores styling, prints only a single page.
1303 * :ghissue:`1307`: Remove pyreadline workarounds, we now require pyreadline >= 1.7.1
1303 * :ghissue:`1307`: Remove pyreadline workarounds, we now require pyreadline >= 1.7.1
1304 * :ghissue:`3316`: find_cmd test failure on Windows
1304 * :ghissue:`3316`: find_cmd test failure on Windows
1305 * :ghissue:`3494`: input() in notebook doesn't work in Python 3
1305 * :ghissue:`3494`: input() in notebook doesn't work in Python 3
1306 * :ghissue:`3427`: Deprecate `$` as mathjax delimiter
1306 * :ghissue:`3427`: Deprecate `$` as mathjax delimiter
1307 * :ghissue:`3625`: Pager does not open from button
1307 * :ghissue:`3625`: Pager does not open from button
1308 * :ghissue:`3149`: Miscellaneous small nbconvert feedback
1308 * :ghissue:`3149`: Miscellaneous small nbconvert feedback
1309 * :ghissue:`3617`: 256 color escapes support
1309 * :ghissue:`3617`: 256 color escapes support
1310 * :ghissue:`3609`: %pylab inline blows up for single process ipython
1310 * :ghissue:`3609`: %pylab inline blows up for single process ipython
1311 * :ghissue:`2934`: Publish the Interactive MPI Demo Notebook
1311 * :ghissue:`2934`: Publish the Interactive MPI Demo Notebook
1312 * :ghissue:`3614`: ansi escapes broken in master (ls --color)
1312 * :ghissue:`3614`: ansi escapes broken in master (ls --color)
1313 * :ghissue:`3610`: If you don't have markdown, python setup.py install says no pygments
1313 * :ghissue:`3610`: If you don't have markdown, python setup.py install says no pygments
1314 * :ghissue:`3547`: %run modules clobber each other
1314 * :ghissue:`3547`: %run modules clobber each other
1315 * :ghissue:`3602`: import_item fails when one tries to use DottedObjectName instead of a string
1315 * :ghissue:`3602`: import_item fails when one tries to use DottedObjectName instead of a string
1316 * :ghissue:`3563`: Duplicate tab completions in the notebook
1316 * :ghissue:`3563`: Duplicate tab completions in the notebook
1317 * :ghissue:`3599`: Problems trying to run IPython on python3 without installing...
1317 * :ghissue:`3599`: Problems trying to run IPython on python3 without installing...
1318 * :ghissue:`2937`: too long completion in notebook
1318 * :ghissue:`2937`: too long completion in notebook
1319 * :ghissue:`3479`: Write empty name for the notebooks
1319 * :ghissue:`3479`: Write empty name for the notebooks
1320 * :ghissue:`3505`: nbconvert: Failure in specifying user filter
1320 * :ghissue:`3505`: nbconvert: Failure in specifying user filter
1321 * :ghissue:`1537`: think a bit about namespaces
1321 * :ghissue:`1537`: think a bit about namespaces
1322 * :ghissue:`3124`: Long multiline strings in Notebook
1322 * :ghissue:`3124`: Long multiline strings in Notebook
1323 * :ghissue:`3464`: run -d message unclear
1323 * :ghissue:`3464`: run -d message unclear
1324 * :ghissue:`2706`: IPython 0.13.1 ignoring $PYTHONSTARTUP
1324 * :ghissue:`2706`: IPython 0.13.1 ignoring $PYTHONSTARTUP
1325 * :ghissue:`3587`: LaTeX escaping bug in nbconvert when exporting to HTML
1325 * :ghissue:`3587`: LaTeX escaping bug in nbconvert when exporting to HTML
1326 * :ghissue:`3213`: Long running notebook died with a coredump
1326 * :ghissue:`3213`: Long running notebook died with a coredump
1327 * :ghissue:`3580`: Running ipython with pypy on windows
1327 * :ghissue:`3580`: Running ipython with pypy on windows
1328 * :ghissue:`3573`: custom.js not working
1328 * :ghissue:`3573`: custom.js not working
1329 * :ghissue:`3544`: IPython.lib test failure on Windows
1329 * :ghissue:`3544`: IPython.lib test failure on Windows
1330 * :ghissue:`3352`: Install Sphinx extensions
1330 * :ghissue:`3352`: Install Sphinx extensions
1331 * :ghissue:`2971`: [notebook]user needs to press ctrl-c twice to stop notebook server should be put into terminal window
1331 * :ghissue:`2971`: [notebook]user needs to press ctrl-c twice to stop notebook server should be put into terminal window
1332 * :ghissue:`2413`: ipython3 qtconsole fails to install: ipython 0.13 has no such extra feature 'qtconsole'
1332 * :ghissue:`2413`: ipython3 qtconsole fails to install: ipython 0.13 has no such extra feature 'qtconsole'
1333 * :ghissue:`2618`: documentation is incorrect for install process
1333 * :ghissue:`2618`: documentation is incorrect for install process
1334 * :ghissue:`2595`: mac 10.8 qtconsole export history
1334 * :ghissue:`2595`: mac 10.8 qtconsole export history
1335 * :ghissue:`2586`: cannot store aliases
1335 * :ghissue:`2586`: cannot store aliases
1336 * :ghissue:`2714`: ipython qtconsole print unittest messages in console instead his own window.
1336 * :ghissue:`2714`: ipython qtconsole print unittest messages in console instead his own window.
1337 * :ghissue:`2669`: cython magic failing to work with openmp.
1337 * :ghissue:`2669`: cython magic failing to work with openmp.
1338 * :ghissue:`3256`: Vagrant pandas instance of IPython Notebook does not respect additional plotting arguments
1338 * :ghissue:`3256`: Vagrant pandas instance of IPython Notebook does not respect additional plotting arguments
1339 * :ghissue:`3010`: cython magic fail if cache dir is deleted while in session
1339 * :ghissue:`3010`: cython magic fail if cache dir is deleted while in session
1340 * :ghissue:`2044`: prune unused names from parallel.error
1340 * :ghissue:`2044`: prune unused names from parallel.error
1341 * :ghissue:`1145`: Online help utility broken in QtConsole
1341 * :ghissue:`1145`: Online help utility broken in QtConsole
1342 * :ghissue:`3439`: Markdown links no longer open in new window (with change from pagedown to marked)
1342 * :ghissue:`3439`: Markdown links no longer open in new window (with change from pagedown to marked)
1343 * :ghissue:`3476`: _margv for macros seems to be missing
1343 * :ghissue:`3476`: _margv for macros seems to be missing
1344 * :ghissue:`3499`: Add reveal.js library (version 2.4.0) inside IPython
1344 * :ghissue:`3499`: Add reveal.js library (version 2.4.0) inside IPython
1345 * :ghissue:`2771`: Wiki Migration to GitHub
1345 * :ghissue:`2771`: Wiki Migration to GitHub
1346 * :ghissue:`2887`: ipcontroller purging some engines during connect
1346 * :ghissue:`2887`: ipcontroller purging some engines during connect
1347 * :ghissue:`626`: Enable Resuming Controller
1347 * :ghissue:`626`: Enable Resuming Controller
1348 * :ghissue:`2824`: Kernel restarting after message "Kernel XXXX failed to respond to heartbeat"
1348 * :ghissue:`2824`: Kernel restarting after message "Kernel XXXX failed to respond to heartbeat"
1349 * :ghissue:`2823`: %%cython magic gives ImportError: dlopen(long_file_name.so, 2): image not found
1349 * :ghissue:`2823`: %%cython magic gives ImportError: dlopen(long_file_name.so, 2): image not found
1350 * :ghissue:`2891`: In IPython for Python 3, system site-packages comes before user site-packages
1350 * :ghissue:`2891`: In IPython for Python 3, system site-packages comes before user site-packages
1351 * :ghissue:`2928`: Add magic "watch" function (example)
1351 * :ghissue:`2928`: Add magic "watch" function (example)
1352 * :ghissue:`2931`: Problem rendering pandas dataframe in Firefox for Windows
1352 * :ghissue:`2931`: Problem rendering pandas dataframe in Firefox for Windows
1353 * :ghissue:`2939`: [notebook] Figure legend not shown in inline backend if ouside the box of the axes
1353 * :ghissue:`2939`: [notebook] Figure legend not shown in inline backend if ouside the box of the axes
1354 * :ghissue:`2972`: [notebook] in Markdown mode, press Enter key at the end of <some http link>, the next line is indented unexpectly
1354 * :ghissue:`2972`: [notebook] in Markdown mode, press Enter key at the end of <some http link>, the next line is indented unexpectly
1355 * :ghissue:`3069`: Instructions for installing IPython notebook on Windows
1355 * :ghissue:`3069`: Instructions for installing IPython notebook on Windows
1356 * :ghissue:`3444`: Encoding problem: cannot use if user's name is not ascii?
1356 * :ghissue:`3444`: Encoding problem: cannot use if user's name is not ascii?
1357 * :ghissue:`3335`: Reenable bracket matching
1357 * :ghissue:`3335`: Reenable bracket matching
1358 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
1358 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
1359 * :ghissue:`3543`: Exception shutting down kernel from notebook dashboard (0.13.1)
1359 * :ghissue:`3543`: Exception shutting down kernel from notebook dashboard (0.13.1)
1360 * :ghissue:`3549`: Codecell size changes with selection
1360 * :ghissue:`3549`: Codecell size changes with selection
1361 * :ghissue:`3445`: Adding newlines in %%latex cell
1361 * :ghissue:`3445`: Adding newlines in %%latex cell
1362 * :ghissue:`3237`: [notebook] Can't close a notebook without errors
1362 * :ghissue:`3237`: [notebook] Can't close a notebook without errors
1363 * :ghissue:`2916`: colon invokes auto(un)indent in markdown cells
1363 * :ghissue:`2916`: colon invokes auto(un)indent in markdown cells
1364 * :ghissue:`2167`: Indent and dedent in htmlnotebook
1364 * :ghissue:`2167`: Indent and dedent in htmlnotebook
1365 * :ghissue:`3545`: Notebook save button icon not clear
1365 * :ghissue:`3545`: Notebook save button icon not clear
1366 * :ghissue:`3534`: nbconvert incompatible with Windows?
1366 * :ghissue:`3534`: nbconvert incompatible with Windows?
1367 * :ghissue:`3489`: Update example notebook that raw_input is allowed
1367 * :ghissue:`3489`: Update example notebook that raw_input is allowed
1368 * :ghissue:`3396`: Notebook checkpoint time is displayed an hour out
1368 * :ghissue:`3396`: Notebook checkpoint time is displayed an hour out
1369 * :ghissue:`3261`: Empty revert to checkpoint menu if no checkpoint...
1369 * :ghissue:`3261`: Empty revert to checkpoint menu if no checkpoint...
1370 * :ghissue:`2984`: "print" magic does not work in Python 3
1370 * :ghissue:`2984`: "print" magic does not work in Python 3
1371 * :ghissue:`3524`: Issues with pyzmq and ipython on EPD update
1371 * :ghissue:`3524`: Issues with pyzmq and ipython on EPD update
1372 * :ghissue:`2434`: %store magic not auto-restoring
1372 * :ghissue:`2434`: %store magic not auto-restoring
1373 * :ghissue:`2720`: base_url and static path
1373 * :ghissue:`2720`: base_url and static path
1374 * :ghissue:`2234`: Update various low resolution graphics for retina displays
1374 * :ghissue:`2234`: Update various low resolution graphics for retina displays
1375 * :ghissue:`2842`: Remember passwords for pw-protected notebooks
1375 * :ghissue:`2842`: Remember passwords for pw-protected notebooks
1376 * :ghissue:`3244`: qtconsole: ValueError('close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderr',)
1376 * :ghissue:`3244`: qtconsole: ValueError('close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderr',)
1377 * :ghissue:`2215`: AsyncResult.wait(0) can hang waiting for the client to get results?
1377 * :ghissue:`2215`: AsyncResult.wait(0) can hang waiting for the client to get results?
1378 * :ghissue:`2268`: provide mean to retrieve static data path
1378 * :ghissue:`2268`: provide mean to retrieve static data path
1379 * :ghissue:`1905`: Expose UI for worksheets within each notebook
1379 * :ghissue:`1905`: Expose UI for worksheets within each notebook
1380 * :ghissue:`2380`: Qt inputhook prevents modal dialog boxes from displaying
1380 * :ghissue:`2380`: Qt inputhook prevents modal dialog boxes from displaying
1381 * :ghissue:`3185`: prettify on double //
1381 * :ghissue:`3185`: prettify on double //
1382 * :ghissue:`2821`: Test failure: IPython.parallel.tests.test_client.test_resubmit_header
1382 * :ghissue:`2821`: Test failure: IPython.parallel.tests.test_client.test_resubmit_header
1383 * :ghissue:`2475`: [Notebook] Line is deindented when typing eg a colon in markdown mode
1383 * :ghissue:`2475`: [Notebook] Line is deindented when typing eg a colon in markdown mode
1384 * :ghissue:`2470`: Do not destroy valid notebooks
1384 * :ghissue:`2470`: Do not destroy valid notebooks
1385 * :ghissue:`860`: Allow the standalone export of a notebook to HTML
1385 * :ghissue:`860`: Allow the standalone export of a notebook to HTML
1386 * :ghissue:`2652`: notebook with qt backend crashes at save image location popup
1386 * :ghissue:`2652`: notebook with qt backend crashes at save image location popup
1387 * :ghissue:`1587`: Improve kernel restarting in the notebook
1387 * :ghissue:`1587`: Improve kernel restarting in the notebook
1388 * :ghissue:`2710`: Saving a plot in Mac OS X backend crashes IPython
1388 * :ghissue:`2710`: Saving a plot in Mac OS X backend crashes IPython
1389 * :ghissue:`2596`: notebook "Last saved:" is misleading on file opening.
1389 * :ghissue:`2596`: notebook "Last saved:" is misleading on file opening.
1390 * :ghissue:`2671`: TypeError :NoneType when executed "ipython qtconsole" in windows console
1390 * :ghissue:`2671`: TypeError :NoneType when executed "ipython qtconsole" in windows console
1391 * :ghissue:`2703`: Notebook scrolling breaks after pager is shown
1391 * :ghissue:`2703`: Notebook scrolling breaks after pager is shown
1392 * :ghissue:`2803`: KernelManager and KernelClient should be two separate objects
1392 * :ghissue:`2803`: KernelManager and KernelClient should be two separate objects
1393 * :ghissue:`2693`: TerminalIPythonApp configuration fails without ipython_config.py
1393 * :ghissue:`2693`: TerminalIPythonApp configuration fails without ipython_config.py
1394 * :ghissue:`2531`: IPython 0.13.1 python 2 32-bit installer includes 64-bit ipython*.exe launchers in the scripts folder
1394 * :ghissue:`2531`: IPython 0.13.1 python 2 32-bit installer includes 64-bit ipython*.exe launchers in the scripts folder
1395 * :ghissue:`2520`: Control-C kills port forwarding
1395 * :ghissue:`2520`: Control-C kills port forwarding
1396 * :ghissue:`2279`: Setting `__file__` to None breaks Mayavi import
1396 * :ghissue:`2279`: Setting `__file__` to None breaks Mayavi import
1397 * :ghissue:`2161`: When logged into notebook, long titles are incorrectly positioned
1397 * :ghissue:`2161`: When logged into notebook, long titles are incorrectly positioned
1398 * :ghissue:`1292`: Notebook, Print view should not be editable...
1398 * :ghissue:`1292`: Notebook, Print view should not be editable...
1399 * :ghissue:`1731`: test parallel launchers
1399 * :ghissue:`1731`: test parallel launchers
1400 * :ghissue:`3227`: Improve documentation of ipcontroller and possible BUG
1400 * :ghissue:`3227`: Improve documentation of ipcontroller and possible BUG
1401 * :ghissue:`2896`: IPController very unstable
1401 * :ghissue:`2896`: IPController very unstable
1402 * :ghissue:`3517`: documentation build broken in head
1402 * :ghissue:`3517`: documentation build broken in head
1403 * :ghissue:`3522`: UnicodeDecodeError: 'ascii' codec can't decode byte on Pycharm on Windows
1403 * :ghissue:`3522`: UnicodeDecodeError: 'ascii' codec can't decode byte on Pycharm on Windows
1404 * :ghissue:`3448`: Please include MathJax fonts with IPython Notebook
1404 * :ghissue:`3448`: Please include MathJax fonts with IPython Notebook
1405 * :ghissue:`3519`: IPython Parallel map mysteriously turns pandas Series into numpy ndarray
1405 * :ghissue:`3519`: IPython Parallel map mysteriously turns pandas Series into numpy ndarray
1406 * :ghissue:`3345`: IPython embedded shells ask if I want to exit, but I set confirm_exit = False
1406 * :ghissue:`3345`: IPython embedded shells ask if I want to exit, but I set confirm_exit = False
1407 * :ghissue:`3509`: IPython won't close without asking "Are you sure?" in Firefox
1407 * :ghissue:`3509`: IPython won't close without asking "Are you sure?" in Firefox
1408 * :ghissue:`3471`: Notebook jinja2/markupsafe dependencies in manual
1408 * :ghissue:`3471`: Notebook jinja2/markupsafe dependencies in manual
1409 * :ghissue:`3502`: Notebook broken in master
1409 * :ghissue:`3502`: Notebook broken in master
1410 * :ghissue:`3302`: autoreload does not work in ipython 0.13.x, python 3.3
1410 * :ghissue:`3302`: autoreload does not work in ipython 0.13.x, python 3.3
1411 * :ghissue:`3475`: no warning when leaving/closing notebook on master without saved changes
1411 * :ghissue:`3475`: no warning when leaving/closing notebook on master without saved changes
1412 * :ghissue:`3490`: No obvious feedback when kernel crashes
1412 * :ghissue:`3490`: No obvious feedback when kernel crashes
1413 * :ghissue:`1912`: Move all autoreload tests to their own group
1413 * :ghissue:`1912`: Move all autoreload tests to their own group
1414 * :ghissue:`2577`: sh.py and ipython for python 3.3
1414 * :ghissue:`2577`: sh.py and ipython for python 3.3
1415 * :ghissue:`3467`: %magic doesn't work
1415 * :ghissue:`3467`: %magic doesn't work
1416 * :ghissue:`3501`: Editing markdown cells that wrap has off-by-one errors in cursor positioning
1416 * :ghissue:`3501`: Editing markdown cells that wrap has off-by-one errors in cursor positioning
1417 * :ghissue:`3492`: IPython for Python3
1417 * :ghissue:`3492`: IPython for Python3
1418 * :ghissue:`3474`: unexpected keyword argument to remove_kernel
1418 * :ghissue:`3474`: unexpected keyword argument to remove_kernel
1419 * :ghissue:`2283`: TypeError when using '?' after a string in a %logstart session
1419 * :ghissue:`2283`: TypeError when using '?' after a string in a %logstart session
1420 * :ghissue:`2787`: rmagic and pandas DataFrame
1420 * :ghissue:`2787`: rmagic and pandas DataFrame
1421 * :ghissue:`2605`: Ellipsis literal triggers AttributeError
1421 * :ghissue:`2605`: Ellipsis literal triggers AttributeError
1422 * :ghissue:`1179`: Test unicode source in pinfo
1422 * :ghissue:`1179`: Test unicode source in pinfo
1423 * :ghissue:`2055`: drop Python 3.1 support
1423 * :ghissue:`2055`: drop Python 3.1 support
1424 * :ghissue:`2293`: IPEP 2: Input transformations
1424 * :ghissue:`2293`: IPEP 2: Input transformations
1425 * :ghissue:`2790`: %paste and %cpaste not removing "..." lines
1425 * :ghissue:`2790`: %paste and %cpaste not removing "..." lines
1426 * :ghissue:`3480`: Testing fails because iptest.py cannot be found
1426 * :ghissue:`3480`: Testing fails because iptest.py cannot be found
1427 * :ghissue:`2580`: will not run within PIL build directory
1427 * :ghissue:`2580`: will not run within PIL build directory
1428 * :ghissue:`2797`: RMagic, Dataframe Conversion Problem
1428 * :ghissue:`2797`: RMagic, Dataframe Conversion Problem
1429 * :ghissue:`2838`: Empty lines disappear from triple-quoted literals.
1429 * :ghissue:`2838`: Empty lines disappear from triple-quoted literals.
1430 * :ghissue:`3050`: Broken link on IPython.core.display page
1430 * :ghissue:`3050`: Broken link on IPython.core.display page
1431 * :ghissue:`3473`: Config not passed down to subcommands
1431 * :ghissue:`3473`: Config not passed down to subcommands
1432 * :ghissue:`3462`: Setting log_format in config file results in error (and no format changes)
1432 * :ghissue:`3462`: Setting log_format in config file results in error (and no format changes)
1433 * :ghissue:`3311`: Notebook (occasionally) not working on windows (Sophos AV)
1433 * :ghissue:`3311`: Notebook (occasionally) not working on windows (Sophos AV)
1434 * :ghissue:`3461`: Cursor positioning off by a character in auto-wrapped lines
1434 * :ghissue:`3461`: Cursor positioning off by a character in auto-wrapped lines
1435 * :ghissue:`3454`: _repr_html_ error
1435 * :ghissue:`3454`: _repr_html_ error
1436 * :ghissue:`3457`: Space in long Paragraph Markdown cell with Chinese or Japanese
1436 * :ghissue:`3457`: Space in long Paragraph Markdown cell with Chinese or Japanese
1437 * :ghissue:`3447`: Run Cell Does not Work
1437 * :ghissue:`3447`: Run Cell Does not Work
1438 * :ghissue:`1373`: Last lines in long cells are hidden
1438 * :ghissue:`1373`: Last lines in long cells are hidden
1439 * :ghissue:`1504`: Revisit serialization in IPython.parallel
1439 * :ghissue:`1504`: Revisit serialization in IPython.parallel
1440 * :ghissue:`1459`: Can't connect to 2 HTTPS notebook servers on the same host
1440 * :ghissue:`1459`: Can't connect to 2 HTTPS notebook servers on the same host
1441 * :ghissue:`678`: Input prompt stripping broken with multiline data structures
1441 * :ghissue:`678`: Input prompt stripping broken with multiline data structures
1442 * :ghissue:`3001`: IPython.notebook.dirty flag is not set when a cell has unsaved changes
1442 * :ghissue:`3001`: IPython.notebook.dirty flag is not set when a cell has unsaved changes
1443 * :ghissue:`3077`: Multiprocessing semantics in parallel.view.map
1443 * :ghissue:`3077`: Multiprocessing semantics in parallel.view.map
1444 * :ghissue:`3056`: links across notebooks
1444 * :ghissue:`3056`: links across notebooks
1445 * :ghissue:`3120`: Tornado 3.0
1445 * :ghissue:`3120`: Tornado 3.0
1446 * :ghissue:`3156`: update pretty to use Python 3 style for sets
1446 * :ghissue:`3156`: update pretty to use Python 3 style for sets
1447 * :ghissue:`3197`: Can't escape multiple dollar signs in a markdown cell
1447 * :ghissue:`3197`: Can't escape multiple dollar signs in a markdown cell
1448 * :ghissue:`3309`: `Image()` signature/doc improvements
1448 * :ghissue:`3309`: `Image()` signature/doc improvements
1449 * :ghissue:`3415`: Bug in IPython/external/path/__init__.py
1449 * :ghissue:`3415`: Bug in IPython/external/path/__init__.py
1450 * :ghissue:`3446`: Feature suggestion: Download matplotlib figure to client browser
1450 * :ghissue:`3446`: Feature suggestion: Download matplotlib figure to client browser
1451 * :ghissue:`3295`: autoexported notebooks: only export explicitly marked cells
1451 * :ghissue:`3295`: autoexported notebooks: only export explicitly marked cells
1452 * :ghissue:`3442`: Notebook: Summary table extracted from markdown headers
1452 * :ghissue:`3442`: Notebook: Summary table extracted from markdown headers
1453 * :ghissue:`3438`: Zooming notebook in chrome is broken in master
1453 * :ghissue:`3438`: Zooming notebook in chrome is broken in master
1454 * :ghissue:`1378`: Implement autosave in notebook
1454 * :ghissue:`1378`: Implement autosave in notebook
1455 * :ghissue:`3437`: Highlighting matching parentheses
1455 * :ghissue:`3437`: Highlighting matching parentheses
1456 * :ghissue:`3435`: module search segfault
1456 * :ghissue:`3435`: module search segfault
1457 * :ghissue:`3424`: ipcluster --version
1457 * :ghissue:`3424`: ipcluster --version
1458 * :ghissue:`3434`: 0.13.2 Ipython/genutils.py doesn't exist
1458 * :ghissue:`3434`: 0.13.2 Ipython/genutils.py doesn't exist
1459 * :ghissue:`3426`: Feature request: Save by cell and not by line #: IPython %save magic
1459 * :ghissue:`3426`: Feature request: Save by cell and not by line #: IPython %save magic
1460 * :ghissue:`3412`: Non Responsive Kernel: Running a Django development server from an IPython Notebook
1460 * :ghissue:`3412`: Non Responsive Kernel: Running a Django development server from an IPython Notebook
1461 * :ghissue:`3408`: Save cell toolbar and slide type metadata in notebooks
1461 * :ghissue:`3408`: Save cell toolbar and slide type metadata in notebooks
1462 * :ghissue:`3246`: %paste regression with blank lines
1462 * :ghissue:`3246`: %paste regression with blank lines
1463 * :ghissue:`3404`: Weird error with $variable and grep in command line magic (!command)
1463 * :ghissue:`3404`: Weird error with $variable and grep in command line magic (!command)
1464 * :ghissue:`3405`: Key auto-completion in dictionaries?
1464 * :ghissue:`3405`: Key auto-completion in dictionaries?
1465 * :ghissue:`3259`: Codemirror linenumber css broken
1465 * :ghissue:`3259`: Codemirror linenumber css broken
1466 * :ghissue:`3397`: Vertical text misalignment in Markdown cells
1466 * :ghissue:`3397`: Vertical text misalignment in Markdown cells
1467 * :ghissue:`3391`: Revert #3358 once fix integrated into CM
1467 * :ghissue:`3391`: Revert #3358 once fix integrated into CM
1468 * :ghissue:`3360`: Error 500 while saving IPython notebook
1468 * :ghissue:`3360`: Error 500 while saving IPython notebook
1469 * :ghissue:`3375`: Frequent Safari/Webkit crashes
1469 * :ghissue:`3375`: Frequent Safari/Webkit crashes
1470 * :ghissue:`3365`: zmq frontend
1470 * :ghissue:`3365`: zmq frontend
1471 * :ghissue:`2654`: User_expression issues
1471 * :ghissue:`2654`: User_expression issues
1472 * :ghissue:`3389`: Store history as plain text
1472 * :ghissue:`3389`: Store history as plain text
1473 * :ghissue:`3388`: Ipython parallel: open TCP connection created for each result returned from engine
1473 * :ghissue:`3388`: Ipython parallel: open TCP connection created for each result returned from engine
1474 * :ghissue:`3385`: setup.py failure on Python 3
1474 * :ghissue:`3385`: setup.py failure on Python 3
1475 * :ghissue:`3376`: Setting `__module__` to None breaks pretty printing
1475 * :ghissue:`3376`: Setting `__module__` to None breaks pretty printing
1476 * :ghissue:`3374`: ipython qtconsole does not display the prompt on OSX
1476 * :ghissue:`3374`: ipython qtconsole does not display the prompt on OSX
1477 * :ghissue:`3380`: simple call to kernel
1477 * :ghissue:`3380`: simple call to kernel
1478 * :ghissue:`3379`: TaskRecord key 'started' not set
1478 * :ghissue:`3379`: TaskRecord key 'started' not set
1479 * :ghissue:`3241`: notebook connection time out
1479 * :ghissue:`3241`: notebook connection time out
1480 * :ghissue:`3334`: magic interpreter interprets non magic commands?
1480 * :ghissue:`3334`: magic interpreter interprets non magic commands?
1481 * :ghissue:`3326`: python3.3: Type error when launching SGE cluster in IPython notebook
1481 * :ghissue:`3326`: python3.3: Type error when launching SGE cluster in IPython notebook
1482 * :ghissue:`3349`: pip3 doesn't run 2to3?
1482 * :ghissue:`3349`: pip3 doesn't run 2to3?
1483 * :ghissue:`3347`: Longlist support in ipdb
1483 * :ghissue:`3347`: Longlist support in ipdb
1484 * :ghissue:`3343`: Make pip install / easy_install faster
1484 * :ghissue:`3343`: Make pip install / easy_install faster
1485 * :ghissue:`3337`: git submodules broke nightly PPA builds
1485 * :ghissue:`3337`: git submodules broke nightly PPA builds
1486 * :ghissue:`3206`: Copy/Paste Regression in QtConsole
1486 * :ghissue:`3206`: Copy/Paste Regression in QtConsole
1487 * :ghissue:`3329`: Buggy linewrap in Mac OSX Terminal (Mountain Lion)
1487 * :ghissue:`3329`: Buggy linewrap in Mac OSX Terminal (Mountain Lion)
1488 * :ghissue:`3327`: Qt version check broken
1488 * :ghissue:`3327`: Qt version check broken
1489 * :ghissue:`3303`: parallel tasks never finish under heavy load
1489 * :ghissue:`3303`: parallel tasks never finish under heavy load
1490 * :ghissue:`1381`: '\\' for equation continuations require an extra '\' in markdown cells
1490 * :ghissue:`1381`: '\\' for equation continuations require an extra '\' in markdown cells
1491 * :ghissue:`3314`: Error launching IPython
1491 * :ghissue:`3314`: Error launching IPython
1492 * :ghissue:`3306`: Test failure when running on a Vagrant VM
1492 * :ghissue:`3306`: Test failure when running on a Vagrant VM
1493 * :ghissue:`3280`: IPython.utils.process.getoutput returns stderr
1493 * :ghissue:`3280`: IPython.utils.process.getoutput returns stderr
1494 * :ghissue:`3299`: variables named _ or __ exhibit incorrect behavior
1494 * :ghissue:`3299`: variables named _ or __ exhibit incorrect behavior
1495 * :ghissue:`3196`: add an "x" or similar to htmlnotebook pager
1495 * :ghissue:`3196`: add an "x" or similar to htmlnotebook pager
1496 * :ghissue:`3293`: Several 404 errors for js files Firefox
1496 * :ghissue:`3293`: Several 404 errors for js files Firefox
1497 * :ghissue:`3292`: syntax highlighting in chrome on OSX 10.8.3
1497 * :ghissue:`3292`: syntax highlighting in chrome on OSX 10.8.3
1498 * :ghissue:`3288`: Latest dev version hangs on page load
1498 * :ghissue:`3288`: Latest dev version hangs on page load
1499 * :ghissue:`3283`: ipython dev retains directory information after directory change
1499 * :ghissue:`3283`: ipython dev retains directory information after directory change
1500 * :ghissue:`3279`: custom.css is not overridden in the dev IPython (1.0)
1500 * :ghissue:`3279`: custom.css is not overridden in the dev IPython (1.0)
1501 * :ghissue:`2727`: %run -m doesn't support relative imports
1501 * :ghissue:`2727`: %run -m doesn't support relative imports
1502 * :ghissue:`3268`: GFM triple backquote and unknown language
1502 * :ghissue:`3268`: GFM triple backquote and unknown language
1503 * :ghissue:`3273`: Suppressing all plot related outputs
1503 * :ghissue:`3273`: Suppressing all plot related outputs
1504 * :ghissue:`3272`: Backspace while completing load previous page
1504 * :ghissue:`3272`: Backspace while completing load previous page
1505 * :ghissue:`3260`: Js error in savewidget
1505 * :ghissue:`3260`: Js error in savewidget
1506 * :ghissue:`3247`: scrollbar in notebook when not needed?
1506 * :ghissue:`3247`: scrollbar in notebook when not needed?
1507 * :ghissue:`3243`: notebook: option to view json source from browser
1507 * :ghissue:`3243`: notebook: option to view json source from browser
1508 * :ghissue:`3265`: 404 errors when running IPython 1.0dev
1508 * :ghissue:`3265`: 404 errors when running IPython 1.0dev
1509 * :ghissue:`3257`: setup.py not finding submodules
1509 * :ghissue:`3257`: setup.py not finding submodules
1510 * :ghissue:`3253`: Incorrect Qt and PySide version comparison
1510 * :ghissue:`3253`: Incorrect Qt and PySide version comparison
1511 * :ghissue:`3248`: Cell magics broken in Qt console
1511 * :ghissue:`3248`: Cell magics broken in Qt console
1512 * :ghissue:`3012`: Problems with the less based style.min.css
1512 * :ghissue:`3012`: Problems with the less based style.min.css
1513 * :ghissue:`2390`: Image width/height don't work in embedded images
1513 * :ghissue:`2390`: Image width/height don't work in embedded images
1514 * :ghissue:`3236`: cannot set TerminalIPythonApp.log_format
1514 * :ghissue:`3236`: cannot set TerminalIPythonApp.log_format
1515 * :ghissue:`3214`: notebook kernel dies if started with invalid parameter
1515 * :ghissue:`3214`: notebook kernel dies if started with invalid parameter
1516 * :ghissue:`2980`: Remove HTMLCell ?
1516 * :ghissue:`2980`: Remove HTMLCell ?
1517 * :ghissue:`3128`: qtconsole hangs on importing pylab (using X forwarding)
1517 * :ghissue:`3128`: qtconsole hangs on importing pylab (using X forwarding)
1518 * :ghissue:`3198`: Hitting recursive depth causing all notebook pages to hang
1518 * :ghissue:`3198`: Hitting recursive depth causing all notebook pages to hang
1519 * :ghissue:`3218`: race conditions in profile directory creation
1519 * :ghissue:`3218`: race conditions in profile directory creation
1520 * :ghissue:`3177`: OverflowError execption in handlers.py
1520 * :ghissue:`3177`: OverflowError execption in handlers.py
1521 * :ghissue:`2563`: core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation
1521 * :ghissue:`2563`: core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation
1522 * :ghissue:`3207`: [Feature] folders for ipython notebook dashboard
1522 * :ghissue:`3207`: [Feature] folders for ipython notebook dashboard
1523 * :ghissue:`3178`: cell magics do not work with empty lines after #2447
1523 * :ghissue:`3178`: cell magics do not work with empty lines after #2447
1524 * :ghissue:`3204`: Default plot() colors unsuitable for red-green colorblind users
1524 * :ghissue:`3204`: Default plot() colors unsuitable for red-green colorblind users
1525 * :ghissue:`1789`: ``:\n/*foo`` turns into ``:\n*(foo)`` in triple-quoted strings.
1525 * :ghissue:`1789`: ``:\n/*foo`` turns into ``:\n*(foo)`` in triple-quoted strings.
1526 * :ghissue:`3202`: File cell magic fails with blank lines
1526 * :ghissue:`3202`: File cell magic fails with blank lines
1527 * :ghissue:`3199`: %%cython -a stopped working?
1527 * :ghissue:`3199`: %%cython -a stopped working?
1528 * :ghissue:`2688`: obsolete imports in import autocompletion
1528 * :ghissue:`2688`: obsolete imports in import autocompletion
1529 * :ghissue:`3192`: Python2, Unhandled exception, __builtin__.True = False
1529 * :ghissue:`3192`: Python2, Unhandled exception, __builtin__.True = False
1530 * :ghissue:`3179`: script magic error message loop
1530 * :ghissue:`3179`: script magic error message loop
1531 * :ghissue:`3009`: use XDG_CACHE_HOME for cython objects
1531 * :ghissue:`3009`: use XDG_CACHE_HOME for cython objects
1532 * :ghissue:`3059`: Bugs in 00_notebook_tour example.
1532 * :ghissue:`3059`: Bugs in 00_notebook_tour example.
1533 * :ghissue:`3104`: Integrate a javascript file manager into the notebook front end
1533 * :ghissue:`3104`: Integrate a javascript file manager into the notebook front end
1534 * :ghissue:`3176`: Particular equation not rendering (notebook)
1534 * :ghissue:`3176`: Particular equation not rendering (notebook)
1535 * :ghissue:`1133`: [notebook] readonly and upload files/UI
1535 * :ghissue:`1133`: [notebook] readonly and upload files/UI
1536 * :ghissue:`2975`: [notebook] python file and cell toolbar
1536 * :ghissue:`2975`: [notebook] python file and cell toolbar
1537 * :ghissue:`3017`: SciPy.weave broken in IPython notebook/ qtconsole
1537 * :ghissue:`3017`: SciPy.weave broken in IPython notebook/ qtconsole
1538 * :ghissue:`3161`: paste macro not reading spaces correctly
1538 * :ghissue:`3161`: paste macro not reading spaces correctly
1539 * :ghissue:`2835`: %paste not working on WinXpSP3/ipython-0.13.1.py2-win32-PROPER.exe/python27
1539 * :ghissue:`2835`: %paste not working on WinXpSP3/ipython-0.13.1.py2-win32-PROPER.exe/python27
1540 * :ghissue:`2628`: Make transformers work for lines following decorators
1540 * :ghissue:`2628`: Make transformers work for lines following decorators
1541 * :ghissue:`2612`: Multiline String containing ":\n?foo\n" confuses interpreter to replace ?foo with get_ipython().magic(u'pinfo foo')
1541 * :ghissue:`2612`: Multiline String containing ":\n?foo\n" confuses interpreter to replace ?foo with get_ipython().magic(u'pinfo foo')
1542 * :ghissue:`2539`: Request: Enable cell magics inside of .ipy scripts
1542 * :ghissue:`2539`: Request: Enable cell magics inside of .ipy scripts
1543 * :ghissue:`2507`: Multiline string does not work (includes `...`) with doctest type input in IPython notebook
1543 * :ghissue:`2507`: Multiline string does not work (includes `...`) with doctest type input in IPython notebook
1544 * :ghissue:`2164`: Request: Line breaks in line magic command
1544 * :ghissue:`2164`: Request: Line breaks in line magic command
1545 * :ghissue:`3106`: poor parallel performance with many jobs
1545 * :ghissue:`3106`: poor parallel performance with many jobs
1546 * :ghissue:`2438`: print inside multiprocessing crashes Ipython kernel
1546 * :ghissue:`2438`: print inside multiprocessing crashes Ipython kernel
1547 * :ghissue:`3155`: Bad md5 hash for package 0.13.2
1547 * :ghissue:`3155`: Bad md5 hash for package 0.13.2
1548 * :ghissue:`3045`: [Notebook] Ipython Kernel does not start if disconnected from internet(/network?)
1548 * :ghissue:`3045`: [Notebook] Ipython Kernel does not start if disconnected from internet(/network?)
1549 * :ghissue:`3146`: Using celery in python 3.3
1549 * :ghissue:`3146`: Using celery in python 3.3
1550 * :ghissue:`3145`: The notebook viewer is down
1550 * :ghissue:`3145`: The notebook viewer is down
1551 * :ghissue:`2385`: grep --color not working well with notebook
1551 * :ghissue:`2385`: grep --color not working well with notebook
1552 * :ghissue:`3131`: Quickly install from source in a clean virtualenv?
1552 * :ghissue:`3131`: Quickly install from source in a clean virtualenv?
1553 * :ghissue:`3139`: Rolling log for ipython
1553 * :ghissue:`3139`: Rolling log for ipython
1554 * :ghissue:`3127`: notebook with pylab=inline appears to call figure.draw twice
1554 * :ghissue:`3127`: notebook with pylab=inline appears to call figure.draw twice
1555 * :ghissue:`3129`: Walking up and down the call stack
1555 * :ghissue:`3129`: Walking up and down the call stack
1556 * :ghissue:`3123`: Notebook crashed if unplugged ethernet cable
1556 * :ghissue:`3123`: Notebook crashed if unplugged ethernet cable
1557 * :ghissue:`3121`: NB should use normalize.css? was #3049
1557 * :ghissue:`3121`: NB should use normalize.css? was #3049
1558 * :ghissue:`3087`: Disable spellchecking in notebook
1558 * :ghissue:`3087`: Disable spellchecking in notebook
1559 * :ghissue:`3084`: ipython pyqt 4.10 incompatibilty, QTextBlockUserData
1559 * :ghissue:`3084`: ipython pyqt 4.10 incompatibilty, QTextBlockUserData
1560 * :ghissue:`3113`: Fails to install under Jython 2.7 beta
1560 * :ghissue:`3113`: Fails to install under Jython 2.7 beta
1561 * :ghissue:`3110`: Render of h4 headers is not correct in notebook (error in renderedhtml.css)
1561 * :ghissue:`3110`: Render of h4 headers is not correct in notebook (error in renderedhtml.css)
1562 * :ghissue:`3109`: BUG: read_csv: dtype={'id' : np.str}: Datatype not understood
1562 * :ghissue:`3109`: BUG: read_csv: dtype={'id' : np.str}: Datatype not understood
1563 * :ghissue:`3107`: Autocompletion of object attributes in arrays
1563 * :ghissue:`3107`: Autocompletion of object attributes in arrays
1564 * :ghissue:`3103`: Reset locale setting in qtconsole
1564 * :ghissue:`3103`: Reset locale setting in qtconsole
1565 * :ghissue:`3090`: python3.3 Entry Point not found
1565 * :ghissue:`3090`: python3.3 Entry Point not found
1566 * :ghissue:`3081`: UnicodeDecodeError when using Image(data="some.jpeg")
1566 * :ghissue:`3081`: UnicodeDecodeError when using Image(data="some.jpeg")
1567 * :ghissue:`2834`: url regexp only finds one link
1567 * :ghissue:`2834`: url regexp only finds one link
1568 * :ghissue:`3091`: qtconsole breaks doctest.testmod() in Python 3.3
1568 * :ghissue:`3091`: qtconsole breaks doctest.testmod() in Python 3.3
1569 * :ghissue:`3074`: SIGUSR1 not available on Windows
1569 * :ghissue:`3074`: SIGUSR1 not available on Windows
1570 * :ghissue:`2996`: registration::purging stalled registration high occurrence in small clusters
1570 * :ghissue:`2996`: registration::purging stalled registration high occurrence in small clusters
1571 * :ghissue:`3065`: diff-ability of notebooks
1571 * :ghissue:`3065`: diff-ability of notebooks
1572 * :ghissue:`3067`: Crash with pygit2
1572 * :ghissue:`3067`: Crash with pygit2
1573 * :ghissue:`3061`: Bug handling Ellipsis
1573 * :ghissue:`3061`: Bug handling Ellipsis
1574 * :ghissue:`3049`: NB css inconsistent behavior between ff and webkit
1574 * :ghissue:`3049`: NB css inconsistent behavior between ff and webkit
1575 * :ghissue:`3039`: unicode errors when opening a new notebook
1575 * :ghissue:`3039`: unicode errors when opening a new notebook
1576 * :ghissue:`3048`: Installning ipython qtConsole should be easyer att Windows
1576 * :ghissue:`3048`: Installning ipython qtConsole should be easyer att Windows
1577 * :ghissue:`3042`: Profile creation fails on 0.13.2 branch
1577 * :ghissue:`3042`: Profile creation fails on 0.13.2 branch
1578 * :ghissue:`3035`: docstring typo/inconsistency: mention of an xml notebook format?
1578 * :ghissue:`3035`: docstring typo/inconsistency: mention of an xml notebook format?
1579 * :ghissue:`3031`: HDF5 library segfault (possibly due to mismatching headers?)
1579 * :ghissue:`3031`: HDF5 library segfault (possibly due to mismatching headers?)
1580 * :ghissue:`2991`: In notebook importing sympy closes ipython kernel
1580 * :ghissue:`2991`: In notebook importing sympy closes ipython kernel
1581 * :ghissue:`3027`: f.__globals__ causes an error in Python 3.3
1581 * :ghissue:`3027`: f.__globals__ causes an error in Python 3.3
1582 * :ghissue:`3020`: Failing test test_interactiveshell.TestAstTransform on Windows
1582 * :ghissue:`3020`: Failing test test_interactiveshell.TestAstTransform on Windows
1583 * :ghissue:`3023`: alt text for "click to expand output" has typo in alt text
1583 * :ghissue:`3023`: alt text for "click to expand output" has typo in alt text
1584 * :ghissue:`2963`: %history to print all input history of a previous session when line range is omitted
1584 * :ghissue:`2963`: %history to print all input history of a previous session when line range is omitted
1585 * :ghissue:`3018`: IPython installed within virtualenv. WARNING "Please install IPython inside the virtualtenv"
1585 * :ghissue:`3018`: IPython installed within virtualenv. WARNING "Please install IPython inside the virtualtenv"
1586 * :ghissue:`2484`: Completion in Emacs *Python* buffer causes prompt to be increased.
1586 * :ghissue:`2484`: Completion in Emacs *Python* buffer causes prompt to be increased.
1587 * :ghissue:`3014`: Ctrl-C finishes notebook immediately
1587 * :ghissue:`3014`: Ctrl-C finishes notebook immediately
1588 * :ghissue:`3007`: cython_pyximport reload broken in python3
1588 * :ghissue:`3007`: cython_pyximport reload broken in python3
1589 * :ghissue:`2955`: Incompatible Qt imports when running inprocess_qtconsole
1589 * :ghissue:`2955`: Incompatible Qt imports when running inprocess_qtconsole
1590 * :ghissue:`3006`: [IPython 0.13.1] The check of PyQt version is wrong
1590 * :ghissue:`3006`: [IPython 0.13.1] The check of PyQt version is wrong
1591 * :ghissue:`3005`: Renaming a notebook to an existing notebook name overwrites the other file
1591 * :ghissue:`3005`: Renaming a notebook to an existing notebook name overwrites the other file
1592 * :ghissue:`2940`: Abort trap in IPython Notebook after installing matplotlib
1592 * :ghissue:`2940`: Abort trap in IPython Notebook after installing matplotlib
1593 * :ghissue:`3000`: issue #3000
1593 * :ghissue:`3000`: issue #3000
1594 * :ghissue:`2995`: ipython_directive.py fails on multiline when prompt number < 100
1594 * :ghissue:`2995`: ipython_directive.py fails on multiline when prompt number < 100
1595 * :ghissue:`2993`: File magic (%%file) does not work with paths beginning with tilde (e.g., ~/anaconda/stuff.txt)
1595 * :ghissue:`2993`: File magic (%%file) does not work with paths beginning with tilde (e.g., ~/anaconda/stuff.txt)
1596 * :ghissue:`2992`: Cell-based input for console and qt frontends?
1596 * :ghissue:`2992`: Cell-based input for console and qt frontends?
1597 * :ghissue:`2425`: Liaise with Spyder devs to integrate newer IPython
1597 * :ghissue:`2425`: Liaise with Spyder devs to integrate newer IPython
1598 * :ghissue:`2986`: requesting help in a loop can damage a notebook
1598 * :ghissue:`2986`: requesting help in a loop can damage a notebook
1599 * :ghissue:`2978`: v1.0-dev build errors on Arch with Python 3.
1599 * :ghissue:`2978`: v1.0-dev build errors on Arch with Python 3.
1600 * :ghissue:`2557`: [refactor] Insert_cell_at_index()
1600 * :ghissue:`2557`: [refactor] Insert_cell_at_index()
1601 * :ghissue:`2969`: ipython command does not work in terminal
1601 * :ghissue:`2969`: ipython command does not work in terminal
1602 * :ghissue:`2762`: OSX wxPython (osx_cocoa, 64bit) command "%gui wx" blocks the interpreter
1602 * :ghissue:`2762`: OSX wxPython (osx_cocoa, 64bit) command "%gui wx" blocks the interpreter
1603 * :ghissue:`2956`: Silent importing of submodules differs from standard Python3.2 interpreter's behavior
1603 * :ghissue:`2956`: Silent importing of submodules differs from standard Python3.2 interpreter's behavior
1604 * :ghissue:`2943`: Up arrow key history search gets stuck in QTConsole
1604 * :ghissue:`2943`: Up arrow key history search gets stuck in QTConsole
1605 * :ghissue:`2953`: using 'nonlocal' declaration in global scope causes ipython3 crash
1605 * :ghissue:`2953`: using 'nonlocal' declaration in global scope causes ipython3 crash
1606 * :ghissue:`2952`: qtconsole ignores exec_lines
1606 * :ghissue:`2952`: qtconsole ignores exec_lines
1607 * :ghissue:`2949`: ipython crashes due to atexit()
1607 * :ghissue:`2949`: ipython crashes due to atexit()
1608 * :ghissue:`2947`: From rmagic to an R console
1608 * :ghissue:`2947`: From rmagic to an R console
1609 * :ghissue:`2938`: docstring pane not showing in notebook
1609 * :ghissue:`2938`: docstring pane not showing in notebook
1610 * :ghissue:`2936`: Tornado assumes invalid signature for parse_qs on Python 3.1
1610 * :ghissue:`2936`: Tornado assumes invalid signature for parse_qs on Python 3.1
1611 * :ghissue:`2935`: unable to find python after easy_install / pip install
1611 * :ghissue:`2935`: unable to find python after easy_install / pip install
1612 * :ghissue:`2920`: Add undo-cell deletion menu
1612 * :ghissue:`2920`: Add undo-cell deletion menu
1613 * :ghissue:`2914`: BUG:saving a modified .py file after loading a module kills the kernel
1613 * :ghissue:`2914`: BUG:saving a modified .py file after loading a module kills the kernel
1614 * :ghissue:`2925`: BUG: kernel dies if user sets sys.stderr or sys.stdout to a file object
1614 * :ghissue:`2925`: BUG: kernel dies if user sets sys.stderr or sys.stdout to a file object
1615 * :ghissue:`2909`: LaTeX sometimes fails to render in markdown cells with some curly bracket + underscore combinations
1615 * :ghissue:`2909`: LaTeX sometimes fails to render in markdown cells with some curly bracket + underscore combinations
1616 * :ghissue:`2898`: Skip ipc tests on Windows
1616 * :ghissue:`2898`: Skip ipc tests on Windows
1617 * :ghissue:`2902`: ActiveState attempt to build ipython 0.12.1 for python 3.2.2 for Mac OS failed
1617 * :ghissue:`2902`: ActiveState attempt to build ipython 0.12.1 for python 3.2.2 for Mac OS failed
1618 * :ghissue:`2899`: Test failure in IPython.core.tests.test_magic.test_time
1618 * :ghissue:`2899`: Test failure in IPython.core.tests.test_magic.test_time
1619 * :ghissue:`2890`: Test failure when fabric not installed
1619 * :ghissue:`2890`: Test failure when fabric not installed
1620 * :ghissue:`2892`: IPython tab completion bug for paths
1620 * :ghissue:`2892`: IPython tab completion bug for paths
1621 * :ghissue:`1340`: Allow input cells to be collapsed
1621 * :ghissue:`1340`: Allow input cells to be collapsed
1622 * :ghissue:`2881`: ? command in notebook does not show help in Safari
1622 * :ghissue:`2881`: ? command in notebook does not show help in Safari
1623 * :ghissue:`2751`: %%timeit should use minutes to format running time in long running cells
1623 * :ghissue:`2751`: %%timeit should use minutes to format running time in long running cells
1624 * :ghissue:`2879`: When importing a module with a wrong name, ipython crashes
1624 * :ghissue:`2879`: When importing a module with a wrong name, ipython crashes
1625 * :ghissue:`2862`: %%timeit should warn of empty contents
1625 * :ghissue:`2862`: %%timeit should warn of empty contents
1626 * :ghissue:`2485`: History navigation breaks in qtconsole
1626 * :ghissue:`2485`: History navigation breaks in qtconsole
1627 * :ghissue:`2785`: gevent input hook
1627 * :ghissue:`2785`: gevent input hook
1628 * :ghissue:`2843`: Sliently running code in clipboard (with paste, cpaste and variants)
1628 * :ghissue:`2843`: Sliently running code in clipboard (with paste, cpaste and variants)
1629 * :ghissue:`2784`: %run -t -N<N> error
1629 * :ghissue:`2784`: %run -t -N<N> error
1630 * :ghissue:`2732`: Test failure with FileLinks class on Windows
1630 * :ghissue:`2732`: Test failure with FileLinks class on Windows
1631 * :ghissue:`2860`: ipython help notebook -> KeyError: 'KernelManager'
1631 * :ghissue:`2860`: ipython help notebook -> KeyError: 'KernelManager'
1632 * :ghissue:`2858`: Where is the installed `ipython` script?
1632 * :ghissue:`2858`: Where is the installed `ipython` script?
1633 * :ghissue:`2856`: Edit code entered from ipython in external editor
1633 * :ghissue:`2856`: Edit code entered from ipython in external editor
1634 * :ghissue:`2722`: IPC transport option not taking effect ?
1634 * :ghissue:`2722`: IPC transport option not taking effect ?
1635 * :ghissue:`2473`: Better error messages in ipengine/ipcontroller
1635 * :ghissue:`2473`: Better error messages in ipengine/ipcontroller
1636 * :ghissue:`2836`: Cannot send builtin module definitions to IP engines
1636 * :ghissue:`2836`: Cannot send builtin module definitions to IP engines
1637 * :ghissue:`2833`: Any reason not to use super() ?
1637 * :ghissue:`2833`: Any reason not to use super() ?
1638 * :ghissue:`2781`: Cannot interrupt infinite loops in the notebook
1638 * :ghissue:`2781`: Cannot interrupt infinite loops in the notebook
1639 * :ghissue:`2150`: clippath_demo.py in matplotlib example does not work with inline backend
1639 * :ghissue:`2150`: clippath_demo.py in matplotlib example does not work with inline backend
1640 * :ghissue:`2634`: Numbered list in notebook markdown cell renders with Roman numerals instead of numbers
1640 * :ghissue:`2634`: Numbered list in notebook markdown cell renders with Roman numerals instead of numbers
1641 * :ghissue:`2230`: IPython crashing during startup with "AttributeError: 'NoneType' object has no attribute 'rstrip'"
1641 * :ghissue:`2230`: IPython crashing during startup with "AttributeError: 'NoneType' object has no attribute 'rstrip'"
1642 * :ghissue:`2483`: nbviewer bug? with multi-file gists
1642 * :ghissue:`2483`: nbviewer bug? with multi-file gists
1643 * :ghissue:`2466`: mistyping `ed -p` breaks `ed -p`
1643 * :ghissue:`2466`: mistyping `ed -p` breaks `ed -p`
1644 * :ghissue:`2477`: Glob expansion tests fail on Windows
1644 * :ghissue:`2477`: Glob expansion tests fail on Windows
1645 * :ghissue:`2622`: doc issue: notebooks that ship with Ipython .13 are written for python 2.x
1645 * :ghissue:`2622`: doc issue: notebooks that ship with Ipython .13 are written for python 2.x
1646 * :ghissue:`2626`: Add "Cell -> Run All Keep Going" for notebooks
1646 * :ghissue:`2626`: Add "Cell -> Run All Keep Going" for notebooks
1647 * :ghissue:`1223`: Show last modification date of each notebook
1647 * :ghissue:`1223`: Show last modification date of each notebook
1648 * :ghissue:`2621`: user request: put link to example notebooks in Dashboard
1648 * :ghissue:`2621`: user request: put link to example notebooks in Dashboard
1649 * :ghissue:`2564`: grid blanks plots in ipython pylab inline mode (interactive)
1649 * :ghissue:`2564`: grid blanks plots in ipython pylab inline mode (interactive)
1650 * :ghissue:`2532`: Django shell (IPython) gives NameError on dict comprehensions
1650 * :ghissue:`2532`: Django shell (IPython) gives NameError on dict comprehensions
1651 * :ghissue:`2188`: ipython crashes on ctrl-c
1651 * :ghissue:`2188`: ipython crashes on ctrl-c
1652 * :ghissue:`2391`: Request: nbformat API to load/save without changing version
1652 * :ghissue:`2391`: Request: nbformat API to load/save without changing version
1653 * :ghissue:`2355`: Restart kernel message even though kernel is perfectly alive
1653 * :ghissue:`2355`: Restart kernel message even though kernel is perfectly alive
1654 * :ghissue:`2306`: Garbled input text after reverse search on Mac OS X
1654 * :ghissue:`2306`: Garbled input text after reverse search on Mac OS X
1655 * :ghissue:`2297`: ipdb with separate kernel/client pushing stdout to kernel process only
1655 * :ghissue:`2297`: ipdb with separate kernel/client pushing stdout to kernel process only
1656 * :ghissue:`2180`: Have [kernel busy] overridden only by [kernel idle]
1656 * :ghissue:`2180`: Have [kernel busy] overridden only by [kernel idle]
1657 * :ghissue:`1188`: Pylab with OSX backend keyboard focus issue and hang
1657 * :ghissue:`1188`: Pylab with OSX backend keyboard focus issue and hang
1658 * :ghissue:`2107`: test_octavemagic.py[everything] fails
1658 * :ghissue:`2107`: test_octavemagic.py[everything] fails
1659 * :ghissue:`1212`: Better understand/document browser compatibility
1659 * :ghissue:`1212`: Better understand/document browser compatibility
1660 * :ghissue:`1585`: Refactor notebook templates to use Jinja2 and make each page a separate directory
1660 * :ghissue:`1585`: Refactor notebook templates to use Jinja2 and make each page a separate directory
1661 * :ghissue:`1443`: xticks scaling factor partially obscured with qtconsole and inline plotting
1661 * :ghissue:`1443`: xticks scaling factor partially obscured with qtconsole and inline plotting
1662 * :ghissue:`1209`: can't make %result work as in doc.
1662 * :ghissue:`1209`: can't make %result work as in doc.
1663 * :ghissue:`1200`: IPython 0.12 Windows install fails on Vista
1663 * :ghissue:`1200`: IPython 0.12 Windows install fails on Vista
1664 * :ghissue:`1127`: Interactive test scripts for Qt/nb issues
1664 * :ghissue:`1127`: Interactive test scripts for Qt/nb issues
1665 * :ghissue:`959`: Matplotlib figures hide
1665 * :ghissue:`959`: Matplotlib figures hide
1666 * :ghissue:`2071`: win32 installer issue on Windows XP
1666 * :ghissue:`2071`: win32 installer issue on Windows XP
1667 * :ghissue:`2610`: ZMQInteractiveShell.colors being ignored
1667 * :ghissue:`2610`: ZMQInteractiveShell.colors being ignored
1668 * :ghissue:`2505`: Markdown Cell incorrectly highlighting after "<"
1668 * :ghissue:`2505`: Markdown Cell incorrectly highlighting after "<"
1669 * :ghissue:`165`: Installer fails to create Start Menu entries on Windows
1669 * :ghissue:`165`: Installer fails to create Start Menu entries on Windows
1670 * :ghissue:`2356`: failing traceback in terminal ipython for first exception
1670 * :ghissue:`2356`: failing traceback in terminal ipython for first exception
1671 * :ghissue:`2145`: Have dashboad show when server disconect
1671 * :ghissue:`2145`: Have dashboad show when server disconect
1672 * :ghissue:`2098`: Do not crash on kernel shutdow if json file is missing
1672 * :ghissue:`2098`: Do not crash on kernel shutdow if json file is missing
1673 * :ghissue:`2813`: Offline MathJax is broken on 0.14dev
1673 * :ghissue:`2813`: Offline MathJax is broken on 0.14dev
1674 * :ghissue:`2807`: Test failure: IPython.parallel.tests.test_client.TestClient.test_purge_everything
1674 * :ghissue:`2807`: Test failure: IPython.parallel.tests.test_client.TestClient.test_purge_everything
1675 * :ghissue:`2486`: Readline's history search in ipython console does not clear properly after cancellation with Ctrl+C
1675 * :ghissue:`2486`: Readline's history search in ipython console does not clear properly after cancellation with Ctrl+C
1676 * :ghissue:`2709`: Cython -la doesn't work
1676 * :ghissue:`2709`: Cython -la doesn't work
1677 * :ghissue:`2767`: What is IPython.utils.upgradedir ?
1677 * :ghissue:`2767`: What is IPython.utils.upgradedir ?
1678 * :ghissue:`2210`: Placing matplotlib legend outside axis bounds causes inline display to clip it
1678 * :ghissue:`2210`: Placing matplotlib legend outside axis bounds causes inline display to clip it
1679 * :ghissue:`2553`: IPython Notebooks not robust against client failures
1679 * :ghissue:`2553`: IPython Notebooks not robust against client failures
1680 * :ghissue:`2536`: ImageDraw in Ipython notebook not drawing lines
1680 * :ghissue:`2536`: ImageDraw in Ipython notebook not drawing lines
1681 * :ghissue:`2264`: Feature request: Versioning messaging protocol
1681 * :ghissue:`2264`: Feature request: Versioning messaging protocol
1682 * :ghissue:`2589`: Creation of ~300+ MPI-spawned engines causes instability in ipcluster
1682 * :ghissue:`2589`: Creation of ~300+ MPI-spawned engines causes instability in ipcluster
1683 * :ghissue:`2672`: notebook: inline option without pylab
1683 * :ghissue:`2672`: notebook: inline option without pylab
1684 * :ghissue:`2673`: Indefinite Articles & Traitlets
1684 * :ghissue:`2673`: Indefinite Articles & Traitlets
1685 * :ghissue:`2705`: Notebook crashes Safari with select and drag
1685 * :ghissue:`2705`: Notebook crashes Safari with select and drag
1686 * :ghissue:`2721`: dreload kills ipython when it hits zmq
1686 * :ghissue:`2721`: dreload kills ipython when it hits zmq
1687 * :ghissue:`2806`: ipython.parallel doesn't discover globals under Python 3.3
1687 * :ghissue:`2806`: ipython.parallel doesn't discover globals under Python 3.3
1688 * :ghissue:`2794`: _exit_code behaves differently in terminal vs ZMQ frontends
1688 * :ghissue:`2794`: _exit_code behaves differently in terminal vs ZMQ frontends
1689 * :ghissue:`2793`: IPython.parallel issue with pushing pandas TimeSeries
1689 * :ghissue:`2793`: IPython.parallel issue with pushing pandas TimeSeries
1690 * :ghissue:`1085`: In process kernel for Qt frontend
1690 * :ghissue:`1085`: In process kernel for Qt frontend
1691 * :ghissue:`2760`: IndexError: list index out of range with Python 3.2
1691 * :ghissue:`2760`: IndexError: list index out of range with Python 3.2
1692 * :ghissue:`2780`: Save and load notebooks from github
1692 * :ghissue:`2780`: Save and load notebooks from github
1693 * :ghissue:`2772`: AttributeError: 'Client' object has no attribute 'kill'
1693 * :ghissue:`2772`: AttributeError: 'Client' object has no attribute 'kill'
1694 * :ghissue:`2754`: Fail to send class definitions from interactive session to engines namespaces
1694 * :ghissue:`2754`: Fail to send class definitions from interactive session to engines namespaces
1695 * :ghissue:`2764`: TypeError while using 'cd'
1695 * :ghissue:`2764`: TypeError while using 'cd'
1696 * :ghissue:`2765`: name '__file__' is not defined
1696 * :ghissue:`2765`: name '__file__' is not defined
1697 * :ghissue:`2540`: Wrap tooltip if line exceeds threshold?
1697 * :ghissue:`2540`: Wrap tooltip if line exceeds threshold?
1698 * :ghissue:`2394`: Startup error on ipython qtconsole (version 0.13 and 0.14-dev
1698 * :ghissue:`2394`: Startup error on ipython qtconsole (version 0.13 and 0.14-dev
1699 * :ghissue:`2440`: IPEP 4: Python 3 Compatibility
1699 * :ghissue:`2440`: IPEP 4: Python 3 Compatibility
1700 * :ghissue:`1814`: __file__ is not defined when file end with .ipy
1700 * :ghissue:`1814`: __file__ is not defined when file end with .ipy
1701 * :ghissue:`2759`: R magic extension interferes with tab completion
1701 * :ghissue:`2759`: R magic extension interferes with tab completion
1702 * :ghissue:`2615`: Small change needed to rmagic extension.
1702 * :ghissue:`2615`: Small change needed to rmagic extension.
1703 * :ghissue:`2748`: collapse parts of a html notebook
1703 * :ghissue:`2748`: collapse parts of a html notebook
1704 * :ghissue:`1661`: %paste still bugs about IndentationError and says to use %paste
1704 * :ghissue:`1661`: %paste still bugs about IndentationError and says to use %paste
1705 * :ghissue:`2742`: Octavemagic fails to deliver inline images in IPython (on Windows)
1705 * :ghissue:`2742`: Octavemagic fails to deliver inline images in IPython (on Windows)
1706 * :ghissue:`2739`: wiki.ipython.org contaminated with prescription drug spam
1706 * :ghissue:`2739`: wiki.ipython.org contaminated with prescription drug spam
1707 * :ghissue:`2588`: Link error while executing code from cython example notebook
1707 * :ghissue:`2588`: Link error while executing code from cython example notebook
1708 * :ghissue:`2550`: Rpush magic doesn't find local variables and doesn't support comma separated lists of variables
1708 * :ghissue:`2550`: Rpush magic doesn't find local variables and doesn't support comma separated lists of variables
1709 * :ghissue:`2675`: Markdown/html blockquote need css.
1709 * :ghissue:`2675`: Markdown/html blockquote need css.
1710 * :ghissue:`2419`: TerminalInteractiveShell.__init__() ignores value of ipython_dir argument
1710 * :ghissue:`2419`: TerminalInteractiveShell.__init__() ignores value of ipython_dir argument
1711 * :ghissue:`1523`: Better LaTeX printing in the qtconsole with the sympy profile
1711 * :ghissue:`1523`: Better LaTeX printing in the qtconsole with the sympy profile
1712 * :ghissue:`2719`: ipython fails with `pkg_resources.DistributionNotFound: ipython==0.13`
1712 * :ghissue:`2719`: ipython fails with `pkg_resources.DistributionNotFound: ipython==0.13`
1713 * :ghissue:`2715`: url crashes nbviewer.ipython.org
1713 * :ghissue:`2715`: url crashes nbviewer.ipython.org
1714 * :ghissue:`2555`: "import" module completion on MacOSX
1714 * :ghissue:`2555`: "import" module completion on MacOSX
1715 * :ghissue:`2707`: Problem installing the new version of IPython in Windows
1715 * :ghissue:`2707`: Problem installing the new version of IPython in Windows
1716 * :ghissue:`2696`: SymPy magic bug in IPython Notebook
1716 * :ghissue:`2696`: SymPy magic bug in IPython Notebook
1717 * :ghissue:`2684`: pretty print broken for types created with PyType_FromSpec
1717 * :ghissue:`2684`: pretty print broken for types created with PyType_FromSpec
1718 * :ghissue:`2533`: rmagic breaks on Windows
1718 * :ghissue:`2533`: rmagic breaks on Windows
1719 * :ghissue:`2661`: Qtconsole tooltip is too wide when the function has many arguments
1719 * :ghissue:`2661`: Qtconsole tooltip is too wide when the function has many arguments
1720 * :ghissue:`2679`: ipython3 qtconsole via Homebrew on Mac OS X 10.8 - pyqt/pyside import error
1720 * :ghissue:`2679`: ipython3 qtconsole via Homebrew on Mac OS X 10.8 - pyqt/pyside import error
1721 * :ghissue:`2646`: pylab_not_importable
1721 * :ghissue:`2646`: pylab_not_importable
1722 * :ghissue:`2587`: cython magic pops 2 CLI windows upon execution on Windows
1722 * :ghissue:`2587`: cython magic pops 2 CLI windows upon execution on Windows
1723 * :ghissue:`2660`: Certain arguments (-h, --help, --version) never passed to scripts run with ipython
1723 * :ghissue:`2660`: Certain arguments (-h, --help, --version) never passed to scripts run with ipython
1724 * :ghissue:`2665`: Missing docs for rmagic and some other extensions
1724 * :ghissue:`2665`: Missing docs for rmagic and some other extensions
1725 * :ghissue:`2611`: Travis wants to drop 3.1 support
1725 * :ghissue:`2611`: Travis wants to drop 3.1 support
1726 * :ghissue:`2658`: Incorrect parsing of raw multiline strings
1726 * :ghissue:`2658`: Incorrect parsing of raw multiline strings
1727 * :ghissue:`2655`: Test fails if `from __future__ import print_function` in .pythonrc.py
1727 * :ghissue:`2655`: Test fails if `from __future__ import print_function` in .pythonrc.py
1728 * :ghissue:`2651`: nonlocal with no existing variable produces too many errors
1728 * :ghissue:`2651`: nonlocal with no existing variable produces too many errors
1729 * :ghissue:`2645`: python3 is a pain (minor unicode bug)
1729 * :ghissue:`2645`: python3 is a pain (minor unicode bug)
1730 * :ghissue:`2637`: %paste in Python 3 on Mac doesn't work
1730 * :ghissue:`2637`: %paste in Python 3 on Mac doesn't work
1731 * :ghissue:`2624`: Error on launching IPython on Win 7 and Python 2.7.3
1731 * :ghissue:`2624`: Error on launching IPython on Win 7 and Python 2.7.3
1732 * :ghissue:`2608`: disk IO activity on cursor press
1732 * :ghissue:`2608`: disk IO activity on cursor press
1733 * :ghissue:`1275`: Markdown parses LaTeX math symbols as its formatting syntax in notebook
1733 * :ghissue:`1275`: Markdown parses LaTeX math symbols as its formatting syntax in notebook
1734 * :ghissue:`2613`: display(Math(...)) doesn't render \tau correctly
1734 * :ghissue:`2613`: display(Math(...)) doesn't render \tau correctly
1735 * :ghissue:`925`: Tab-completion in Qt console needn't use pager
1735 * :ghissue:`925`: Tab-completion in Qt console needn't use pager
1736 * :ghissue:`2607`: %load_ext sympy.interactive.ipythonprinting dammaging output
1736 * :ghissue:`2607`: %load_ext sympy.interactive.ipythonprinting dammaging output
1737 * :ghissue:`2593`: Toolbar button to open qtconsole from notebook
1737 * :ghissue:`2593`: Toolbar button to open qtconsole from notebook
1738 * :ghissue:`2602`: IPython html documentation for downloading
1738 * :ghissue:`2602`: IPython html documentation for downloading
1739 * :ghissue:`2598`: ipython notebook --pylab=inline replaces built-in any()
1739 * :ghissue:`2598`: ipython notebook --pylab=inline replaces built-in any()
1740 * :ghissue:`2244`: small issue: wrong printout
1740 * :ghissue:`2244`: small issue: wrong printout
1741 * :ghissue:`2590`: add easier way to execute scripts in the current directory
1741 * :ghissue:`2590`: add easier way to execute scripts in the current directory
1742 * :ghissue:`2581`: %hist does not work when InteractiveShell.cache_size = 0
1742 * :ghissue:`2581`: %hist does not work when InteractiveShell.cache_size = 0
1743 * :ghissue:`2584`: No file COPYING
1743 * :ghissue:`2584`: No file COPYING
1744 * :ghissue:`2578`: AttributeError: 'module' object has no attribute 'TestCase'
1744 * :ghissue:`2578`: AttributeError: 'module' object has no attribute 'TestCase'
1745 * :ghissue:`2576`: One of my notebooks won't load any more -- is there a maximum notebook size?
1745 * :ghissue:`2576`: One of my notebooks won't load any more -- is there a maximum notebook size?
1746 * :ghissue:`2560`: Notebook output is invisible when printing strings with \r\r\n line endings
1746 * :ghissue:`2560`: Notebook output is invisible when printing strings with \r\r\n line endings
1747 * :ghissue:`2566`: if pyside partially present ipython qtconsole fails to load even if pyqt4 present
1747 * :ghissue:`2566`: if pyside partially present ipython qtconsole fails to load even if pyqt4 present
1748 * :ghissue:`1308`: ipython qtconsole --ssh=server --existing ... hangs
1748 * :ghissue:`1308`: ipython qtconsole --ssh=server --existing ... hangs
1749 * :ghissue:`1679`: List command doesn't work in ipdb debugger the first time
1749 * :ghissue:`1679`: List command doesn't work in ipdb debugger the first time
1750 * :ghissue:`2545`: pypi win32 installer creates 64bit executibles
1750 * :ghissue:`2545`: pypi win32 installer creates 64bit executibles
1751 * :ghissue:`2080`: Event loop issues with IPython 0.12 and PyQt4 (``QDialog.exec_`` and more)
1751 * :ghissue:`2080`: Event loop issues with IPython 0.12 and PyQt4 (``QDialog.exec_`` and more)
1752 * :ghissue:`2541`: Allow `python -m IPython`
1752 * :ghissue:`2541`: Allow `python -m IPython`
1753 * :ghissue:`2508`: subplots_adjust() does not work correctly in ipython notebook
1753 * :ghissue:`2508`: subplots_adjust() does not work correctly in ipython notebook
1754 * :ghissue:`2289`: Incorrect mathjax rendering of certain arrays of equations
1754 * :ghissue:`2289`: Incorrect mathjax rendering of certain arrays of equations
1755 * :ghissue:`2487`: Selecting and indenting
1755 * :ghissue:`2487`: Selecting and indenting
1756 * :ghissue:`2521`: more fine-grained 'run' controls, such as 'run from here' and 'run until here'
1756 * :ghissue:`2521`: more fine-grained 'run' controls, such as 'run from here' and 'run until here'
1757 * :ghissue:`2535`: Funny bounding box when plot with text
1757 * :ghissue:`2535`: Funny bounding box when plot with text
1758 * :ghissue:`2523`: History not working
1758 * :ghissue:`2523`: History not working
1759 * :ghissue:`2514`: Issue with zooming in qtconsole
1759 * :ghissue:`2514`: Issue with zooming in qtconsole
1760 * :ghissue:`2220`: No sys.stdout.encoding in kernel based IPython
1760 * :ghissue:`2220`: No sys.stdout.encoding in kernel based IPython
1761 * :ghissue:`2512`: ERROR: Internal Python error in the inspect module.
1761 * :ghissue:`2512`: ERROR: Internal Python error in the inspect module.
1762 * :ghissue:`2496`: Function passwd does not work in QtConsole
1762 * :ghissue:`2496`: Function passwd does not work in QtConsole
1763 * :ghissue:`1453`: make engines reconnect/die when controller was restarted
1763 * :ghissue:`1453`: make engines reconnect/die when controller was restarted
1764 * :ghissue:`2481`: ipython notebook -- clicking in a code cell's output moves the screen to the top of the code cell
1764 * :ghissue:`2481`: ipython notebook -- clicking in a code cell's output moves the screen to the top of the code cell
1765 * :ghissue:`2488`: Undesired plot outputs in Notebook inline mode
1765 * :ghissue:`2488`: Undesired plot outputs in Notebook inline mode
1766 * :ghissue:`2482`: ipython notebook -- download may not get the latest notebook
1766 * :ghissue:`2482`: ipython notebook -- download may not get the latest notebook
1767 * :ghissue:`2471`: _subprocess module removed in Python 3.3
1767 * :ghissue:`2471`: _subprocess module removed in Python 3.3
1768 * :ghissue:`2374`: Issues with man pages
1768 * :ghissue:`2374`: Issues with man pages
1769 * :ghissue:`2316`: parallel.Client.__init__ should take cluster_id kwarg
1769 * :ghissue:`2316`: parallel.Client.__init__ should take cluster_id kwarg
1770 * :ghissue:`2457`: Can a R library wrapper be created with Rmagic?
1770 * :ghissue:`2457`: Can a R library wrapper be created with Rmagic?
1771 * :ghissue:`1575`: Fallback frontend for console when connecting pylab=inlnie -enabled kernel?
1771 * :ghissue:`1575`: Fallback frontend for console when connecting pylab=inlnie -enabled kernel?
1772 * :ghissue:`2097`: Do not crash if history db is corrupted
1772 * :ghissue:`2097`: Do not crash if history db is corrupted
1773 * :ghissue:`2435`: ipengines fail if clean_logs enabled
1773 * :ghissue:`2435`: ipengines fail if clean_logs enabled
1774 * :ghissue:`2429`: Using warnings.warn() results in TypeError
1774 * :ghissue:`2429`: Using warnings.warn() results in TypeError
1775 * :ghissue:`2422`: Multiprocessing in ipython notebook kernel crash
1775 * :ghissue:`2422`: Multiprocessing in ipython notebook kernel crash
1776 * :ghissue:`2426`: ipython crashes with the following message. I do not what went wrong. Can you help me identify the problem?
1776 * :ghissue:`2426`: ipython crashes with the following message. I do not what went wrong. Can you help me identify the problem?
1777 * :ghissue:`2423`: Docs typo?
1777 * :ghissue:`2423`: Docs typo?
1778 * :ghissue:`2257`: pip install -e fails
1778 * :ghissue:`2257`: pip install -e fails
1779 * :ghissue:`2418`: rmagic can't run R's read.csv on data files with NA data
1779 * :ghissue:`2418`: rmagic can't run R's read.csv on data files with NA data
1780 * :ghissue:`2417`: HTML notebook: Backspace sometimes deletes multiple characters
1780 * :ghissue:`2417`: HTML notebook: Backspace sometimes deletes multiple characters
1781 * :ghissue:`2275`: notebook: "Down_Arrow" on last line of cell should move to end of line
1781 * :ghissue:`2275`: notebook: "Down_Arrow" on last line of cell should move to end of line
1782 * :ghissue:`2414`: 0.13.1 does not work with current EPD 7.3-2
1782 * :ghissue:`2414`: 0.13.1 does not work with current EPD 7.3-2
1783 * :ghissue:`2409`: there is a redundant None
1783 * :ghissue:`2409`: there is a redundant None
1784 * :ghissue:`2410`: Use /usr/bin/python3 instead of /usr/bin/python
1784 * :ghissue:`2410`: Use /usr/bin/python3 instead of /usr/bin/python
1785 * :ghissue:`2366`: Notebook Dashboard --notebook-dir and fullpath
1785 * :ghissue:`2366`: Notebook Dashboard --notebook-dir and fullpath
1786 * :ghissue:`2406`: Inability to get docstring in debugger
1786 * :ghissue:`2406`: Inability to get docstring in debugger
1787 * :ghissue:`2398`: Show line number for IndentationErrors
1787 * :ghissue:`2398`: Show line number for IndentationErrors
1788 * :ghissue:`2314`: HTML lists seem to interfere with the QtConsole display
1788 * :ghissue:`2314`: HTML lists seem to interfere with the QtConsole display
1789 * :ghissue:`1688`: unicode exception when using %run with failing script
1789 * :ghissue:`1688`: unicode exception when using %run with failing script
1790 * :ghissue:`1884`: IPython.embed changes color on error
1790 * :ghissue:`1884`: IPython.embed changes color on error
1791 * :ghissue:`2381`: %time doesn't work for multiline statements
1791 * :ghissue:`2381`: %time doesn't work for multiline statements
1792 * :ghissue:`1435`: Add size keywords in Image class
1792 * :ghissue:`1435`: Add size keywords in Image class
1793 * :ghissue:`2372`: interactiveshell.py misses urllib and io_open imports
1793 * :ghissue:`2372`: interactiveshell.py misses urllib and io_open imports
1794 * :ghissue:`2371`: IPython not working
1794 * :ghissue:`2371`: IPython not working
1795 * :ghissue:`2367`: Tab expansion moves to next cell in notebook
1795 * :ghissue:`2367`: Tab expansion moves to next cell in notebook
1796 * :ghissue:`2359`: nbviever alters the order of print and display() output
1796 * :ghissue:`2359`: nbviever alters the order of print and display() output
1797 * :ghissue:`2227`: print name for IPython Notebooks has become uninformative
1797 * :ghissue:`2227`: print name for IPython Notebooks has become uninformative
1798 * :ghissue:`2361`: client doesn't use connection file's 'location' in disambiguating 'interface'
1798 * :ghissue:`2361`: client doesn't use connection file's 'location' in disambiguating 'interface'
1799 * :ghissue:`2357`: failing traceback in terminal ipython for first exception
1799 * :ghissue:`2357`: failing traceback in terminal ipython for first exception
1800 * :ghissue:`2343`: Installing in a python 3.3b2 or python 3.3rc1 virtual environment.
1800 * :ghissue:`2343`: Installing in a python 3.3b2 or python 3.3rc1 virtual environment.
1801 * :ghissue:`2315`: Failure in test: "Test we're not loading modules on startup that we shouldn't."
1801 * :ghissue:`2315`: Failure in test: "Test we're not loading modules on startup that we shouldn't."
1802 * :ghissue:`2351`: Multiple Notebook Apps: cookies not port specific, clash with each other
1802 * :ghissue:`2351`: Multiple Notebook Apps: cookies not port specific, clash with each other
1803 * :ghissue:`2350`: running unittest from qtconsole prints output to terminal
1803 * :ghissue:`2350`: running unittest from qtconsole prints output to terminal
1804 * :ghissue:`2303`: remote tracebacks broken since 952d0d6 (PR #2223)
1804 * :ghissue:`2303`: remote tracebacks broken since 952d0d6 (PR #2223)
1805 * :ghissue:`2330`: qtconsole does not highlight tab-completion suggestion with custom stylesheet
1805 * :ghissue:`2330`: qtconsole does not highlight tab-completion suggestion with custom stylesheet
1806 * :ghissue:`2325`: Parsing Tex formula fails in Notebook
1806 * :ghissue:`2325`: Parsing Tex formula fails in Notebook
1807 * :ghissue:`2324`: Parsing Tex formula fails
1807 * :ghissue:`2324`: Parsing Tex formula fails
1808 * :ghissue:`1474`: Add argument to `run -n` for custom namespace
1808 * :ghissue:`1474`: Add argument to `run -n` for custom namespace
1809 * :ghissue:`2318`: C-m n/p don't work in Markdown cells in the notebook
1809 * :ghissue:`2318`: C-m n/p don't work in Markdown cells in the notebook
1810 * :ghissue:`2309`: time.time() in ipython notebook producing impossible results
1810 * :ghissue:`2309`: time.time() in ipython notebook producing impossible results
1811 * :ghissue:`2307`: schedule tasks on newly arrived engines
1811 * :ghissue:`2307`: schedule tasks on newly arrived engines
1812 * :ghissue:`2313`: Allow Notebook HTML/JS to send messages to Python code
1812 * :ghissue:`2313`: Allow Notebook HTML/JS to send messages to Python code
1813 * :ghissue:`2304`: ipengine throws KeyError: url
1813 * :ghissue:`2304`: ipengine throws KeyError: url
1814 * :ghissue:`1878`: shell access using ! will not fill class or function scope vars
1814 * :ghissue:`1878`: shell access using ! will not fill class or function scope vars
1815 * :ghissue:`2253`: %paste does not retrieve clipboard contents under screen/tmux on OS X
1815 * :ghissue:`2253`: %paste does not retrieve clipboard contents under screen/tmux on OS X
1816 * :ghissue:`1510`: Add-on (or Monkey-patch) infrastructure for HTML notebook
1816 * :ghissue:`1510`: Add-on (or Monkey-patch) infrastructure for HTML notebook
1817 * :ghissue:`2273`: triple quote and %s at beginning of line with %paste
1817 * :ghissue:`2273`: triple quote and %s at beginning of line with %paste
1818 * :ghissue:`2243`: Regression in .embed()
1818 * :ghissue:`2243`: Regression in .embed()
1819 * :ghissue:`2266`: SSH passwordless check with OpenSSH checks for the wrong thing
1819 * :ghissue:`2266`: SSH passwordless check with OpenSSH checks for the wrong thing
1820 * :ghissue:`2217`: Change NewNotebook handler to use 30x redirect
1820 * :ghissue:`2217`: Change NewNotebook handler to use 30x redirect
1821 * :ghissue:`2276`: config option for disabling history store
1821 * :ghissue:`2276`: config option for disabling history store
1822 * :ghissue:`2239`: can't use parallel.Reference in view.map
1822 * :ghissue:`2239`: can't use parallel.Reference in view.map
1823 * :ghissue:`2272`: Sympy piecewise messed up rendering
1823 * :ghissue:`2272`: Sympy piecewise messed up rendering
1824 * :ghissue:`2252`: %paste throws an exception with empty clipboard
1824 * :ghissue:`2252`: %paste throws an exception with empty clipboard
1825 * :ghissue:`2259`: git-mpr is currently broken
1825 * :ghissue:`2259`: git-mpr is currently broken
1826 * :ghissue:`2247`: Variable expansion in shell commands should work in substrings
1826 * :ghissue:`2247`: Variable expansion in shell commands should work in substrings
1827 * :ghissue:`2026`: Run 'fast' tests only
1827 * :ghissue:`2026`: Run 'fast' tests only
1828 * :ghissue:`2241`: read a list of notebooks on server and bring into browser only notebook
1828 * :ghissue:`2241`: read a list of notebooks on server and bring into browser only notebook
1829 * :ghissue:`2237`: please put python and text editor in the web only ipython
1829 * :ghissue:`2237`: please put python and text editor in the web only ipython
1830 * :ghissue:`2053`: Improvements to the IPython.display.Image object
1830 * :ghissue:`2053`: Improvements to the IPython.display.Image object
1831 * :ghissue:`1456`: ERROR: Internal Python error in the inspect module.
1831 * :ghissue:`1456`: ERROR: Internal Python error in the inspect module.
1832 * :ghissue:`2221`: Avoid importing from IPython.parallel in core
1832 * :ghissue:`2221`: Avoid importing from IPython.parallel in core
1833 * :ghissue:`2213`: Can't trigger startup code in Engines
1833 * :ghissue:`2213`: Can't trigger startup code in Engines
1834 * :ghissue:`1464`: Strange behavior for backspace with lines ending with more than 4 spaces in notebook
1834 * :ghissue:`1464`: Strange behavior for backspace with lines ending with more than 4 spaces in notebook
1835 * :ghissue:`2187`: NaN in object_info_reply JSON causes parse error
1835 * :ghissue:`2187`: NaN in object_info_reply JSON causes parse error
1836 * :ghissue:`214`: system command requiring administrative privileges
1836 * :ghissue:`214`: system command requiring administrative privileges
1837 * :ghissue:`2195`: Unknown option `no-edit` in git-mpr
1837 * :ghissue:`2195`: Unknown option `no-edit` in git-mpr
1838 * :ghissue:`2201`: Add documentation build to tools/test_pr.py
1838 * :ghissue:`2201`: Add documentation build to tools/test_pr.py
1839 * :ghissue:`2205`: Command-line option for default Notebook output collapsing behavior
1839 * :ghissue:`2205`: Command-line option for default Notebook output collapsing behavior
1840 * :ghissue:`1927`: toggle between inline and floating figures
1840 * :ghissue:`1927`: toggle between inline and floating figures
1841 * :ghissue:`2171`: Can't start StarCluster after upgrading to IPython 0.13
1841 * :ghissue:`2171`: Can't start StarCluster after upgrading to IPython 0.13
1842 * :ghissue:`2173`: oct2py v >= 0.3.1 doesn't need h5py anymore
1842 * :ghissue:`2173`: oct2py v >= 0.3.1 doesn't need h5py anymore
1843 * :ghissue:`2099`: storemagic needs to use self.shell
1843 * :ghissue:`2099`: storemagic needs to use self.shell
1844 * :ghissue:`2166`: DirectView map_sync() with Lambdas Using Generators
1844 * :ghissue:`2166`: DirectView map_sync() with Lambdas Using Generators
1845 * :ghissue:`2091`: Unable to use print_stats after %prun -r in notebook
1845 * :ghissue:`2091`: Unable to use print_stats after %prun -r in notebook
1846 * :ghissue:`2132`: Add fail-over for pastebin
1846 * :ghissue:`2132`: Add fail-over for pastebin
1847 * :ghissue:`2156`: Make it possible to install ipython without nasty gui dependencies
1847 * :ghissue:`2156`: Make it possible to install ipython without nasty gui dependencies
1848 * :ghissue:`2154`: Scrolled long output should be off in print view by default
1848 * :ghissue:`2154`: Scrolled long output should be off in print view by default
1849 * :ghissue:`2162`: Tab completion does not work with IPython.embed_kernel()
1849 * :ghissue:`2162`: Tab completion does not work with IPython.embed_kernel()
1850 * :ghissue:`2157`: IPython 0.13 / github-master cannot create logfile from scratch
1850 * :ghissue:`2157`: IPython 0.13 / github-master cannot create logfile from scratch
1851 * :ghissue:`2151`: missing newline when a magic is called from the qtconsole menu
1851 * :ghissue:`2151`: missing newline when a magic is called from the qtconsole menu
1852 * :ghissue:`2139`: 00_notebook_tour Image example broken on master
1852 * :ghissue:`2139`: 00_notebook_tour Image example broken on master
1853 * :ghissue:`2143`: Add a %%cython_annotate magic
1853 * :ghissue:`2143`: Add a %%cython_annotate magic
1854 * :ghissue:`2135`: Running IPython from terminal
1854 * :ghissue:`2135`: Running IPython from terminal
1855 * :ghissue:`2093`: Makefile for building Sphinx documentation on Windows
1855 * :ghissue:`2093`: Makefile for building Sphinx documentation on Windows
1856 * :ghissue:`2122`: Bug in pretty printing
1856 * :ghissue:`2122`: Bug in pretty printing
1857 * :ghissue:`2120`: Notebook "Make a Copy..." keeps opening duplicates in the same tab
1857 * :ghissue:`2120`: Notebook "Make a Copy..." keeps opening duplicates in the same tab
1858 * :ghissue:`1997`: password cannot be used with url prefix
1858 * :ghissue:`1997`: password cannot be used with url prefix
1859 * :ghissue:`2129`: help/doc displayed multiple times if requested in loop
1859 * :ghissue:`2129`: help/doc displayed multiple times if requested in loop
1860 * :ghissue:`2121`: ipdb does not support input history in qtconsole
1860 * :ghissue:`2121`: ipdb does not support input history in qtconsole
1861 * :ghissue:`2114`: %logstart doesn't log
1861 * :ghissue:`2114`: %logstart doesn't log
1862 * :ghissue:`2085`: %ed magic fails in qtconsole
1862 * :ghissue:`2085`: %ed magic fails in qtconsole
1863 * :ghissue:`2119`: IPython fails to run on MacOS Lion
1863 * :ghissue:`2119`: IPython fails to run on MacOS Lion
1864 * :ghissue:`2052`: %pylab inline magic does not work on windows
1864 * :ghissue:`2052`: %pylab inline magic does not work on windows
1865 * :ghissue:`2111`: Ipython won't start on W7
1865 * :ghissue:`2111`: Ipython won't start on W7
1866 * :ghissue:`2112`: Strange internal traceback
1866 * :ghissue:`2112`: Strange internal traceback
1867 * :ghissue:`2108`: Backslash (\) at the end of the line behavior different from default Python
1867 * :ghissue:`2108`: Backslash (\) at the end of the line behavior different from default Python
1868 * :ghissue:`1425`: Ampersands can't be typed sometimes in notebook cells
1868 * :ghissue:`1425`: Ampersands can't be typed sometimes in notebook cells
1869 * :ghissue:`1513`: Add expand/collapse support for long output elements like stdout and tracebacks
1869 * :ghissue:`1513`: Add expand/collapse support for long output elements like stdout and tracebacks
1870 * :ghissue:`2087`: error when starting ipython
1870 * :ghissue:`2087`: error when starting ipython
1871 * :ghissue:`2103`: Ability to run notebook file from commandline
1871 * :ghissue:`2103`: Ability to run notebook file from commandline
1872 * :ghissue:`2082`: Qt Console output spacing
1872 * :ghissue:`2082`: Qt Console output spacing
1873 * :ghissue:`2083`: Test failures with Python 3.2 and PYTHONWARNINGS="d"
1873 * :ghissue:`2083`: Test failures with Python 3.2 and PYTHONWARNINGS="d"
1874 * :ghissue:`2094`: about inline
1874 * :ghissue:`2094`: about inline
1875 * :ghissue:`2077`: Starting IPython3 on the terminal
1875 * :ghissue:`2077`: Starting IPython3 on the terminal
1876 * :ghissue:`1760`: easy_install ipython fails on py3.2-win32
1876 * :ghissue:`1760`: easy_install ipython fails on py3.2-win32
1877 * :ghissue:`2075`: Local Mathjax install causes iptest3 error under python3
1877 * :ghissue:`2075`: Local Mathjax install causes iptest3 error under python3
1878 * :ghissue:`2057`: setup fails for python3 with LANG=C
1878 * :ghissue:`2057`: setup fails for python3 with LANG=C
1879 * :ghissue:`2070`: shebang on Windows
1879 * :ghissue:`2070`: shebang on Windows
1880 * :ghissue:`2054`: sys_info missing git hash in sdists
1880 * :ghissue:`2054`: sys_info missing git hash in sdists
1881 * :ghissue:`2059`: duplicate and modified files in documentation
1881 * :ghissue:`2059`: duplicate and modified files in documentation
1882 * :ghissue:`2056`: except-shadows-builtin osm.py:687
1882 * :ghissue:`2056`: except-shadows-builtin osm.py:687
1883 * :ghissue:`2058`: hyphen-used-as-minus-sign in manpages
1883 * :ghissue:`2058`: hyphen-used-as-minus-sign in manpages
@@ -1,445 +1,445 b''
1 ============
1 ============
2 5.x Series
2 5.x Series
3 ============
3 ============
4
4
5 .. _whatsnew580:
5 .. _whatsnew580:
6
6
7 IPython 5.8.0
7 IPython 5.8.0
8 =============
8 =============
9
9
10 * Update inspecting function/methods for future-proofing. :ghpull:`11139`
10 * Update inspecting function/methods for future-proofing. :ghpull:`11139`
11
11
12 .. _whatsnew570:
12 .. _whatsnew570:
13
13
14 IPython 5.7
14 IPython 5.7
15 ===========
15 ===========
16
16
17 * Fix IPython trying to import non-existing matplotlib backends :ghpull:`11087`
17 * Fix IPython trying to import non-existing matplotlib backends :ghpull:`11087`
18 * fix for display hook not publishing object metadata :ghpull:`11101`
18 * fix for display hook not publishing object metadata :ghpull:`11101`
19
19
20 .. _whatsnew560:
20 .. _whatsnew560:
21
21
22 IPython 5.6
22 IPython 5.6
23 ===========
23 ===========
24
24
25 * In Python 3.6 and above, dictionaries preserve the order items were added to
25 * In Python 3.6 and above, dictionaries preserve the order items were added to
26 them. On these versions, IPython will display dictionaries in their native
26 them. On these versions, IPython will display dictionaries in their native
27 order, rather than sorting by the keys (:ghpull:`10958`).
27 order, rather than sorting by the keys (:ghpull:`10958`).
28 * :class:`~.IPython.display.ProgressBar` can now be used as an iterator
28 * :class:`~.IPython.display.ProgressBar` can now be used as an iterator
29 (:ghpull:`10813`).
29 (:ghpull:`10813`).
30 * The shell object gains a :meth:`~.InteractiveShell.check_complete` method,
30 * The shell object gains a :meth:`~.InteractiveShell.check_complete` method,
31 to allow a smoother transition to new input processing machinery planned for
31 to allow a smoother transition to new input processing machinery planned for
32 IPython 7 (:ghpull:`11044`).
32 IPython 7 (:ghpull:`11044`).
33 * IPython should start faster, as it no longer looks for all available pygments
33 * IPython should start faster, as it no longer looks for all available pygments
34 styles on startup (:ghpull:`10859`).
34 styles on startup (:ghpull:`10859`).
35
35
36 You can see all the PR marked for the `5.6. milestone <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A5.6+is%3Aclosed+NOT+%22Backport+PR%22+>`_,
36 You can see all the PR marked for the `5.6. milestone <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A5.6+is%3Aclosed+NOT+%22Backport+PR%22+>`_,
37 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.6%20is%3Aclosed%20%22Backport%20PR%22%20>`__.
37 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.6%20is%3Aclosed%20%22Backport%20PR%22%20>`__.
38
38
39 .. _whatsnew550:
39 .. _whatsnew550:
40
40
41 IPython 5.5
41 IPython 5.5
42 ===========
42 ===========
43
43
44 System Wide config
44 System Wide config
45 ------------------
45 ------------------
46
46
47 - IPython now looks for config files in ``{sys.prefix}/etc/ipython``
47 - IPython now looks for config files in ``{sys.prefix}/etc/ipython``
48 for environment-specific configuration.
48 for environment-specific configuration.
49 - Startup files can be found in ``/etc/ipython/startup`` or ``{sys.prefix}/etc/ipython/startup``
49 - Startup files can be found in ``/etc/ipython/startup`` or ``{sys.prefix}/etc/ipython/startup``
50 in addition to the profile directory, for system-wide or env-specific startup files.
50 in addition to the profile directory, for system-wide or env-specific startup files.
51
51
52 See :ghpull:`10644`
52 See :ghpull:`10644`
53
53
54 ProgressBar
54 ProgressBar
55 -----------
55 -----------
56
56
57
57
58 IPython now has built-in support for progressbars::
58 IPython now has built-in support for progressbars::
59
59
60 In[1]: from IPython.display import ProgressBar
60 In[1]: from IPython.display import ProgressBar
61 ... : pb = ProgressBar(100)
61 ... : pb = ProgressBar(100)
62 ... : pb
62 ... : pb
63
63
64 In[2]: pb.progress = 50
64 In[2]: pb.progress = 50
65
65
66 # progress bar in cell 1 updates.
66 # progress bar in cell 1 updates.
67
67
68 See :ghpull:`10755`
68 See :ghpull:`10755`
69
69
70
70
71 Misc
71 Misc
72 ----
72 ----
73
73
74 - Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
74 - Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
75 (:ghpull:`10625`)
75 (:ghpull:`10625`)
76 - :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
76 - :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
77 (:ghpull:`10637`)
77 (:ghpull:`10637`)
78 - Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
78 - Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
79 (:ghpull:`10668`)
79 (:ghpull:`10668`)
80 - Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
80 - Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
81 from md5 to sha1. (:ghpull:`10696`)
81 from md5 to sha1. (:ghpull:`10696`)
82 - Clear breakpoints before running any script with debugger. (:ghpull:`10699`)
82 - Clear breakpoints before running any script with debugger. (:ghpull:`10699`)
83 - Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`. (:ghpull:`10707`)
83 - Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`. (:ghpull:`10707`)
84 - Limit default number of returned completions to 500. (:ghpull:`10743`)
84 - Limit default number of returned completions to 500. (:ghpull:`10743`)
85
85
86 You can see all the PR marked for the `5.5. milestone <https://github.com/ipython/ipython/pulls?q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20NOT%20%22Backport%20PR%22>`_,
86 You can see all the PR marked for the `5.5. milestone <https://github.com/ipython/ipython/pulls?q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20NOT%20%22Backport%20PR%22>`_,
87 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20%22Backport%20PR%22%20>`_.
87 and all the `backport versions <https://github.com/ipython/ipython/pulls?utf8=%E2%9C%93&q=is%3Apr%20milestone%3A5.5%20is%3Aclosed%20%22Backport%20PR%22%20>`_.
88
88
89 IPython 5.4.1
89 IPython 5.4.1
90 =============
90 =============
91 Released a few hours after 5.4, fix a crash when
91 Released a few hours after 5.4, fix a crash when
92 ``backports.shutil-get-terminal-size`` is not installed. :ghissue:`10629`
92 ``backports.shutil-get-terminal-size`` is not installed. :ghissue:`10629`
93
93
94 .. _whatsnew540:
94 .. _whatsnew540:
95
95
96 IPython 5.4
96 IPython 5.4
97 ===========
97 ===========
98
98
99 IPython 5.4-LTS is the first release of IPython after the release of the 6.x
99 IPython 5.4-LTS is the first release of IPython after the release of the 6.x
100 series which is Python 3 only. It backports most of the new exposed API
100 series which is Python 3 only. It backports most of the new exposed API
101 additions made in IPython 6.0 and 6.1 and avoid having to write conditional
101 additions made in IPython 6.0 and 6.1 and avoid having to write conditional
102 logics depending of the version of IPython.
102 logics depending of the version of IPython.
103
103
104 Please upgrade to pip 9 or greater before upgrading IPython.
104 Please upgrade to pip 9 or greater before upgrading IPython.
105 Failing to do so on Python 2 may lead to a broken IPython install.
105 Failing to do so on Python 2 may lead to a broken IPython install.
106
106
107 Configurable TerminalInteractiveShell
107 Configurable TerminalInteractiveShell
108 -------------------------------------
108 -------------------------------------
109
109
110 Backported from the 6.x branch as an exceptional new feature. See
110 Backported from the 6.x branch as an exceptional new feature. See
111 :ghpull:`10373` and :ghissue:`10364`
111 :ghpull:`10373` and :ghissue:`10364`
112
112
113 IPython gained a new ``c.TerminalIPythonApp.interactive_shell_class`` option
113 IPython gained a new ``c.TerminalIPythonApp.interactive_shell_class`` option
114 that allow to customize the class used to start the terminal frontend. This
114 that allow to customize the class used to start the terminal frontend. This
115 should allow user to use custom interfaces, like reviving the former readline
115 should allow user to use custom interfaces, like reviving the former readline
116 interface which is now a separate package not maintained by the core team.
116 interface which is now a separate package not maintained by the core team.
117
117
118 Define ``_repr_mimebundle_``
118 Define ``_repr_mimebundle_``
119 ----------------------------
119 ----------------------------
120
120
121 Object can now define `_repr_mimebundle_` in place of multiple `_repr_*_`
121 Object can now define `_repr_mimebundle_` in place of multiple `_repr_*_`
122 methods and return a full mimebundle. This greatly simplify many implementation
122 methods and return a full mimebundle. This greatly simplify many implementation
123 and allow to publish custom mimetypes (like geojson, plotly, dataframes....).
123 and allow to publish custom mimetypes (like geojson, plotly, dataframes....).
124 See the ``Custom Display Logic`` example notebook for more informations.
124 See the ``Custom Display Logic`` example notebook for more informations.
125
125
126 Execution Heuristics
126 Execution Heuristics
127 --------------------
127 --------------------
128
128
129 The heuristic for execution in the command line interface is now more biased
129 The heuristic for execution in the command line interface is now more biased
130 toward executing for single statement. While in IPython 4.x and before a single
130 toward executing for single statement. While in IPython 4.x and before a single
131 line would be executed when enter is pressed, IPython 5.x would insert a new
131 line would be executed when enter is pressed, IPython 5.x would insert a new
132 line. For single line statement this is not true anymore and if a single line is
132 line. For single line statement this is not true anymore and if a single line is
133 valid Python, IPython will execute it regardless of the cursor position. Use
133 valid Python, IPython will execute it regardless of the cursor position. Use
134 :kbd:`Ctrl-O` to insert a new line. :ghpull:`10489`
134 :kbd:`Ctrl-O` to insert a new line. :ghpull:`10489`
135
135
136
136
137 Implement Display IDs
137 Implement Display IDs
138 ---------------------
138 ---------------------
139
139
140 Implement display id and ability to update a given display. This should greatly
140 Implement display id and ability to update a given display. This should greatly
141 simplify a lot of code by removing the need for widgets and allow other frontend
141 simplify a lot of code by removing the need for widgets and allow other frontend
142 to implement things like progress-bars. See :ghpull:`10048`
142 to implement things like progress-bars. See :ghpull:`10048`
143
143
144 Display function
144 Display function
145 ----------------
145 ----------------
146
146
147 The :func:`display() <IPython.display.display>` function is now available by
147 The :func:`display() <IPython.display.display>` function is now available by
148 default in an IPython session, meaning users can call it on any object to see
148 default in an IPython session, meaning users can call it on any object to see
149 their rich representation. This should allow for better interactivity both at
149 their rich representation. This should allow for better interactivity both at
150 the REPL and in notebook environment.
150 the REPL and in notebook environment.
151
151
152 Scripts and library that rely on display and may be run outside of IPython still
152 Scripts and library that rely on display and may be run outside of IPython still
153 need to import the display function using ``from IPython.display import
153 need to import the display function using ``from IPython.display import
154 display``. See :ghpull:`10596`
154 display``. See :ghpull:`10596`
155
155
156
156
157 Miscs
157 Miscs
158 -----
158 -----
159
159
160 * ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
160 * ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
161 :ghpull:`10523`
161 :ghpull:`10523`
162 * Use user colorscheme in Pdb as well :ghpull:`10479`
162 * Use user colorscheme in Pdb as well :ghpull:`10479`
163 * Faster shutdown. :ghpull:`10408`
163 * Faster shutdown. :ghpull:`10408`
164 * Fix a crash in reverse search. :ghpull:`10371`
164 * Fix a crash in reverse search. :ghpull:`10371`
165 * added ``Completer.backslash_combining_completions`` boolean option to
165 * added ``Completer.backslash_combining_completions`` boolean option to
166 deactivate backslash-tab completion that may conflict with windows path.
166 deactivate backslash-tab completion that may conflict with windows path.
167
167
168 IPython 5.3
168 IPython 5.3
169 ===========
169 ===========
170
170
171 Released on February 24th, 2017. Remarkable changes and fixes:
171 Released on February 24th, 2017. Remarkable changes and fixes:
172
172
173 * Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
173 * Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
174 :ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
174 :ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
175 * Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
175 * Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
176 :ghpull:`10240`
176 :ghpull:`10240`
177 * Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
177 * Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
178 * Update terminal colors to be more visible by default on windows
178 * Update terminal colors to be more visible by default on windows
179 :ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
179 :ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
180 * Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
180 * Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
181 :ghissue:`10273`
181 :ghissue:`10273`
182 * Indent on new line by looking at the text before the cursor :ghpull:`10264`,
182 * Indent on new line by looking at the text before the cursor :ghpull:`10264`,
183 :ghpull:`10275`, :ghissue:`9283`
183 :ghpull:`10275`, :ghissue:`9283`
184 * Update QtEventloop integration to fix some matplotlib integration issues
184 * Update QtEventloop integration to fix some matplotlib integration issues
185 :ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
185 :ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
186 * Respect completions display style in terminal debugger :ghpull:`10305`,
186 * Respect completions display style in terminal debugger :ghpull:`10305`,
187 :ghpull:`10313`
187 :ghpull:`10313`
188 * Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
188 * Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
189 to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
189 to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
190 in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
190 in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
191 The :kbd:`F2` shortcut is always enabled.
191 The :kbd:`F2` shortcut is always enabled.
192
192
193 IPython 5.2.2
193 IPython 5.2.2
194 =============
194 =============
195
195
196 * Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
196 * Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
197
197
198 IPython 5.2.1
198 IPython 5.2.1
199 =============
199 =============
200
200
201 * Fix tab completion in the debugger. :ghpull:`10223`
201 * Fix tab completion in the debugger. :ghpull:`10223`
202
202
203 IPython 5.2
203 IPython 5.2
204 ===========
204 ===========
205
205
206 Released on January 29th, 2017. Remarkable changes and fixes:
206 Released on January 29th, 2017. Remarkable changes and fixes:
207
207
208 * restore IPython's debugger to raise on quit. :ghpull:`10009`
208 * restore IPython's debugger to raise on quit. :ghpull:`10009`
209 * The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
209 * The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
210 now directly take a class argument for custom color style. :ghpull:`9848`
210 now directly take a class argument for custom color style. :ghpull:`9848`
211 * Correctly handle matplotlib figures dpi :ghpull:`9868`
211 * Correctly handle matplotlib figures dpi :ghpull:`9868`
212 * Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
212 * Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
213 :ghpull:`9872`
213 :ghpull:`9872`
214 * You can now press F2 while typing at a terminal prompt to edit the contents
214 * You can now press F2 while typing at a terminal prompt to edit the contents
215 in your favourite terminal editor. Set the :envvar:`EDITOR` environment
215 in your favourite terminal editor. Set the :envvar:`EDITOR` environment
216 variable to pick which editor is used. :ghpull:`9929`
216 variable to pick which editor is used. :ghpull:`9929`
217 * sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
217 * sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
218 :ghpull:`9925`
218 :ghpull:`9925`
219 * :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
219 * :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
220 convenience. :ghpull:`9947`
220 convenience. :ghpull:`9947`
221 * The 'smart command mode' added to the debugger in 5.0 was removed, as more
221 * The 'smart command mode' added to the debugger in 5.0 was removed, as more
222 people preferred the previous behaviour. Therefore, debugger commands such as
222 people preferred the previous behaviour. Therefore, debugger commands such as
223 ``c`` will act as debugger commands even when ``c`` is defined as a variable.
223 ``c`` will act as debugger commands even when ``c`` is defined as a variable.
224 :ghpull:`10050`
224 :ghpull:`10050`
225 * Fixes OS X event loop issues at startup, :ghpull:`10150`
225 * Fixes OS X event loop issues at startup, :ghpull:`10150`
226 * Deprecate the ``%autoindent`` magic. :ghpull:`10176`
226 * Deprecate the ``%autoindent`` magic. :ghpull:`10176`
227 * Emit a :any:`DeprecationWarning` when setting the deprecated
227 * Emit a :any:`DeprecationWarning` when setting the deprecated
228 ``limit_to_all`` option of the completer. :ghpull:`10198`
228 ``limit_to_all`` option of the completer. :ghpull:`10198`
229 * The :cellmagic:`capture` magic can now capture the result of a cell (from an
229 * The :cellmagic:`capture` magic can now capture the result of a cell (from an
230 expression on the last line), as well as printed and displayed output.
230 expression on the last line), as well as printed and displayed output.
231 :ghpull:`9851`.
231 :ghpull:`9851`.
232
232
233
233
234 Changes of behavior to :any:`InteractiveShellEmbed`.
234 Changes of behavior to :any:`InteractiveShellEmbed`.
235
235
236 :any:`InteractiveShellEmbed` interactive behavior have changed a bit in between
236 :any:`InteractiveShellEmbed` interactive behavior have changed a bit in between
237 5.1 and 5.2. By default ``%kill_embedded`` magic will prevent further invocation
237 5.1 and 5.2. By default ``%kill_embedded`` magic will prevent further invocation
238 of the current ``call location`` instead of preventing further invocation of
238 of the current ``call location`` instead of preventing further invocation of
239 the current instance creation location. For most use case this will not change
239 the current instance creation location. For most use case this will not change
240 much for you, though previous behavior was confusing and less consistent with
240 much for you, though previous behavior was confusing and less consistent with
241 previous IPython versions.
241 previous IPython versions.
242
242
243 You can now deactivate instances by using ``%kill_embedded --instance`` flag,
243 You can now deactivate instances by using ``%kill_embedded --instance`` flag,
244 (or ``-i`` in short). The ``%kill_embedded`` magic also gained a
244 (or ``-i`` in short). The ``%kill_embedded`` magic also gained a
245 ``--yes``/``-y`` option which skip confirmation step, and ``-x``/``--exit``
245 ``--yes``/``-y`` option which skip confirmation step, and ``-x``/``--exit``
246 which also exit the current embedded call without asking for confirmation.
246 which also exit the current embedded call without asking for confirmation.
247
247
248 See :ghpull:`10207`.
248 See :ghpull:`10207`.
249
249
250
250
251
251
252 IPython 5.1
252 IPython 5.1
253 ===========
253 ===========
254
254
255 * Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
255 * Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
256 * Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
256 * Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
257 * Don't set terminal title by default. :ghpull:`9801`
257 * Don't set terminal title by default. :ghpull:`9801`
258 * Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
258 * Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
259 * Restore completion in debugger. :ghpull:`9785`
259 * Restore completion in debugger. :ghpull:`9785`
260 * Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
260 * Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
261 * Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
261 * Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
262 * Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
262 * Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
263 * Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
263 * Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
264 * An embedded interactive shell instance can be used more than once. :ghpull:`9843`
264 * An embedded interactive shell instance can be used more than once. :ghpull:`9843`
265 * More robust check for whether IPython is in a terminal. :ghpull:`9833`
265 * More robust check for whether IPython is in a terminal. :ghpull:`9833`
266 * Better pretty-printing of dicts on PyPy. :ghpull:`9827`
266 * Better pretty-printing of dicts on PyPy. :ghpull:`9827`
267 * Some coloured output now looks better on dark background command prompts in Windows.
267 * Some coloured output now looks better on dark background command prompts in Windows.
268 :ghpull:`9838`
268 :ghpull:`9838`
269 * Improved tab completion of paths on Windows . :ghpull:`9826`
269 * Improved tab completion of paths on Windows . :ghpull:`9826`
270 * Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
270 * Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
271 * Restore ``Ctrl-\`` as a shortcut to quit IPython.
271 * Restore ``Ctrl-\`` as a shortcut to quit IPython.
272 * Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
272 * Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
273 * Add support for running directories containing a ``__main__.py`` file with the
273 * Add support for running directories containing a ``__main__.py`` file with the
274 ``ipython`` command. :ghpull:`9813`
274 ``ipython`` command. :ghpull:`9813`
275
275
276
276
277 True Color feature
277 True Color feature
278 ------------------
278 ------------------
279
279
280 ``prompt_toolkit`` uses pygments styles for syntax highlighting. By default, the
280 ``prompt_toolkit`` uses pygments styles for syntax highlighting. By default, the
281 colors specified in the style are approximated using a standard 256-color
281 colors specified in the style are approximated using a standard 256-color
282 palette. ``prompt_toolkit`` also supports 24bit, a.k.a. "true", a.k.a. 16-million
282 palette. ``prompt_toolkit`` also supports 24bit, a.k.a. "true", a.k.a. 16-million
283 color escape sequences which enable compatible terminals to display the exact
283 color escape sequences which enable compatible terminals to display the exact
284 colors specified instead of an approximation. This true_color option exposes
284 colors specified instead of an approximation. This true_color option exposes
285 that capability in prompt_toolkit to the IPython shell.
285 that capability in prompt_toolkit to the IPython shell.
286
286
287 Here is a good source for the current state of true color support in various
287 Here is a good source for the current state of true color support in various
288 terminal emulators and software projects: https://gist.github.com/XVilka/8346728
288 terminal emulators and software projects: https://gist.github.com/XVilka/8346728
289
289
290
290
291
291
292 IPython 5.0
292 IPython 5.0
293 ===========
293 ===========
294
294
295 Released July 7, 2016
295 Released July 7, 2016
296
296
297 New terminal interface
297 New terminal interface
298 ----------------------
298 ----------------------
299
299
300 IPython 5 features a major upgrade to the terminal interface, bringing live
300 IPython 5 features a major upgrade to the terminal interface, bringing live
301 syntax highlighting as you type, proper multiline editing and multiline paste,
301 syntax highlighting as you type, proper multiline editing and multiline paste,
302 and tab completions that don't clutter up your history.
302 and tab completions that don't clutter up your history.
303
303
304 .. image:: ../_images/ptshell_features.png
304 .. image:: ../_images/ptshell_features.png
305 :alt: New terminal interface features
305 :alt: New terminal interface features
306 :align: center
306 :align: center
307 :target: ../_images/ptshell_features.png
307 :target: ../_images/ptshell_features.png
308
308
309 These features are provided by the Python library `prompt_toolkit
309 These features are provided by the Python library `prompt_toolkit
310 <http://python-prompt-toolkit.readthedocs.io/en/stable/>`__, which replaces
310 <https://python-prompt-toolkit.readthedocs.io/en/stable/>`__, which replaces
311 ``readline`` throughout our terminal interface.
311 ``readline`` throughout our terminal interface.
312
312
313 Relying on this pure-Python, cross platform module also makes it simpler to
313 Relying on this pure-Python, cross platform module also makes it simpler to
314 install IPython. We have removed dependencies on ``pyreadline`` for Windows and
314 install IPython. We have removed dependencies on ``pyreadline`` for Windows and
315 ``gnureadline`` for Mac.
315 ``gnureadline`` for Mac.
316
316
317 Backwards incompatible changes
317 Backwards incompatible changes
318 ------------------------------
318 ------------------------------
319
319
320 - The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
320 - The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
321 You can distribute and install extensions as packages on PyPI.
321 You can distribute and install extensions as packages on PyPI.
322 - Callbacks registered while an event is being handled will now only be called
322 - Callbacks registered while an event is being handled will now only be called
323 for subsequent events; previously they could be called for the current event.
323 for subsequent events; previously they could be called for the current event.
324 Similarly, callbacks removed while handling an event *will* always get that
324 Similarly, callbacks removed while handling an event *will* always get that
325 event. See :ghissue:`9447` and :ghpull:`9453`.
325 event. See :ghissue:`9447` and :ghpull:`9453`.
326 - Integration with pydb has been removed since pydb development has been stopped
326 - Integration with pydb has been removed since pydb development has been stopped
327 since 2012, and pydb is not installable from PyPI.
327 since 2012, and pydb is not installable from PyPI.
328 - The ``autoedit_syntax`` option has apparently been broken for many years.
328 - The ``autoedit_syntax`` option has apparently been broken for many years.
329 It has been removed.
329 It has been removed.
330
330
331 New terminal interface
331 New terminal interface
332 ~~~~~~~~~~~~~~~~~~~~~~
332 ~~~~~~~~~~~~~~~~~~~~~~
333
333
334 The overhaul of the terminal interface will probably cause a range of minor
334 The overhaul of the terminal interface will probably cause a range of minor
335 issues for existing users.
335 issues for existing users.
336 This is inevitable for such a significant change, and we've done our best to
336 This is inevitable for such a significant change, and we've done our best to
337 minimise these issues.
337 minimise these issues.
338 Some changes that we're aware of, with suggestions on how to handle them:
338 Some changes that we're aware of, with suggestions on how to handle them:
339
339
340 IPython no longer uses readline configuration (``~/.inputrc``). We hope that
340 IPython no longer uses readline configuration (``~/.inputrc``). We hope that
341 the functionality you want (e.g. vi input mode) will be available by configuring
341 the functionality you want (e.g. vi input mode) will be available by configuring
342 IPython directly (see :doc:`/config/options/terminal`).
342 IPython directly (see :doc:`/config/options/terminal`).
343 If something's missing, please file an issue.
343 If something's missing, please file an issue.
344
344
345 The ``PromptManager`` class has been removed, and the prompt machinery simplified.
345 The ``PromptManager`` class has been removed, and the prompt machinery simplified.
346 See :ref:`custom_prompts` to customise prompts with the new machinery.
346 See :ref:`custom_prompts` to customise prompts with the new machinery.
347
347
348 :mod:`IPython.core.debugger` now provides a plainer interface.
348 :mod:`IPython.core.debugger` now provides a plainer interface.
349 :mod:`IPython.terminal.debugger` contains the terminal debugger using
349 :mod:`IPython.terminal.debugger` contains the terminal debugger using
350 prompt_toolkit.
350 prompt_toolkit.
351
351
352 There are new options to configure the colours used in syntax highlighting.
352 There are new options to configure the colours used in syntax highlighting.
353 We have tried to integrate them with our classic ``--colors`` option and
353 We have tried to integrate them with our classic ``--colors`` option and
354 ``%colors`` magic, but there's a mismatch in possibilities, so some configurations
354 ``%colors`` magic, but there's a mismatch in possibilities, so some configurations
355 may produce unexpected results. See :ref:`termcolour` for more information.
355 may produce unexpected results. See :ref:`termcolour` for more information.
356
356
357 The new interface is not compatible with Emacs 'inferior-shell' feature. To
357 The new interface is not compatible with Emacs 'inferior-shell' feature. To
358 continue using this, add the ``--simple-prompt`` flag to the command Emacs
358 continue using this, add the ``--simple-prompt`` flag to the command Emacs
359 runs. This flag disables most IPython features, relying on Emacs to provide
359 runs. This flag disables most IPython features, relying on Emacs to provide
360 things like tab completion.
360 things like tab completion.
361
361
362 Provisional Changes
362 Provisional Changes
363 -------------------
363 -------------------
364
364
365 Provisional changes are experimental functionality that may, or may not, make
365 Provisional changes are experimental functionality that may, or may not, make
366 it into a future version of IPython, and which API may change without warnings.
366 it into a future version of IPython, and which API may change without warnings.
367 Activating these features and using these API are at your own risk, and may have
367 Activating these features and using these API are at your own risk, and may have
368 security implication for your system, especially if used with the Jupyter notebook,
368 security implication for your system, especially if used with the Jupyter notebook,
369
369
370 When running via the Jupyter notebook interfaces, or other compatible client,
370 When running via the Jupyter notebook interfaces, or other compatible client,
371 you can enable rich documentation experimental functionality:
371 you can enable rich documentation experimental functionality:
372
372
373 When the ``docrepr`` package is installed setting the boolean flag
373 When the ``docrepr`` package is installed setting the boolean flag
374 ``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
374 ``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
375 object through sphinx before displaying them (see the ``docrepr`` package
375 object through sphinx before displaying them (see the ``docrepr`` package
376 documentation for more information.
376 documentation for more information.
377
377
378 You need to also enable the IPython pager display rich HTML representation
378 You need to also enable the IPython pager display rich HTML representation
379 using the ``InteractiveShell.enable_html_pager`` boolean configuration option.
379 using the ``InteractiveShell.enable_html_pager`` boolean configuration option.
380 As usual you can set these configuration options globally in your configuration
380 As usual you can set these configuration options globally in your configuration
381 files, alternatively you can turn them on dynamically using the following
381 files, alternatively you can turn them on dynamically using the following
382 snippet:
382 snippet:
383
383
384 .. code-block:: python
384 .. code-block:: python
385
385
386 ip = get_ipython()
386 ip = get_ipython()
387 ip.sphinxify_docstring = True
387 ip.sphinxify_docstring = True
388 ip.enable_html_pager = True
388 ip.enable_html_pager = True
389
389
390
390
391 You can test the effect of various combinations of the above configuration in
391 You can test the effect of various combinations of the above configuration in
392 the Jupyter notebook, with things example like :
392 the Jupyter notebook, with things example like :
393
393
394 .. code-block:: ipython
394 .. code-block:: ipython
395
395
396 import numpy as np
396 import numpy as np
397 np.histogram?
397 np.histogram?
398
398
399
399
400 This is part of an effort to make Documentation in Python richer and provide in
400 This is part of an effort to make Documentation in Python richer and provide in
401 the long term if possible dynamic examples that can contain math, images,
401 the long term if possible dynamic examples that can contain math, images,
402 widgets... As stated above this is nightly experimental feature with a lot of
402 widgets... As stated above this is nightly experimental feature with a lot of
403 (fun) problem to solve. We would be happy to get your feedback and expertise on
403 (fun) problem to solve. We would be happy to get your feedback and expertise on
404 it.
404 it.
405
405
406
406
407
407
408 Deprecated Features
408 Deprecated Features
409 -------------------
409 -------------------
410
410
411 Some deprecated features are listed in this section. Don't forget to enable
411 Some deprecated features are listed in this section. Don't forget to enable
412 ``DeprecationWarning`` as an error if you are using IPython in a Continuous
412 ``DeprecationWarning`` as an error if you are using IPython in a Continuous
413 Integration setup or in your testing in general:
413 Integration setup or in your testing in general:
414
414
415 .. code-block:: python
415 .. code-block:: python
416
416
417 import warnings
417 import warnings
418 warnings.filterwarnings('error', '.*', DeprecationWarning, module='yourmodule.*')
418 warnings.filterwarnings('error', '.*', DeprecationWarning, module='yourmodule.*')
419
419
420
420
421 - ``hooks.fix_error_editor`` seems unused and is pending deprecation.
421 - ``hooks.fix_error_editor`` seems unused and is pending deprecation.
422 - `IPython/core/excolors.py:ExceptionColors` is deprecated.
422 - `IPython/core/excolors.py:ExceptionColors` is deprecated.
423 - `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
423 - `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
424 - `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
424 - `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
425 - The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
425 - The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
426 - The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
426 - The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
427
427
428
428
429 Known Issues:
429 Known Issues:
430 -------------
430 -------------
431
431
432 - ``<Esc>`` Key does not dismiss the completer and does not clear the current
432 - ``<Esc>`` Key does not dismiss the completer and does not clear the current
433 buffer. This is an on purpose modification due to current technical
433 buffer. This is an on purpose modification due to current technical
434 limitation. Cf :ghpull:`9572`. Escape the control character which is used
434 limitation. Cf :ghpull:`9572`. Escape the control character which is used
435 for other shortcut, and there is no practical way to distinguish. Use Ctr-G
435 for other shortcut, and there is no practical way to distinguish. Use Ctr-G
436 or Ctrl-C as an alternative.
436 or Ctrl-C as an alternative.
437
437
438 - Cannot use ``Shift-Enter`` and ``Ctrl-Enter`` to submit code in terminal. cf
438 - Cannot use ``Shift-Enter`` and ``Ctrl-Enter`` to submit code in terminal. cf
439 :ghissue:`9587` and :ghissue:`9401`. In terminal there is no practical way to
439 :ghissue:`9587` and :ghissue:`9401`. In terminal there is no practical way to
440 distinguish these key sequences from a normal new line return.
440 distinguish these key sequences from a normal new line return.
441
441
442 - ``PageUp`` and ``pageDown`` do not move through completion menu.
442 - ``PageUp`` and ``pageDown`` do not move through completion menu.
443
443
444 - Color styles might not adapt to terminal emulator themes. This will need new
444 - Color styles might not adapt to terminal emulator themes. This will need new
445 version of Pygments to be released, and can be mitigated with custom themes.
445 version of Pygments to be released, and can be mitigated with custom themes.
General Comments 0
You need to be logged in to leave comments. Login now