##// END OF EJS Templates
Switch protocol to https...
Matthias Bussonnier -
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -1,151 +1,151 b''
1 1 # encoding: utf-8
2 2 """
3 3 IPython: tools for interactive and parallel computing in Python.
4 4
5 http://ipython.org
5 https://ipython.org
6 6 """
7 7 #-----------------------------------------------------------------------------
8 8 # Copyright (c) 2008-2011, IPython Development Team.
9 9 # Copyright (c) 2001-2007, Fernando Perez <fernando.perez@colorado.edu>
10 10 # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de>
11 11 # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu>
12 12 #
13 13 # Distributed under the terms of the Modified BSD License.
14 14 #
15 15 # The full license is in the file COPYING.txt, distributed with this software.
16 16 #-----------------------------------------------------------------------------
17 17
18 18 #-----------------------------------------------------------------------------
19 19 # Imports
20 20 #-----------------------------------------------------------------------------
21 21
22 22 import os
23 23 import sys
24 24
25 25 #-----------------------------------------------------------------------------
26 26 # Setup everything
27 27 #-----------------------------------------------------------------------------
28 28
29 29 # Don't forget to also update setup.py when this changes!
30 30 if sys.version_info < (3,4):
31 31 raise ImportError(
32 32 """
33 33 IPython 7.0+ supports Python 3.4 and above.
34 34 When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
35 35 Python 3.3 was supported up to IPython 6.x.
36 36
37 37 See IPython `README.rst` file for more information:
38 38
39 39 https://github.com/ipython/ipython/blob/master/README.rst
40 40
41 41 """)
42 42
43 43 # Make it easy to import extensions - they are always directly on pythonpath.
44 44 # Therefore, non-IPython modules can be added to extensions directory.
45 45 # This should probably be in ipapp.py.
46 46 sys.path.append(os.path.join(os.path.dirname(__file__), "extensions"))
47 47
48 48 #-----------------------------------------------------------------------------
49 49 # Setup the top level names
50 50 #-----------------------------------------------------------------------------
51 51
52 52 from .core.getipython import get_ipython
53 53 from .core import release
54 54 from .core.application import Application
55 55 from .terminal.embed import embed
56 56
57 57 from .core.interactiveshell import InteractiveShell
58 58 from .testing import test
59 59 from .utils.sysinfo import sys_info
60 60 from .utils.frame import extract_module_locals
61 61
62 62 # Release data
63 63 __author__ = '%s <%s>' % (release.author, release.author_email)
64 64 __license__ = release.license
65 65 __version__ = release.version
66 66 version_info = release.version_info
67 67
68 68 def embed_kernel(module=None, local_ns=None, **kwargs):
69 69 """Embed and start an IPython kernel in a given scope.
70 70
71 71 If you don't want the kernel to initialize the namespace
72 72 from the scope of the surrounding function,
73 73 and/or you want to load full IPython configuration,
74 74 you probably want `IPython.start_kernel()` instead.
75 75
76 76 Parameters
77 77 ----------
78 78 module : ModuleType, optional
79 79 The module to load into IPython globals (default: caller)
80 80 local_ns : dict, optional
81 81 The namespace to load into IPython user namespace (default: caller)
82 82
83 83 kwargs : various, optional
84 84 Further keyword args are relayed to the IPKernelApp constructor,
85 85 allowing configuration of the Kernel. Will only have an effect
86 86 on the first embed_kernel call for a given process.
87 87 """
88 88
89 89 (caller_module, caller_locals) = extract_module_locals(1)
90 90 if module is None:
91 91 module = caller_module
92 92 if local_ns is None:
93 93 local_ns = caller_locals
94 94
95 95 # Only import .zmq when we really need it
96 96 from ipykernel.embed import embed_kernel as real_embed_kernel
97 97 real_embed_kernel(module=module, local_ns=local_ns, **kwargs)
98 98
99 99 def start_ipython(argv=None, **kwargs):
100 100 """Launch a normal IPython instance (as opposed to embedded)
101 101
102 102 `IPython.embed()` puts a shell in a particular calling scope,
103 103 such as a function or method for debugging purposes,
104 104 which is often not desirable.
105 105
106 106 `start_ipython()` does full, regular IPython initialization,
107 107 including loading startup files, configuration, etc.
108 108 much of which is skipped by `embed()`.
109 109
110 110 This is a public API method, and will survive implementation changes.
111 111
112 112 Parameters
113 113 ----------
114 114
115 115 argv : list or None, optional
116 116 If unspecified or None, IPython will parse command-line options from sys.argv.
117 117 To prevent any command-line parsing, pass an empty list: `argv=[]`.
118 118 user_ns : dict, optional
119 119 specify this dictionary to initialize the IPython user namespace with particular values.
120 120 kwargs : various, optional
121 121 Any other kwargs will be passed to the Application constructor,
122 122 such as `config`.
123 123 """
124 124 from IPython.terminal.ipapp import launch_new_instance
125 125 return launch_new_instance(argv=argv, **kwargs)
126 126
127 127 def start_kernel(argv=None, **kwargs):
128 128 """Launch a normal IPython kernel instance (as opposed to embedded)
129 129
130 130 `IPython.embed_kernel()` puts a shell in a particular calling scope,
131 131 such as a function or method for debugging purposes,
132 132 which is often not desirable.
133 133
134 134 `start_kernel()` does full, regular IPython initialization,
135 135 including loading startup files, configuration, etc.
136 136 much of which is skipped by `embed()`.
137 137
138 138 Parameters
139 139 ----------
140 140
141 141 argv : list or None, optional
142 142 If unspecified or None, IPython will parse command-line options from sys.argv.
143 143 To prevent any command-line parsing, pass an empty list: `argv=[]`.
144 144 user_ns : dict, optional
145 145 specify this dictionary to initialize the IPython user namespace with particular values.
146 146 kwargs : various, optional
147 147 Any other kwargs will be passed to the Application constructor,
148 148 such as `config`.
149 149 """
150 150 from IPython.kernel.zmq.kernelapp import launch_new_instance
151 151 return launch_new_instance(argv=argv, **kwargs)
@@ -1,119 +1,119 b''
1 1 # -*- coding: utf-8 -*-
2 2 """Release data for the IPython project."""
3 3
4 4 #-----------------------------------------------------------------------------
5 5 # Copyright (c) 2008, IPython Development Team.
6 6 # Copyright (c) 2001, Fernando Perez <fernando.perez@colorado.edu>
7 7 # Copyright (c) 2001, Janko Hauser <jhauser@zscout.de>
8 8 # Copyright (c) 2001, Nathaniel Gray <n8gray@caltech.edu>
9 9 #
10 10 # Distributed under the terms of the Modified BSD License.
11 11 #
12 12 # The full license is in the file COPYING.txt, distributed with this software.
13 13 #-----------------------------------------------------------------------------
14 14
15 15 # Name of the package for release purposes. This is the name which labels
16 16 # the tarballs and RPMs made by distutils, so it's best to lowercase it.
17 17 name = 'ipython'
18 18
19 19 # IPython version information. An empty _version_extra corresponds to a full
20 20 # release. 'dev' as a _version_extra string means this is a development
21 21 # version
22 22 _version_major = 7
23 23 _version_minor = 0
24 24 _version_patch = 0
25 25 _version_extra = '.dev'
26 26 # _version_extra = 'rc2'
27 27 # _version_extra = '' # Uncomment this for full releases
28 28
29 29 # Construct full version string from these.
30 30 _ver = [_version_major, _version_minor, _version_patch]
31 31
32 32 __version__ = '.'.join(map(str, _ver))
33 33 if _version_extra:
34 34 __version__ = __version__ + _version_extra
35 35
36 36 version = __version__ # backwards compatibility name
37 37 version_info = (_version_major, _version_minor, _version_patch, _version_extra)
38 38
39 39 # Change this when incrementing the kernel protocol version
40 40 kernel_protocol_version_info = (5, 0)
41 41 kernel_protocol_version = "%i.%i" % kernel_protocol_version_info
42 42
43 43 description = "IPython: Productive Interactive Computing"
44 44
45 45 long_description = \
46 46 """
47 47 IPython provides a rich toolkit to help you make the most out of using Python
48 48 interactively. Its main components are:
49 49
50 50 * A powerful interactive Python shell
51 * A `Jupyter <http://jupyter.org/>`_ kernel to work with Python code in Jupyter
51 * A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter
52 52 notebooks and other interactive frontends.
53 53
54 54 The enhanced interactive Python shells have the following main features:
55 55
56 56 * Comprehensive object introspection.
57 57
58 58 * Input history, persistent across sessions.
59 59
60 60 * Caching of output results during a session with automatically generated
61 61 references.
62 62
63 63 * Extensible tab completion, with support by default for completion of python
64 64 variables and keywords, filenames and function keywords.
65 65
66 66 * Extensible system of 'magic' commands for controlling the environment and
67 67 performing many tasks related either to IPython or the operating system.
68 68
69 69 * A rich configuration system with easy switching between different setups
70 70 (simpler than changing $PYTHONSTARTUP environment variables every time).
71 71
72 72 * Session logging and reloading.
73 73
74 74 * Extensible syntax processing for special purpose situations.
75 75
76 76 * Access to the system shell with user-extensible alias system.
77 77
78 78 * Easily embeddable in other Python programs and GUIs.
79 79
80 80 * Integrated access to the pdb debugger and the Python profiler.
81 81
82 82 The latest development version is always available from IPython's `GitHub
83 83 site <http://github.com/ipython>`_.
84 84 """
85 85
86 86 license = 'BSD'
87 87
88 88 authors = {'Fernando' : ('Fernando Perez','fperez.net@gmail.com'),
89 89 'Janko' : ('Janko Hauser','jhauser@zscout.de'),
90 90 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'),
91 91 'Ville' : ('Ville Vainio','vivainio@gmail.com'),
92 92 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'),
93 93 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com'),
94 94 'Thomas' : ('Thomas A. Kluyver', 'takowl@gmail.com'),
95 95 'Jorgen' : ('Jorgen Stenarson', 'jorgen.stenarson@bostream.nu'),
96 96 'Matthias' : ('Matthias Bussonnier', 'bussonniermatthias@gmail.com'),
97 97 }
98 98
99 99 author = 'The IPython Development Team'
100 100
101 101 author_email = 'ipython-dev@python.org'
102 102
103 103 url = 'https://ipython.org'
104 104
105 105
106 106 platforms = ['Linux','Mac OSX','Windows']
107 107
108 108 keywords = ['Interactive','Interpreter','Shell', 'Embedding']
109 109
110 110 classifiers = [
111 111 'Framework :: IPython',
112 112 'Intended Audience :: Developers',
113 113 'Intended Audience :: Science/Research',
114 114 'License :: OSI Approved :: BSD License',
115 115 'Programming Language :: Python',
116 116 'Programming Language :: Python :: 3',
117 117 'Programming Language :: Python :: 3 :: Only',
118 118 'Topic :: System :: Shells'
119 119 ]
@@ -1,341 +1,341 b''
1 1 # -*- coding: utf-8 -*-
2 2 """Usage information for the main IPython applications.
3 3 """
4 4 #-----------------------------------------------------------------------------
5 5 # Copyright (C) 2008-2011 The IPython Development Team
6 6 # Copyright (C) 2001-2007 Fernando Perez. <fperez@colorado.edu>
7 7 #
8 8 # Distributed under the terms of the BSD License. The full license is in
9 9 # the file COPYING, distributed as part of this software.
10 10 #-----------------------------------------------------------------------------
11 11
12 12 import sys
13 13 from IPython.core import release
14 14
15 15 cl_usage = """\
16 16 =========
17 17 IPython
18 18 =========
19 19
20 20 Tools for Interactive Computing in Python
21 21 =========================================
22 22
23 23 A Python shell with automatic history (input and output), dynamic object
24 24 introspection, easier configuration, command completion, access to the
25 25 system shell and more. IPython can also be embedded in running programs.
26 26
27 27
28 28 Usage
29 29
30 30 ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ...
31 31
32 32 If invoked with no options, it executes the file and exits, passing the
33 33 remaining arguments to the script, just as if you had specified the same
34 34 command with python. You may need to specify `--` before args to be passed
35 35 to the script, to prevent IPython from attempting to parse them. If you
36 36 specify the option `-i` before the filename, it will enter an interactive
37 37 IPython session after running the script, rather than exiting. Files ending
38 38 in .py will be treated as normal Python, but files ending in .ipy can
39 39 contain special IPython syntax (magic commands, shell expansions, etc.).
40 40
41 41 Almost all configuration in IPython is available via the command-line. Do
42 42 `ipython --help-all` to see all available options. For persistent
43 43 configuration, look into your `ipython_config.py` configuration file for
44 44 details.
45 45
46 46 This file is typically installed in the `IPYTHONDIR` directory, and there
47 47 is a separate configuration directory for each profile. The default profile
48 48 directory will be located in $IPYTHONDIR/profile_default. IPYTHONDIR
49 49 defaults to to `$HOME/.ipython`. For Windows users, $HOME resolves to
50 50 C:\\Users\\YourUserName in most instances.
51 51
52 52 To initialize a profile with the default configuration file, do::
53 53
54 54 $> ipython profile create
55 55
56 56 and start editing `IPYTHONDIR/profile_default/ipython_config.py`
57 57
58 58 In IPython's documentation, we will refer to this directory as
59 59 `IPYTHONDIR`, you can change its default location by creating an
60 60 environment variable with this name and setting it to the desired path.
61 61
62 62 For more information, see the manual available in HTML and PDF in your
63 installation, or online at http://ipython.org/documentation.html.
63 installation, or online at https://ipython.org/documentation.html.
64 64 """
65 65
66 66 interactive_usage = """
67 67 IPython -- An enhanced Interactive Python
68 68 =========================================
69 69
70 70 IPython offers a fully compatible replacement for the standard Python
71 71 interpreter, with convenient shell features, special commands, command
72 72 history mechanism and output results caching.
73 73
74 74 At your system command line, type 'ipython -h' to see the command line
75 75 options available. This document only describes interactive features.
76 76
77 77 GETTING HELP
78 78 ------------
79 79
80 80 Within IPython you have various way to access help:
81 81
82 82 ? -> Introduction and overview of IPython's features (this screen).
83 83 object? -> Details about 'object'.
84 84 object?? -> More detailed, verbose information about 'object'.
85 85 %quickref -> Quick reference of all IPython specific syntax and magics.
86 86 help -> Access Python's own help system.
87 87
88 88 If you are in terminal IPython you can quit this screen by pressing `q`.
89 89
90 90
91 91 MAIN FEATURES
92 92 -------------
93 93
94 94 * Access to the standard Python help with object docstrings and the Python
95 95 manuals. Simply type 'help' (no quotes) to invoke it.
96 96
97 97 * Magic commands: type %magic for information on the magic subsystem.
98 98
99 99 * System command aliases, via the %alias command or the configuration file(s).
100 100
101 101 * Dynamic object information:
102 102
103 103 Typing ?word or word? prints detailed information about an object. Certain
104 104 long strings (code, etc.) get snipped in the center for brevity.
105 105
106 106 Typing ??word or word?? gives access to the full information without
107 107 snipping long strings. Strings that are longer than the screen are printed
108 108 through the less pager.
109 109
110 110 The ?/?? system gives access to the full source code for any object (if
111 111 available), shows function prototypes and other useful information.
112 112
113 113 If you just want to see an object's docstring, type '%pdoc object' (without
114 114 quotes, and without % if you have automagic on).
115 115
116 116 * Tab completion in the local namespace:
117 117
118 118 At any time, hitting tab will complete any available python commands or
119 119 variable names, and show you a list of the possible completions if there's
120 120 no unambiguous one. It will also complete filenames in the current directory.
121 121
122 122 * Search previous command history in multiple ways:
123 123
124 124 - Start typing, and then use arrow keys up/down or (Ctrl-p/Ctrl-n) to search
125 125 through the history items that match what you've typed so far.
126 126
127 127 - Hit Ctrl-r: opens a search prompt. Begin typing and the system searches
128 128 your history for lines that match what you've typed so far, completing as
129 129 much as it can.
130 130
131 131 - %hist: search history by index.
132 132
133 133 * Persistent command history across sessions.
134 134
135 135 * Logging of input with the ability to save and restore a working session.
136 136
137 137 * System shell with !. Typing !ls will run 'ls' in the current directory.
138 138
139 139 * The reload command does a 'deep' reload of a module: changes made to the
140 140 module since you imported will actually be available without having to exit.
141 141
142 142 * Verbose and colored exception traceback printouts. See the magic xmode and
143 143 xcolor functions for details (just type %magic).
144 144
145 145 * Input caching system:
146 146
147 147 IPython offers numbered prompts (In/Out) with input and output caching. All
148 148 input is saved and can be retrieved as variables (besides the usual arrow
149 149 key recall).
150 150
151 151 The following GLOBAL variables always exist (so don't overwrite them!):
152 152 _i: stores previous input.
153 153 _ii: next previous.
154 154 _iii: next-next previous.
155 155 _ih : a list of all input _ih[n] is the input from line n.
156 156
157 157 Additionally, global variables named _i<n> are dynamically created (<n>
158 158 being the prompt counter), such that _i<n> == _ih[<n>]
159 159
160 160 For example, what you typed at prompt 14 is available as _i14 and _ih[14].
161 161
162 162 You can create macros which contain multiple input lines from this history,
163 163 for later re-execution, with the %macro function.
164 164
165 165 The history function %hist allows you to see any part of your input history
166 166 by printing a range of the _i variables. Note that inputs which contain
167 167 magic functions (%) appear in the history with a prepended comment. This is
168 168 because they aren't really valid Python code, so you can't exec them.
169 169
170 170 * Output caching system:
171 171
172 172 For output that is returned from actions, a system similar to the input
173 173 cache exists but using _ instead of _i. Only actions that produce a result
174 174 (NOT assignments, for example) are cached. If you are familiar with
175 175 Mathematica, IPython's _ variables behave exactly like Mathematica's %
176 176 variables.
177 177
178 178 The following GLOBAL variables always exist (so don't overwrite them!):
179 179 _ (one underscore): previous output.
180 180 __ (two underscores): next previous.
181 181 ___ (three underscores): next-next previous.
182 182
183 183 Global variables named _<n> are dynamically created (<n> being the prompt
184 184 counter), such that the result of output <n> is always available as _<n>.
185 185
186 186 Finally, a global dictionary named _oh exists with entries for all lines
187 187 which generated output.
188 188
189 189 * Directory history:
190 190
191 191 Your history of visited directories is kept in the global list _dh, and the
192 192 magic %cd command can be used to go to any entry in that list.
193 193
194 194 * Auto-parentheses and auto-quotes (adapted from Nathan Gray's LazyPython)
195 195
196 196 1. Auto-parentheses
197 197
198 198 Callable objects (i.e. functions, methods, etc) can be invoked like
199 199 this (notice the commas between the arguments)::
200 200
201 201 In [1]: callable_ob arg1, arg2, arg3
202 202
203 203 and the input will be translated to this::
204 204
205 205 callable_ob(arg1, arg2, arg3)
206 206
207 207 This feature is off by default (in rare cases it can produce
208 208 undesirable side-effects), but you can activate it at the command-line
209 209 by starting IPython with `--autocall 1`, set it permanently in your
210 210 configuration file, or turn on at runtime with `%autocall 1`.
211 211
212 212 You can force auto-parentheses by using '/' as the first character
213 213 of a line. For example::
214 214
215 215 In [1]: /globals # becomes 'globals()'
216 216
217 217 Note that the '/' MUST be the first character on the line! This
218 218 won't work::
219 219
220 220 In [2]: print /globals # syntax error
221 221
222 222 In most cases the automatic algorithm should work, so you should
223 223 rarely need to explicitly invoke /. One notable exception is if you
224 224 are trying to call a function with a list of tuples as arguments (the
225 225 parenthesis will confuse IPython)::
226 226
227 227 In [1]: zip (1,2,3),(4,5,6) # won't work
228 228
229 229 but this will work::
230 230
231 231 In [2]: /zip (1,2,3),(4,5,6)
232 232 ------> zip ((1,2,3),(4,5,6))
233 233 Out[2]= [(1, 4), (2, 5), (3, 6)]
234 234
235 235 IPython tells you that it has altered your command line by
236 236 displaying the new command line preceded by -->. e.g.::
237 237
238 238 In [18]: callable list
239 239 -------> callable (list)
240 240
241 241 2. Auto-Quoting
242 242
243 243 You can force auto-quoting of a function's arguments by using ',' as
244 244 the first character of a line. For example::
245 245
246 246 In [1]: ,my_function /home/me # becomes my_function("/home/me")
247 247
248 248 If you use ';' instead, the whole argument is quoted as a single
249 249 string (while ',' splits on whitespace)::
250 250
251 251 In [2]: ,my_function a b c # becomes my_function("a","b","c")
252 252 In [3]: ;my_function a b c # becomes my_function("a b c")
253 253
254 254 Note that the ',' MUST be the first character on the line! This
255 255 won't work::
256 256
257 257 In [4]: x = ,my_function /home/me # syntax error
258 258 """
259 259
260 260 interactive_usage_min = """\
261 261 An enhanced console for Python.
262 262 Some of its features are:
263 263 - Tab completion in the local namespace.
264 264 - Logging of input, see command-line options.
265 265 - System shell escape via ! , eg !ls.
266 266 - Magic commands, starting with a % (like %ls, %pwd, %cd, etc.)
267 267 - Keeps track of locally defined variables via %who, %whos.
268 268 - Show object information with a ? eg ?x or x? (use ?? for more info).
269 269 """
270 270
271 271 quick_reference = r"""
272 272 IPython -- An enhanced Interactive Python - Quick Reference Card
273 273 ================================================================
274 274
275 275 obj?, obj?? : Get help, or more help for object (also works as
276 276 ?obj, ??obj).
277 277 ?foo.*abc* : List names in 'foo' containing 'abc' in them.
278 278 %magic : Information about IPython's 'magic' % functions.
279 279
280 280 Magic functions are prefixed by % or %%, and typically take their arguments
281 281 without parentheses, quotes or even commas for convenience. Line magics take a
282 282 single % and cell magics are prefixed with two %%.
283 283
284 284 Example magic function calls:
285 285
286 286 %alias d ls -F : 'd' is now an alias for 'ls -F'
287 287 alias d ls -F : Works if 'alias' not a python name
288 288 alist = %alias : Get list of aliases to 'alist'
289 289 cd /usr/share : Obvious. cd -<tab> to choose from visited dirs.
290 290 %cd?? : See help AND source for magic %cd
291 291 %timeit x=10 : time the 'x=10' statement with high precision.
292 292 %%timeit x=2**100
293 293 x**100 : time 'x**100' with a setup of 'x=2**100'; setup code is not
294 294 counted. This is an example of a cell magic.
295 295
296 296 System commands:
297 297
298 298 !cp a.txt b/ : System command escape, calls os.system()
299 299 cp a.txt b/ : after %rehashx, most system commands work without !
300 300 cp ${f}.txt $bar : Variable expansion in magics and system commands
301 301 files = !ls /usr : Capture system command output
302 302 files.s, files.l, files.n: "a b c", ['a','b','c'], 'a\nb\nc'
303 303
304 304 History:
305 305
306 306 _i, _ii, _iii : Previous, next previous, next next previous input
307 307 _i4, _ih[2:5] : Input history line 4, lines 2-4
308 308 exec _i81 : Execute input history line #81 again
309 309 %rep 81 : Edit input history line #81
310 310 _, __, ___ : previous, next previous, next next previous output
311 311 _dh : Directory history
312 312 _oh : Output history
313 313 %hist : Command history of current session.
314 314 %hist -g foo : Search command history of (almost) all sessions for 'foo'.
315 315 %hist -g : Command history of (almost) all sessions.
316 316 %hist 1/2-8 : Command history containing lines 2-8 of session 1.
317 317 %hist 1/ ~2/ : Command history of session 1 and 2 sessions before current.
318 318 %hist ~8/1-~6/5 : Command history from line 1 of 8 sessions ago to
319 319 line 5 of 6 sessions ago.
320 320 %edit 0/ : Open editor to execute code with history of current session.
321 321
322 322 Autocall:
323 323
324 324 f 1,2 : f(1,2) # Off by default, enable with %autocall magic.
325 325 /f 1,2 : f(1,2) (forced autoparen)
326 326 ,f 1 2 : f("1","2")
327 327 ;f 1 2 : f("1 2")
328 328
329 329 Remember: TAB completion works in many contexts, not just file names
330 330 or python names.
331 331
332 332 The following magic functions are currently available:
333 333
334 334 """
335 335
336 336 default_banner_parts = ["Python %s\n"%sys.version.split("\n")[0],
337 337 "Type 'copyright', 'credits' or 'license' for more information\n" ,
338 338 "IPython {version} -- An enhanced Interactive Python. Type '?' for help.\n".format(version=release.version),
339 339 ]
340 340
341 341 default_banner = ''.join(default_banner_parts)
@@ -1,111 +1,111 b''
1 1 .. image:: https://codecov.io/github/ipython/ipython/coverage.svg?branch=master
2 2 :target: https://codecov.io/github/ipython/ipython?branch=master
3 3
4 4 .. image:: https://img.shields.io/pypi/v/IPython.svg
5 5 :target: https://pypi.python.org/pypi/ipython
6 6
7 7 .. image:: https://img.shields.io/travis/ipython/ipython.svg
8 8 :target: https://travis-ci.org/ipython/ipython
9 9
10 10 .. image:: https://www.codetriage.com/ipython/ipython/badges/users.svg
11 11 :target: https://www.codetriage.com/ipython/ipython/
12 12
13 13 ===========================================
14 14 IPython: Productive Interactive Computing
15 15 ===========================================
16 16
17 17 Overview
18 18 ========
19 19
20 20 Welcome to IPython. Our full documentation is available on `ipython.readthedocs.io
21 21 <https://ipython.readthedocs.io/en/stable/>`_ and contains information on how to install, use and
22 22 contribute to the project.
23 23
24 24 **IPython versions and Python Support**
25 25
26 26 **IPython 7.0** requires Python version 3.4 and above.
27 27
28 28 **IPython 6.x** requires Python version 3.3 and above.
29 29
30 30 **IPython 5.x LTS** is the compatible release for Python 2.7.
31 31 If you require Python 2 support, you **must** use IPython 5.x LTS. Please
32 32 update your project configurations and requirements as necessary.
33 33
34 34
35 35 The Notebook, Qt console and a number of other pieces are now parts of *Jupyter*.
36 36 See the `Jupyter installation docs <https://jupyter.readthedocs.io/en/latest/install.html>`__
37 37 if you want to use these.
38 38
39 39
40 40
41 41
42 42 Development and Instant running
43 43 ===============================
44 44
45 45 You can find the latest version of the development documentation on `readthedocs
46 46 <https://ipython.readthedocs.io/en/latest/>`_.
47 47
48 48 You can run IPython from this directory without even installing it system-wide
49 49 by typing at the terminal::
50 50
51 51 $ python -m IPython
52 52
53 53 Or see the `development installation docs
54 54 <https://ipython.readthedocs.io/en/latest/install/install.html#installing-the-development-version>`_
55 55 for the latest revision on read the docs.
56 56
57 57 Documentation and installation instructions for older version of IPython can be
58 found on the `IPython website <http://ipython.org/documentation.html>`_
58 found on the `IPython website <https://ipython.org/documentation.html>`_
59 59
60 60
61 61
62 62 IPython requires Python version 3 or above
63 63 ==========================================
64 64
65 65 Starting with version 6.0, IPython does not support Python 2.7, 3.0, 3.1, or
66 66 3.2.
67 67
68 68 For a version compatible with Python 2.7, please install the 5.x LTS Long Term
69 69 Support version.
70 70
71 71 If you are encountering this error message you are likely trying to install or
72 72 use IPython from source. You need to checkout the remote 5.x branch. If you are
73 73 using git the following should work::
74 74
75 75 $ git fetch origin
76 76 $ git checkout 5.x
77 77
78 78 If you encounter this error message with a regular install of IPython, then you
79 79 likely need to update your package manager, for example if you are using `pip`
80 80 check the version of pip with::
81 81
82 82 $ pip --version
83 83
84 84 You will need to update pip to the version 9.0.1 or greater. If you are not using
85 85 pip, please inquiry with the maintainers of the package for your package
86 86 manager.
87 87
88 88 For more information see one of our blog posts:
89 89
90 http://blog.jupyter.org/2016/07/08/ipython-5-0-released/
90 https://blog.jupyter.org/2016/07/08/ipython-5-0-released/
91 91
92 92 As well as the following Pull-Request for discussion:
93 93
94 94 https://github.com/ipython/ipython/pull/9900
95 95
96 96 This error does also occur if you are invoking ``setup.py`` directly – which you
97 97 should not – or are using ``easy_install`` If this is the case, use ``pip
98 98 install .`` (instead of ``setup.py install`` , and ``pip install -e .`` instead
99 99 of ``setup.py develop`` If you are depending on IPython as a dependency you may
100 100 also want to have a conditional dependency on IPython depending on the Python
101 101 version::
102 102
103 103 install_req = ['ipython']
104 104 if sys.version_info[0] < 3 and 'bdist_wheel' not in sys.argv:
105 105 install_req.remove('ipython')
106 106 install_req.append('ipython<6')
107 107
108 108 setup(
109 109 ...
110 110 install_requires=install_req
111 111 )
@@ -1,118 +1,118 b''
1 1 .. _introduction:
2 2
3 3 =====================
4 4 IPython Documentation
5 5 =====================
6 6
7 7 .. only:: html
8 8
9 9 :Release: |release|
10 10 :Date: |today|
11 11
12 12 Welcome to the official IPython documentation
13 13
14 14 IPython provides a rich toolkit to help you make the most of using Python
15 15 interactively. Its main components are:
16 16
17 17 * A powerful interactive Python shell
18 18
19 19
20 20 .. image:: /_images/ipython-6-screenshot.png
21 21 :alt: Screenshot of IPython 6.0
22 22 :align: center
23 23
24 24
25 * A `Jupyter <http://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 26 notebooks and other interactive frontends.
27 27
28 28 The enhanced interactive Python shells and kernel have the following main
29 29 features:
30 30
31 31 * Comprehensive object introspection.
32 32
33 33 * Input history, persistent across sessions.
34 34
35 35 * Caching of output results during a session with automatically generated
36 36 references.
37 37
38 38 * Extensible tab completion, with support by default for completion of python
39 39 variables and keywords, filenames and function keywords.
40 40
41 41 * Extensible system of 'magic' commands for controlling the environment and
42 42 performing many tasks related to IPython or the operating system.
43 43
44 44 * A rich configuration system with easy switching between different setups
45 45 (simpler than changing ``$PYTHONSTARTUP`` environment variables every time).
46 46
47 47 * Session logging and reloading.
48 48
49 49 * Extensible syntax processing for special purpose situations.
50 50
51 51 * Access to the system shell with user-extensible alias system.
52 52
53 53 * Easily embeddable in other Python programs and GUIs.
54 54
55 55 * Integrated access to the pdb debugger and the Python profiler.
56 56
57 57
58 58 The Command line interface inherits the above functionality and adds
59 59
60 60 * real multi-line editing thanks to `prompt_toolkit <http://python-prompt-toolkit.readthedocs.io/en/stable/>`_.
61 61
62 62 * syntax highlighting as you type
63 63
64 64 * integration with command line editor for a better workflow.
65 65
66 66 The kernel also has its share of features. When used with a compatible frontend,
67 67 it allows:
68 68
69 69 * the object to create a rich display of Html, Images, Latex, Sound and
70 70 Video.
71 71
72 72 * interactive widgets with the use of the `ipywidgets <http://ipywidgets.readthedocs.io/en/stable/>`_ package.
73 73
74 74
75 75 This documentation will walk you through most of the features of the IPython
76 76 command line and kernel, as well as describe the internal mechanisms in order
77 77 to improve your Python workflow.
78 78
79 79 You can find the table of content for this documentation in the left
80 80 sidebar, allowing you to come back to previous sections or skip ahead, if needed.
81 81
82 82
83 83 The latest development version is always available from IPython's `GitHub
84 84 repository <http://github.com/ipython/ipython>`_.
85 85
86 86
87 87
88 88
89 89 .. toctree::
90 90 :maxdepth: 1
91 91 :hidden:
92 92
93 93 self
94 94 overview
95 95 whatsnew/index
96 96 install/index
97 97 interactive/index
98 98 config/index
99 99 development/index
100 100 coredev/index
101 101 api/index
102 102 sphinxext
103 103 about/index
104 104
105 105 .. seealso::
106 106
107 107 `Jupyter documentation <http://jupyter.readthedocs.io/en/latest/>`__
108 108 The Jupyter documentation provides information about the Notebook code and other Jupyter sub-projects.
109 109 `ipyparallel documentation <http://ipyparallel.readthedocs.io/en/latest/>`__
110 110 Formerly ``IPython.parallel``.
111 111
112 112
113 113 .. only:: html
114 114
115 115 * :ref:`genindex`
116 116 * :ref:`modindex`
117 117 * :ref:`search`
118 118
@@ -1,144 +1,144 b''
1 1 .. _install:
2 2
3 3 Installing IPython
4 4 ==================
5 5
6 6
7 7 IPython 6 requires Python ≥ 3.3. IPython 5.x can be installed on Python 2.
8 8
9 9
10 10 Quick Install
11 11 -------------
12 12
13 13 With ``pip`` already installed :
14 14
15 15 .. code-block:: bash
16 16
17 17 $ pip install ipython
18 18
19 19 This installs IPython as well as its dependencies.
20 20
21 21 If you want to use IPython with notebooks or the Qt console, you should also
22 22 install Jupyter ``pip install jupyter``.
23 23
24 24
25 25
26 26 Overview
27 27 --------
28 28
29 29 This document describes in detail the steps required to install IPython. For a
30 30 few quick ways to get started with package managers or full Python
31 distributions, see `the install page <http://ipython.org/install.html>`_ of the
31 distributions, see `the install page <https://ipython.org/install.html>`_ of the
32 32 IPython website.
33 33
34 34 Please let us know if you have problems installing IPython or any of its
35 35 dependencies.
36 36
37 37 IPython and most dependencies should be installed via :command:`pip`.
38 38 In many scenarios, this is the simplest method of installing Python packages.
39 39 More information about :mod:`pip` can be found on
40 40 `its PyPI page <https://pip.pypa.io>`__.
41 41
42 42
43 43 More general information about installing Python packages can be found in
44 44 `Python's documentation <http://docs.python.org>`_.
45 45
46 46 .. _dependencies:
47 47
48 48 Dependencies
49 49 ~~~~~~~~~~~~
50 50
51 51 IPython relies on a number of other Python packages. Installing using a package
52 52 manager like pip or conda will ensure the necessary packages are installed.
53 53 Manual installation without dependencies is possible, but not recommended.
54 54 The dependencies can be viewed with package manager commands,
55 55 such as :command:`pip show ipython` or :command:`conda info ipython`.
56 56
57 57
58 58 Installing IPython itself
59 59 ~~~~~~~~~~~~~~~~~~~~~~~~~
60 60
61 61 IPython requires several dependencies to work correctly, it is not recommended
62 62 to install IPython and all its dependencies manually as this can be quite long
63 63 and troublesome. You should use the python package manager ``pip``.
64 64
65 65 Installation using pip
66 66 ~~~~~~~~~~~~~~~~~~~~~~
67 67
68 68 Make sure you have the latest version of :mod:`pip` (the Python package
69 69 manager) installed. If you do not, head to `Pip documentation
70 70 <https://pip.pypa.io/en/stable/installing/>`_ and install :mod:`pip` first.
71 71
72 72 The quickest way to get up and running with IPython is to install it with pip:
73 73
74 74 .. code-block:: bash
75 75
76 76 $ pip install ipython
77 77
78 78 That's it.
79 79
80 80
81 81 Installation from source
82 82 ~~~~~~~~~~~~~~~~~~~~~~~~
83 83
84 84 To install IPython from source,
85 85 grab the latest stable tarball of IPython `from PyPI
86 86 <https://pypi.python.org/pypi/ipython>`__. Then do the following:
87 87
88 88 .. code-block:: bash
89 89
90 90 tar -xzf ipython-5.1.0.tar.gz
91 91 cd ipython-5.1.0
92 92 # The [test] extra ensures test dependencies are installed too:
93 93 pip install .[test]
94 94
95 95 Do not invoke ``setup.py`` directly as this can have undesirable consequences
96 96 for further upgrades. We do not recommend using ``easy_install`` either.
97 97
98 98 If you are installing to a location (like ``/usr/local``) that requires higher
99 99 permissions, you may need to run the last command with :command:`sudo`. You can
100 100 also install in user specific location by using the ``--user`` flag in
101 101 conjunction with pip.
102 102
103 103 To run IPython's test suite, use the :command:`iptest` command from outside of
104 104 the IPython source tree:
105 105
106 106 .. code-block:: bash
107 107
108 108 $ iptest
109 109
110 110 .. _devinstall:
111 111
112 112 Installing the development version
113 113 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114 114
115 115 It is also possible to install the development version of IPython from our
116 116 `Git <http://git-scm.com/>`_ source code repository. To do this you will
117 117 need to have Git installed on your system.
118 118
119 119
120 120 Then do:
121 121
122 122 .. code-block:: bash
123 123
124 124 $ git clone https://github.com/ipython/ipython.git
125 125 $ cd ipython
126 126 $ pip install -e .[test]
127 127
128 128 The :command:`pip install -e .` command allows users and developers to follow
129 129 the development branch as it changes by creating links in the right places and
130 130 installing the command line scripts to the appropriate locations.
131 131
132 132 Then, if you want to update your IPython at any time, do:
133 133
134 134 .. code-block:: bash
135 135
136 136 $ git pull
137 137
138 138 If the dependencies or entrypoints have changed, you may have to run
139 139
140 140 .. code-block:: bash
141 141
142 142 $ pip install -e .
143 143
144 144 again, but this is infrequent.
@@ -1,31 +1,31 b''
1 1 ========
2 2 Tutorial
3 3 ========
4 4
5 5 This section of IPython documentation will walk you through most of the IPython
6 6 functionality. You do not need to have any deep knowledge of Python to read this
7 7 tutorial, though some sections might make slightly more sense if you have already
8 8 done some work in the classic Python REPL.
9 9
10 10 .. note::
11 11
12 12 Some part of this documentation are more than a decade old so might be out
13 13 of date, we welcome any report of inaccuracy, and Pull Requests that make
14 14 that up to date.
15 15
16 16 .. toctree::
17 17 :maxdepth: 2
18 18 :hidden:
19 19
20 20 tutorial
21 21 plotting
22 22 reference
23 23 shell
24 24 tips
25 25 python-ipython-diff
26 26 magics
27 27
28 28 .. seealso::
29 29
30 `A Qt Console for Jupyter <http://jupyter.org/qtconsole/>`__
30 `A Qt Console for Jupyter <https://jupyter.org/qtconsole/>`__
31 31 `The Jupyter Notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`__
@@ -1,101 +1,101 b''
1 1 .. This (-*- rst -*-) format file contains commonly used link targets
2 2 and name substitutions. It may be included in many files,
3 3 therefore it should only contain link targets and name
4 4 substitutions. Try grepping for "^\.\. _" to find plausible
5 5 candidates for this list.
6 6
7 7 NOTE: this file must have an extension *opposite* to that of the main reST
8 8 files in the manuals, so that we can include it with ".. include::"
9 9 directives, but without triggering warnings from Sphinx for not being listed
10 10 in any toctree. Since IPython uses .txt for the main files, this one will
11 11 use .rst.
12 12
13 13 NOTE: reST targets are
14 14 __not_case_sensitive__, so only one target definition is needed for
15 15 ipython, IPython, etc.
16 16
17 17 NOTE: Some of these were taken from the nipy links compendium.
18 18
19 19 .. Main IPython links
20 .. _ipython: http://ipython.org
21 .. _`ipython manual`: http://ipython.org/documentation.html
20 .. _ipython: https://ipython.org
21 .. _`ipython manual`: https://ipython.org/documentation.html
22 22 .. _ipython_github: http://github.com/ipython/ipython/
23 23 .. _ipython_github_repo: http://github.com/ipython/ipython/
24 .. _ipython_downloads: http://ipython.org/download.html
24 .. _ipython_downloads: https://ipython.org/download.html
25 25 .. _ipython_pypi: http://pypi.python.org/pypi/ipython
26 26 .. _nbviewer: http://nbviewer.ipython.org
27 27
28 28 .. _ZeroMQ: http://zeromq.org
29 29
30 30 .. Documentation tools and related links
31 31 .. _graphviz: http://www.graphviz.org
32 32 .. _Sphinx: http://sphinx.pocoo.org
33 33 .. _`Sphinx reST`: http://sphinx.pocoo.org/rest.html
34 34 .. _sampledoc: http://matplotlib.org/sampledoc
35 35 .. _reST: http://docutils.sourceforge.net/rst.html
36 36 .. _docutils: http://docutils.sourceforge.net
37 37 .. _lyx: http://www.lyx.org
38 38 .. _pep8: http://www.python.org/dev/peps/pep-0008
39 39 .. _numpy_coding_guide: https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt
40 40
41 41 .. Licenses
42 42 .. _GPL: http://www.gnu.org/licenses/gpl.html
43 43 .. _BSD: http://www.opensource.org/licenses/bsd-license.php
44 44 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
45 45
46 46 .. Other python projects
47 47 .. _numpy: http://numpy.scipy.org
48 48 .. _scipy: http://www.scipy.org
49 49 .. _scipy_conference: http://conference.scipy.org
50 50 .. _matplotlib: http://matplotlib.org
51 51 .. _pythonxy: https://code.google.com/p/pythonxy/
52 52 .. _ETS: http://code.enthought.com/projects/tool-suite.php
53 53 .. _EPD: http://www.enthought.com/products/epd.php
54 54 .. _python: http://www.python.org
55 55 .. _mayavi: http://code.enthought.com/projects/mayavi
56 56 .. _sympy: http://code.google.com/p/sympy
57 57 .. _sage: http://sagemath.org
58 58 .. _pydy: http://code.google.com/p/pydy
59 59 .. _vpython: http://vpython.org
60 60 .. _cython: http://cython.org
61 61 .. _software carpentry: http://software-carpentry.org
62 62
63 63 .. Not so python scientific computing tools
64 64 .. _matlab: http://www.mathworks.com
65 65 .. _VTK: http://vtk.org
66 66
67 67 .. Other organizations
68 68 .. _enthought: http://www.enthought.com
69 69 .. _kitware: http://www.kitware.com
70 70 .. _netlib: http://netlib.org
71 71
72 72 .. Other tools and projects
73 73 .. _indefero: http://www.indefero.net
74 74 .. _git: http://git-scm.com
75 75 .. _github: http://github.com
76 76 .. _Markdown: http://daringfireball.net/projects/markdown/syntax
77 77
78 78 .. _Running Code in the IPython Notebook: notebook_p1_
79 79 .. _notebook_p1: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%25201%2520-%2520Running%2520Code.ipynb
80 80
81 81 .. _Basic Output: notebook_p2_
82 82 .. _notebook_p2: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%202%20-%20Basic%20Output.ipynb
83 83
84 84 .. _Plotting with Matplotlib: notebook_p3_
85 85 .. _notebook_p3: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%203%20-%20Plotting%20with%20Matplotlib.ipynb
86 86
87 87 .. _Markdown Cells: notebook_p4_
88 88 .. _notebook_p4: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%204%20-%20Markdown%20Cells.ipynb
89 89
90 90 .. _Rich Display System: notebook_p5_
91 91 .. _notebook_p5: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Part%205%20-%20Rich%20Display%20System.ipynb
92 92
93 93 .. _notebook_custom_display: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Custom%20Display%20Logic.ipynb
94 94
95 95 .. _Frontend/Kernel Model: notebook_two_proc_
96 96 .. _notebook_two_proc: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Frontend-Kernel%20Model.ipynb
97 97
98 98 .. _Cell magics: notebook_cell_magics_
99 99 .. _notebook_cell_magics: http://nbviewer.ipython.org/urls/raw.github.com/ipython/ipython/1.x/examples/notebooks/Cell%20Magics.ipynb
100 100
101 101
@@ -1,257 +1,257 b''
1 1 .. _overview:
2 2
3 3 ========
4 4 Overview
5 5 ========
6 6
7 7 One of Python's most useful features is its interactive interpreter.
8 8 It allows for very fast testing of ideas without the overhead of
9 9 creating test files as is typical in most programming languages.
10 10 However, the interpreter supplied with the standard Python distribution
11 11 is somewhat limited for extended interactive use.
12 12
13 13 The goal of IPython is to create a comprehensive environment for
14 14 interactive and exploratory computing. To support this goal, IPython
15 15 has three main components:
16 16
17 17 * An enhanced interactive Python shell.
18 18
19 19 * A decoupled :ref:`two-process communication model <ipythonzmq>`, which
20 20 allows for multiple clients to connect to a computation kernel, most notably
21 21 the web-based notebook provided with `Jupyter <https://jupyter.org>`_.
22 22
23 23 * An architecture for interactive parallel computing now part of the
24 24 `ipyparallel` package.
25 25
26 26 All of IPython is open source (released under the revised BSD license).
27 27
28 28 Enhanced interactive Python shell
29 29 =================================
30 30
31 31 IPython's interactive shell (:command:`ipython`), has the following goals,
32 32 amongst others:
33 33
34 34 1. Provide an interactive shell superior to Python's default. IPython
35 35 has many features for tab-completion, object introspection, system shell
36 36 access, command history retrieval across sessions, and its own special
37 37 command system for adding functionality when working interactively. It
38 38 tries to be a very efficient environment both for Python code development
39 39 and for exploration of problems using Python objects (in situations like
40 40 data analysis).
41 41
42 42 2. Serve as an embeddable, ready to use interpreter for your own
43 43 programs. An interactive IPython shell can be started with a single call
44 44 from inside another program, providing access to the current namespace.
45 45 This can be very useful both for debugging purposes and for situations
46 46 where a blend of batch-processing and interactive exploration are needed.
47 47
48 48 3. Offer a flexible framework which can be used as the base
49 49 environment for working with other systems, with Python as the underlying
50 50 bridge language. Specifically scientific environments like Mathematica,
51 51 IDL and Matlab inspired its design, but similar ideas can be
52 52 useful in many fields.
53 53
54 54 4. Allow interactive testing of threaded graphical toolkits. IPython
55 55 has support for interactive, non-blocking control of GTK, Qt, WX, GLUT, and
56 56 OS X applications via special threading flags. The normal Python
57 57 shell can only do this for Tkinter applications.
58 58
59 59 Main features of the interactive shell
60 60 --------------------------------------
61 61
62 62 * Dynamic object introspection. One can access docstrings, function
63 63 definition prototypes, source code, source files and other details
64 64 of any object accessible to the interpreter with a single
65 65 keystroke (:samp:`?`, and using :samp:`??` provides additional detail).
66 66
67 67 * Searching through modules and namespaces with :samp:`*` wildcards, both
68 68 when using the :samp:`?` system and via the :samp:`%psearch` command.
69 69
70 70 * Completion in the local namespace, by typing :kbd:`TAB` at the prompt.
71 71 This works for keywords, modules, methods, variables and files in the
72 72 current directory. This is supported via the ``prompt_toolkit`` library.
73 73 Custom completers can be implemented easily for different purposes
74 74 (system commands, magic arguments etc.)
75 75
76 76 * Numbered input/output prompts with command history (persistent
77 77 across sessions and tied to each profile), full searching in this
78 78 history and caching of all input and output.
79 79
80 80 * User-extensible 'magic' commands. A set of commands prefixed with
81 81 :samp:`%` or :samp:`%%` is available for controlling IPython itself and provides
82 82 directory control, namespace information and many aliases to
83 83 common system shell commands.
84 84
85 85 * Alias facility for defining your own system aliases.
86 86
87 87 * Complete system shell access. Lines starting with :samp:`!` are passed
88 88 directly to the system shell, and using :samp:`!!` or :samp:`var = !cmd`
89 89 captures shell output into python variables for further use.
90 90
91 91 * The ability to expand python variables when calling the system shell. In a
92 92 shell command, any python variable prefixed with :samp:`$` is expanded. A
93 93 double :samp:`$$` allows passing a literal :samp:`$` to the shell (for access
94 94 to shell and environment variables like :envvar:`PATH`).
95 95
96 96 * Filesystem navigation, via a magic :samp:`%cd` command, along with a
97 97 persistent bookmark system (using :samp:`%bookmark`) for fast access to
98 98 frequently visited directories.
99 99
100 100 * A lightweight persistence framework via the :samp:`%store` command, which
101 101 allows you to save arbitrary Python variables. These get restored
102 102 when you run the :samp:`%store -r` command.
103 103
104 104 * Automatic indentation and highlighting of code as you type (through the
105 105 `prompt_toolkit` library).
106 106
107 107 * Macro system for quickly re-executing multiple lines of previous
108 108 input with a single name via the :samp:`%macro` command. Macros can be
109 109 stored persistently via :samp:`%store` and edited via :samp:`%edit`.
110 110
111 111 * Session logging (you can then later use these logs as code in your
112 112 programs). Logs can optionally timestamp all input, and also store
113 113 session output (marked as comments, so the log remains valid
114 114 Python source code).
115 115
116 116 * Session restoring: logs can be replayed to restore a previous
117 117 session to the state where you left it.
118 118
119 119 * Verbose and colored exception traceback printouts. Easier to parse
120 120 visually, and in verbose mode they produce a lot of useful
121 121 debugging information (basically a terminal version of the cgitb
122 122 module).
123 123
124 124 * Auto-parentheses via the :samp:`%autocall` command: callable objects can be
125 125 executed without parentheses: :samp:`sin 3` is automatically converted to
126 126 :samp:`sin(3)`
127 127
128 128 * Auto-quoting: using :samp:`,`, or :samp:`;` as the first character forces
129 129 auto-quoting of the rest of the line: :samp:`,my_function a b` becomes
130 130 automatically :samp:`my_function("a","b")`, while :samp:`;my_function a b`
131 131 becomes :samp:`my_function("a b")`.
132 132
133 133 * Extensible input syntax. You can define filters that pre-process
134 134 user input to simplify input in special situations. This allows
135 135 for example pasting multi-line code fragments which start with
136 136 :samp:`>>>` or :samp:`...` such as those from other python sessions or the
137 137 standard Python documentation.
138 138
139 139 * Flexible :ref:`configuration system <config_overview>`. It uses a
140 140 configuration file which allows permanent setting of all command-line
141 141 options, module loading, code and file execution. The system allows
142 142 recursive file inclusion, so you can have a base file with defaults and
143 143 layers which load other customizations for particular projects.
144 144
145 145 * Embeddable. You can call IPython as a python shell inside your own
146 146 python programs. This can be used both for debugging code or for
147 147 providing interactive abilities to your programs with knowledge
148 148 about the local namespaces (very useful in debugging and data
149 149 analysis situations).
150 150
151 151 * Easy debugger access. You can set IPython to call up an enhanced version of
152 152 the Python debugger (pdb) every time there is an uncaught exception. This
153 153 drops you inside the code which triggered the exception with all the data
154 154 live and it is possible to navigate the stack to rapidly isolate the source
155 155 of a bug. The :samp:`%run` magic command (with the :samp:`-d` option) can run
156 156 any script under pdb's control, automatically setting initial breakpoints for
157 157 you. This version of pdb has IPython-specific improvements, including
158 158 tab-completion and traceback coloring support. For even easier debugger
159 159 access, try :samp:`%debug` after seeing an exception.
160 160
161 161 * Profiler support. You can run single statements (similar to
162 162 :samp:`profile.run()`) or complete programs under the profiler's control.
163 163 While this is possible with standard cProfile or profile modules,
164 164 IPython wraps this functionality with magic commands (see :samp:`%prun`
165 165 and :samp:`%run -p`) convenient for rapid interactive work.
166 166
167 167 * Simple timing information. You can use the :samp:`%timeit` command to get
168 168 the execution time of a Python statement or expression. This machinery is
169 169 intelligent enough to do more repetitions for commands that finish very
170 170 quickly in order to get a better estimate of their running time.
171 171
172 172 .. sourcecode:: ipython
173 173
174 174 In [1]: %timeit 1+1
175 175 10000000 loops, best of 3: 25.5 ns per loop
176 176
177 177 In [2]: %timeit [math.sin(x) for x in range(5000)]
178 178 1000 loops, best of 3: 719 µs per loop
179 179
180 180 ..
181 181
182 182 To get the timing information for more than one expression, use the
183 183 :samp:`%%timeit` cell magic command.
184 184
185 185
186 186 * Doctest support. The special :samp:`%doctest_mode` command toggles a mode
187 187 to use doctest-compatible prompts, so you can use IPython sessions as
188 188 doctest code. By default, IPython also allows you to paste existing
189 189 doctests, and strips out the leading :samp:`>>>` and :samp:`...` prompts in
190 190 them.
191 191
192 192 .. _ipythonzmq:
193 193
194 194 Decoupled two-process model
195 195 ==============================
196 196
197 197 IPython has abstracted and extended the notion of a traditional
198 198 *Read-Evaluate-Print Loop* (REPL) environment by decoupling the *evaluation*
199 199 into its own process. We call this process a **kernel**: it receives execution
200 200 instructions from clients and communicates the results back to them.
201 201
202 202 This decoupling allows us to have several clients connected to the same
203 203 kernel, and even allows clients and kernels to live on different machines.
204 204 With the exclusion of the traditional single process terminal-based IPython
205 205 (what you start if you run ``ipython`` without any subcommands), all
206 206 other IPython machinery uses this two-process model. Most of this is now part
207 207 of the `Jupyter` project, which includes ``jupyter console``, ``jupyter
208 208 qtconsole``, and ``jupyter notebook``.
209 209
210 210 As an example, this means that when you start ``jupyter qtconsole``, you're
211 211 really starting two processes, a kernel and a Qt-based client can send
212 212 commands to and receive results from that kernel. If there is already a kernel
213 213 running that you want to connect to, you can pass the ``--existing`` flag
214 214 which will skip initiating a new kernel and connect to the most recent kernel,
215 215 instead. To connect to a specific kernel once you have several kernels
216 216 running, use the ``%connect_info`` magic to get the unique connection file,
217 217 which will be something like ``--existing kernel-19732.json`` but with
218 218 different numbers which correspond to the Process ID of the kernel.
219 219
220 220 You can read more about using `jupyter qtconsole
221 <http://jupyter.org/qtconsole/>`_, and
221 <https://jupyter.org/qtconsole/>`_, and
222 222 `jupyter notebook <http://jupyter-notebook.readthedocs.io/en/latest/>`_. There
223 223 is also a :ref:`message spec <messaging>` which documents the protocol for
224 224 communication between kernels
225 225 and clients.
226 226
227 227 .. seealso::
228 228
229 229 `Frontend/Kernel Model`_ example notebook
230 230
231 231
232 232 Interactive parallel computing
233 233 ==============================
234 234
235 235
236 236 This functionality is optional and now part of the `ipyparallel
237 237 <http://ipyparallel.readthedocs.io/>`_ project.
238 238
239 239 Portability and Python requirements
240 240 -----------------------------------
241 241
242 242 Version 7.0+ supports Python 3.4 and higher.
243 243 Versions 6.x support Python 3.3 and higher.
244 244 Versions 2.0 to 5.x work with Python 2.7.x releases and Python 3.3 and higher.
245 245 Version 1.0 additionally worked with Python 2.6 and 3.2.
246 246 Version 0.12 was the first version to fully support Python 3.
247 247
248 248 IPython is known to work on the following operating systems:
249 249
250 250 * Linux
251 251 * Most other Unix-like OSs (AIX, Solaris, BSD, etc.)
252 252 * Mac OS X
253 253 * Windows (CygWin, XP, Vista, etc.)
254 254
255 255 See :ref:`here <install_index>` for instructions on how to install IPython.
256 256
257 257 .. include:: links.txt
@@ -1,1607 +1,1607 b''
1 1 .. _issues_list_200:
2 2
3 3 Issues closed in the 2.x development cycle
4 4 ==========================================
5 5
6 6 Issues closed in 2.4.1
7 7 ----------------------
8 8
9 9 GitHub stats for 2014/11/01 - 2015/01/30
10 10
11 11 .. note::
12 12
13 13 IPython 2.4.0 was released without a few of the backports listed below.
14 14 2.4.1 has the correct patches intended for 2.4.0.
15 15
16 16 These lists are automatically generated, and may be incomplete or contain duplicates.
17 17
18 18 The following 7 authors contributed 35 commits.
19 19
20 20 * Benjamin Ragan-Kelley
21 21 * Carlos Cordoba
22 22 * Damon Allen
23 23 * Jessica B. Hamrick
24 24 * Mateusz Paprocki
25 25 * Peter Würtz
26 26 * Thomas Kluyver
27 27
28 28 We closed 10 issues and merged 6 pull requests;
29 29 this is the full list (generated with the script
30 30 :file:`tools/github_stats.py`):
31 31
32 32 Pull Requests (10):
33 33
34 34 * :ghpull:`7106`: Changed the display order of rich output in the live notebook.
35 35 * :ghpull:`6878`: Update pygments monkeypatch for compatibility with Pygments 2.0
36 36 * :ghpull:`6778`: backport nbformat v4 to 2.x
37 37 * :ghpull:`6761`: object_info_reply field is oname, not name
38 38 * :ghpull:`6653`: Fix IPython.utils.ansispan() to ignore stray [0m
39 39 * :ghpull:`6706`: Correctly display prompt numbers that are ``None``
40 40 * :ghpull:`6634`: don't use contains in SelectWidget item_query
41 41 * :ghpull:`6593`: note how to start the qtconsole
42 42 * :ghpull:`6281`: more minor fixes to release scripts
43 43 * :ghpull:`5458`: Add support for PyQt5.
44 44
45 45 Issues (6):
46 46
47 47 * :ghissue:`7272`: qtconsole problems with pygments
48 48 * :ghissue:`7049`: Cause TypeError: 'NoneType' object is not callable in qtconsole
49 49 * :ghissue:`6877`: Qt console doesn't work with pygments 2.0rc1
50 50 * :ghissue:`6689`: Problem with string containing two or more question marks
51 51 * :ghissue:`6702`: Cell numbering after ``ClearOutput`` preprocessor
52 52 * :ghissue:`6633`: selectwidget doesn't display 1 as a selection choice when passed in as a member of values list
53 53
54 54
55 55 Issues closed in 2.3.1
56 56 ----------------------
57 57
58 58 Just one bugfix: fixed bad CRCRLF line-endings in notebooks on Windows
59 59
60 60 Pull Requests (1):
61 61
62 62 * :ghpull:`6911`: don't use text mode in mkstemp
63 63
64 64 Issues (1):
65 65
66 66 * :ghissue:`6599`: Notebook.ipynb CR+LF turned into CR+CR+LF
67 67
68 68
69 69 Issues closed in 2.3.0
70 70 ----------------------
71 71
72 72 GitHub stats for 2014/08/06 - 2014/10/01
73 73
74 74 These lists are automatically generated, and may be incomplete or contain duplicates.
75 75
76 76 The following 6 authors contributed 31 commits.
77 77
78 78 * Benjamin Ragan-Kelley
79 79 * David Hirschfeld
80 80 * Eric Firing
81 81 * Jessica B. Hamrick
82 82 * Matthias Bussonnier
83 83 * Thomas Kluyver
84 84
85 85 We closed 16 issues and merged 9 pull requests;
86 86 this is the full list (generated with the script
87 87 :file:`tools/github_stats.py`):
88 88
89 89 Pull Requests (16):
90 90
91 91 * :ghpull:`6587`: support ``%matplotlib qt5`` and ``%matplotlib nbagg``
92 92 * :ghpull:`6583`: Windows symlink test fixes
93 93 * :ghpull:`6585`: fixes :ghissue:`6473`
94 94 * :ghpull:`6581`: Properly mock winreg functions for test
95 95 * :ghpull:`6556`: Use some more informative asserts in inprocess kernel tests
96 96 * :ghpull:`6514`: Fix for copying metadata flags
97 97 * :ghpull:`6453`: Copy file metadata in atomic save
98 98 * :ghpull:`6480`: only compare host:port in Websocket.check_origin
99 99 * :ghpull:`6483`: Trim anchor link in heading cells, fixes :ghissue:`6324`
100 100 * :ghpull:`6410`: Fix relative import in appnope
101 101 * :ghpull:`6395`: update mathjax CDN url in nbconvert template
102 102 * :ghpull:`6269`: Implement atomic save
103 103 * :ghpull:`6374`: Rename ``abort_queues`` --> ``_abort_queues``
104 104 * :ghpull:`6321`: Use appnope in qt and wx gui support from the terminal; closes :ghissue:`6189`
105 105 * :ghpull:`6318`: use write_error instead of get_error_html
106 106 * :ghpull:`6303`: Fix error message when failing to load a notebook
107 107
108 108 Issues (9):
109 109
110 110 * :ghissue:`6057`: ``%matplotlib`` + qt5
111 111 * :ghissue:`6518`: Test failure in atomic save on Windows
112 112 * :ghissue:`6473`: Switching between "Raw Cell Format" and "Edit Metadata" does not work
113 113 * :ghissue:`6405`: Creating a notebook should respect directory permissions; saving should respect prior permissions
114 114 * :ghissue:`6324`: Anchors in Heading don't work.
115 115 * :ghissue:`6409`: No module named '_dummy'
116 116 * :ghissue:`6392`: Mathjax library link broken
117 117 * :ghissue:`6329`: IPython Notebook Server URL now requires "tree" at the end of the URL? (version 2.2)
118 118 * :ghissue:`6189`: ipython console freezes for increasing no of seconds in %pylab mode
119 119
120 120 Issues closed in 2.2.0
121 121 ----------------------
122 122
123 123 GitHub stats for 2014/05/21 - 2014/08/06 (tag: rel-2.1.0)
124 124
125 125 These lists are automatically generated, and may be incomplete or contain duplicates.
126 126
127 127 The following 13 authors contributed 36 commits.
128 128
129 129 * Adam Hodgen
130 130 * Benjamin Ragan-Kelley
131 131 * Björn Grüning
132 132 * Dara Adib
133 133 * Eric Galloway
134 134 * Jonathan Frederic
135 135 * Kyle Kelley
136 136 * Matthias Bussonnier
137 137 * Paul Ivanov
138 138 * Shayne Hodge
139 139 * Steven Anton
140 140 * Thomas Kluyver
141 141 * Zahari
142 142
143 143 We closed 23 issues and merged 11 pull requests;
144 144 this is the full list (generated with the script
145 145 :file:`tools/github_stats.py`):
146 146
147 147 Pull Requests (23):
148 148
149 149 * :ghpull:`6279`: minor updates to release scripts
150 150 * :ghpull:`6273`: Upgrade default mathjax version.
151 151 * :ghpull:`6249`: always use HTTPS getting mathjax from CDN
152 152 * :ghpull:`6114`: update hmac signature comparison
153 153 * :ghpull:`6195`: Close handle on new temporary files before returning filename
154 154 * :ghpull:`6143`: pin tornado to < 4 on travis js tests
155 155 * :ghpull:`6134`: remove rackcdn https workaround for mathjax cdn
156 156 * :ghpull:`6120`: Only allow iframe embedding on same origin.
157 157 * :ghpull:`6117`: Remove / from route of TreeRedirectHandler.
158 158 * :ghpull:`6105`: only set allow_origin_pat if defined
159 159 * :ghpull:`6102`: Add newline if missing to end of script magic cell
160 160 * :ghpull:`6077`: allow unicode keys in dicts in json_clean
161 161 * :ghpull:`6061`: make CORS configurable
162 162 * :ghpull:`6081`: don’t modify dict keys while iterating through them
163 163 * :ghpull:`5803`: unify visual line handling
164 164 * :ghpull:`6005`: Changed right arrow key movement function to mirror left arrow key
165 165 * :ghpull:`6029`: add pickleutil.PICKLE_PROTOCOL
166 166 * :ghpull:`6003`: Set kernel_id before checking websocket
167 167 * :ghpull:`5994`: Fix ssh tunnel for Python3
168 168 * :ghpull:`5973`: Do not create checkpoint_dir relative to current dir
169 169 * :ghpull:`5933`: fix qt_loader import hook signature
170 170 * :ghpull:`5944`: Markdown rendering bug fix.
171 171 * :ghpull:`5917`: use shutil.move instead of os.rename
172 172
173 173 Issues (11):
174 174
175 175 * :ghissue:`6246`: Include MathJax by default or access the CDN over a secure connection
176 176 * :ghissue:`5525`: Websocket origin check fails when used with Apache WS proxy
177 177 * :ghissue:`5901`: 2 test failures in Python 3.4 in parallel group
178 178 * :ghissue:`5926`: QT console: text selection cannot be made from left to right with keyboard
179 179 * :ghissue:`5998`: use_dill does not work in Python 3.4
180 180 * :ghissue:`5964`: Traceback on Qt console exit
181 181 * :ghissue:`5787`: Error in Notebook-Generated latex (nbconvert)
182 182 * :ghissue:`5950`: qtconsole truncates help
183 183 * :ghissue:`5943`: 2.x: notebook fails to load when using HTML comments
184 184 * :ghissue:`5932`: Qt ImportDenier Does Not Adhere to PEP302
185 185 * :ghissue:`5898`: OSError when moving configuration file
186 186
187 187 Issues closed in 2.1.0
188 188 ----------------------
189 189
190 190 GitHub stats for 2014/04/02 - 2014/05/21 (since 2.0.0)
191 191
192 192 These lists are automatically generated, and may be incomplete or contain duplicates.
193 193
194 194 The following 35 authors contributed 145 commits.
195 195
196 196 * Adrian Price-Whelan
197 197 * Aron Ahmadia
198 198 * Benjamin Ragan-Kelley
199 199 * Benjamin Schultz
200 200 * Björn Linse
201 201 * Blake Griffith
202 202 * chebee7i
203 203 * Damián Avila
204 204 * Dav Clark
205 205 * dexterdev
206 206 * Erik Tollerud
207 207 * Grzegorz Rożniecki
208 208 * Jakob Gager
209 209 * jdavidheiser
210 210 * Jessica B. Hamrick
211 211 * Jim Garrison
212 212 * Jonathan Frederic
213 213 * Matthias Bussonnier
214 214 * Maximilian Albert
215 215 * Mohan Raj Rajamanickam
216 216 * ncornette
217 217 * Nikolay Koldunov
218 218 * Nile Geisinger
219 219 * Pankaj Pandey
220 220 * Paul Ivanov
221 221 * Pierre Haessig
222 222 * Raffaele De Feo
223 223 * Renaud Richardet
224 224 * Spencer Nelson
225 225 * Steve Chan
226 226 * sunny
227 227 * Susan Tan
228 228 * Thomas Kluyver
229 229 * Yaroslav Halchenko
230 230 * zah
231 231
232 232 We closed a total of 129 issues, 92 pull requests and 37 regular issues;
233 233 this is the full list (generated with the script
234 234 :file:`tools/github_stats.py --milestone 2.1`):
235 235
236 236 Pull Requests (92):
237 237
238 238 * :ghpull:`5871`: specify encoding in msgpack.unpackb
239 239 * :ghpull:`5869`: Catch more errors from clipboard access on Windows
240 240 * :ghpull:`5866`: Make test robust against differences in line endings
241 241 * :ghpull:`5605`: Two cell toolbar fixes.
242 242 * :ghpull:`5843`: remove Firefox-specific CSS workaround
243 243 * :ghpull:`5845`: Pass Windows interrupt event to kernels as an environment variable
244 244 * :ghpull:`5835`: fix typo in v2 convert
245 245 * :ghpull:`5841`: Fix writing history with output to a file in Python 2
246 246 * :ghpull:`5842`: fix typo in nbconvert help
247 247 * :ghpull:`5846`: Fix typos in Cython example
248 248 * :ghpull:`5839`: Close graphics dev in finally clause
249 249 * :ghpull:`5837`: pass on install docs
250 250 * :ghpull:`5832`: Fixed example to work with python3
251 251 * :ghpull:`5826`: allow notebook tour instantiation to fail
252 252 * :ghpull:`5560`: Minor expansion of Cython example
253 253 * :ghpull:`5818`: interpret any exception in getcallargs as not callable
254 254 * :ghpull:`5816`: Add output to IPython directive when in verbatim mode.
255 255 * :ghpull:`5822`: Don't overwrite widget description in interact
256 256 * :ghpull:`5782`: Silence exception thrown by completer when dir() does not return a list
257 257 * :ghpull:`5807`: Drop log level to info for Qt console shutdown
258 258 * :ghpull:`5814`: Remove -i options from mv, rm and cp aliases
259 259 * :ghpull:`5812`: Fix application name when printing subcommand help.
260 260 * :ghpull:`5804`: remove an inappropriate ``!``
261 261 * :ghpull:`5805`: fix engine startup files
262 262 * :ghpull:`5806`: Don't auto-move .config/ipython if symbolic link
263 263 * :ghpull:`5716`: Add booktabs package to latex base.tplx
264 264 * :ghpull:`5669`: allows threadsafe sys.stdout.flush from background threads
265 265 * :ghpull:`5668`: allow async output on the most recent request
266 266 * :ghpull:`5768`: fix cursor keys in long lines wrapped in markdown
267 267 * :ghpull:`5788`: run cells with ``silent=True`` in ``%run nb.ipynb``
268 268 * :ghpull:`5715`: log all failed ajax API requests
269 269 * :ghpull:`5769`: Don't urlescape the text that goes into a title tag
270 270 * :ghpull:`5762`: Fix check for pickling closures
271 271 * :ghpull:`5766`: View.map with empty sequence should return empty list
272 272 * :ghpull:`5758`: Applied bug fix: using fc and ec did not properly set the figure canvas ...
273 273 * :ghpull:`5754`: Format command name into subcommand_description at run time, not import
274 274 * :ghpull:`5744`: Describe using PyPI/pip to distribute & install extensions
275 275 * :ghpull:`5712`: monkeypatch inspect.findsource only when we use it
276 276 * :ghpull:`5708`: create checkpoints dir in notebook subdirectories
277 277 * :ghpull:`5714`: log error message when API requests fail
278 278 * :ghpull:`5732`: Quick typo fix in nbformat/convert.py
279 279 * :ghpull:`5713`: Fix a NameError in IPython.parallel
280 280 * :ghpull:`5704`: Update nbconvertapp.py
281 281 * :ghpull:`5534`: cleanup some ``pre`` css inheritance
282 282 * :ghpull:`5699`: don't use common names in require decorators
283 283 * :ghpull:`5692`: Update notebook.rst fixing broken reference to notebook examples readme
284 284 * :ghpull:`5693`: Update parallel_intro.rst to fix a broken link to examples
285 285 * :ghpull:`5486`: disambiguate to location when no IPs can be determined
286 286 * :ghpull:`5574`: Remove the outdated keyboard shortcuts from notebook docs
287 287 * :ghpull:`5568`: Use ``__qualname__`` in pretty reprs for Python 3
288 288 * :ghpull:`5678`: Fix copy & paste error in docstring of ImageWidget class
289 289 * :ghpull:`5677`: Fix %bookmark -l for Python 3
290 290 * :ghpull:`5670`: nbconvert: Fix CWD imports
291 291 * :ghpull:`5647`: Mention git hooks in install documentation
292 292 * :ghpull:`5671`: Fix blank slides issue in Reveal slideshow pdf export
293 293 * :ghpull:`5657`: use 'localhost' as default for the notebook server
294 294 * :ghpull:`5584`: more semantic icons
295 295 * :ghpull:`5594`: update components with marked-0.3.2
296 296 * :ghpull:`5500`: check for Python 3.2
297 297 * :ghpull:`5582`: reset readline after running PYTHONSTARTUP
298 298 * :ghpull:`5630`: Fixed Issue :ghissue:`4012` Added Help menubar link to Github markdown doc
299 299 * :ghpull:`5613`: Fixing bug :ghissue:`5607`
300 300 * :ghpull:`5633`: Provide more help if lessc is not found.
301 301 * :ghpull:`5620`: fixed a typo in IPython.core.formatters
302 302 * :ghpull:`5619`: Fix typo in storemagic module docstring
303 303 * :ghpull:`5592`: add missing ``browser`` to notebook_aliases list
304 304 * :ghpull:`5506`: Fix ipconfig regex pattern
305 305 * :ghpull:`5581`: Fix rmagic for cells ending in comment.
306 306 * :ghpull:`5576`: only process cr if it's found
307 307 * :ghpull:`5478`: Add git-hooks install script. Update README.md
308 308 * :ghpull:`5546`: do not shutdown notebook if 'n' is part of answer
309 309 * :ghpull:`5527`: Don't remove upload items from nav tree unless explicitly requested.
310 310 * :ghpull:`5501`: remove inappropriate wheel tag override
311 311 * :ghpull:`5548`: FileNotebookManager: Use shutil.move() instead of os.rename()
312 312 * :ghpull:`5524`: never use ``for (var i in array)``
313 313 * :ghpull:`5459`: Fix interact animation page jump FF
314 314 * :ghpull:`5559`: Minor typo fix in "Cython Magics.ipynb"
315 315 * :ghpull:`5507`: Fix typo in interactive widgets examples index notebook
316 316 * :ghpull:`5554`: Make HasTraits pickleable
317 317 * :ghpull:`5535`: fix n^2 performance issue in coalesce_streams preprocessor
318 318 * :ghpull:`5522`: fix iteration over Client
319 319 * :ghpull:`5488`: Added missing require and jquery from cdn.
320 320 * :ghpull:`5516`: ENH: list generated config files in generated, and rm them upon clean
321 321 * :ghpull:`5493`: made a minor fix to one of the widget examples
322 322 * :ghpull:`5512`: Update tooltips to refer to shift-tab
323 323 * :ghpull:`5505`: Make backport_pr work on Python 3
324 324 * :ghpull:`5503`: check explicitly for 'dev' before adding the note to docs
325 325 * :ghpull:`5498`: use milestones to indicate backport
326 326 * :ghpull:`5492`: Polish whatsnew docs
327 327 * :ghpull:`5495`: Fix various broken things in docs
328 328 * :ghpull:`5496`: Exclude whatsnew/pr directory from docs builds
329 329 * :ghpull:`5489`: Fix required Python versions
330 330
331 331 Issues (37):
332 332
333 333 * :ghissue:`5364`: Horizontal scrollbar hides cell's last line on Firefox
334 334 * :ghissue:`5192`: horisontal scrollbar overlaps output or touches next cell
335 335 * :ghissue:`5840`: Third-party Windows kernels don't get interrupt signal
336 336 * :ghissue:`2412`: print history to file using qtconsole and notebook
337 337 * :ghissue:`5703`: Notebook doesn't render with "ask me every time" cookie setting in Firefox
338 338 * :ghissue:`5817`: calling mock object in IPython 2.0.0 under Python 3.4.0 raises AttributeError
339 339 * :ghissue:`5499`: Error running widgets nbconvert example
340 340 * :ghissue:`5654`: Broken links from ipython documentation
341 341 * :ghissue:`5019`: print in QT event callback doesn't show up in ipython notebook.
342 342 * :ghissue:`5800`: Only last In prompt number set ?
343 343 * :ghissue:`5801`: startup_command specified in ipengine_config.py is not executed
344 344 * :ghissue:`5690`: ipython 2.0.0 and pandoc 1.12.2.1 problem
345 345 * :ghissue:`5408`: Add checking/flushing of background output from kernel in mainloop
346 346 * :ghissue:`5407`: clearing message handlers on status=idle loses async output
347 347 * :ghissue:`5467`: Incorrect behavior of up/down keyboard arrows in code cells on wrapped lines
348 348 * :ghissue:`3085`: nicer notebook error message when lacking permissions
349 349 * :ghissue:`5765`: map_sync over empty list raises IndexError
350 350 * :ghissue:`5553`: Notebook matplotlib inline backend: can't set figure facecolor
351 351 * :ghissue:`5710`: inspect.findsource monkeypatch raises wrong exception for C extensions
352 352 * :ghissue:`5706`: Multi-Directory notebooks overwrite each other's checkpoints
353 353 * :ghissue:`5698`: can't require a function named ``f``
354 354 * :ghissue:`5569`: Keyboard shortcuts in documentation are out of date
355 355 * :ghissue:`5566`: Function name printing should use ``__qualname__`` instead of ``__name__`` (Python 3)
356 356 * :ghissue:`5676`: "bookmark -l" not working in ipython 2.0
357 357 * :ghissue:`5555`: Differentiate more clearly between Notebooks and Folders in new UI
358 358 * :ghissue:`5590`: Marked double escape
359 359 * :ghissue:`5514`: import tab-complete fail with ipython 2.0 shell
360 360 * :ghissue:`4012`: Notebook: link to markdown formatting reference
361 361 * :ghissue:`5611`: Typo in 'storemagic' documentation
362 362 * :ghissue:`5589`: Kernel start fails when using --browser argument
363 363 * :ghissue:`5491`: Bug in Windows ipconfig ip address regular expression
364 364 * :ghissue:`5579`: rmagic extension throws 'Error while parsing the string.' when last line is comment
365 365 * :ghissue:`5518`: Ipython2 will not open ipynb in example directory
366 366 * :ghissue:`5561`: New widget documentation has missing notebook link
367 367 * :ghissue:`5128`: Page jumping when output from widget interaction replaced
368 368 * :ghissue:`5519`: IPython.parallel.Client behavior as iterator
369 369 * :ghissue:`5510`: Tab-completion for function argument list
370 370
371 371
372 372 Issues closed in 2.0.0
373 373 ----------------------
374 374
375 375
376 376 GitHub stats for 2013/08/09 - 2014/04/01 (since 1.0.0)
377 377
378 378 These lists are automatically generated, and may be incomplete or contain duplicates.
379 379
380 380 The following 94 authors contributed 3949 commits.
381 381
382 382 * Aaron Meurer
383 383 * Abhinav Upadhyay
384 384 * Adam Riggall
385 385 * Alex Rudy
386 386 * Andrew Mark
387 387 * Angus Griffith
388 388 * Antony Lee
389 389 * Aron Ahmadia
390 390 * Arun Persaud
391 391 * Benjamin Ragan-Kelley
392 392 * Bing Xia
393 393 * Blake Griffith
394 394 * Bouke van der Bijl
395 395 * Bradley M. Froehle
396 396 * Brian E. Granger
397 397 * Carlos Cordoba
398 398 * chapmanb
399 399 * chebee7i
400 400 * Christoph Gohlke
401 401 * Christophe Pradal
402 402 * Cyrille Rossant
403 403 * Damián Avila
404 404 * Daniel B. Vasquez
405 405 * Dav Clark
406 406 * David Hirschfeld
407 407 * David P. Sanders
408 408 * David Wyde
409 409 * David Österberg
410 410 * Doug Blank
411 411 * Dražen Lučanin
412 412 * epifanio
413 413 * Fernando Perez
414 414 * Gabriel Becker
415 415 * Geert Barentsen
416 416 * Hans Meine
417 417 * Ingolf Becker
418 418 * Jake Vanderplas
419 419 * Jakob Gager
420 420 * James Porter
421 421 * Jason Grout
422 422 * Jeffrey Tratner
423 423 * Jonah Graham
424 424 * Jonathan Frederic
425 425 * Joris Van den Bossche
426 426 * Juergen Hasch
427 427 * Julian Taylor
428 428 * Katie Silverio
429 429 * Kevin Burke
430 430 * Kieran O'Mahony
431 431 * Konrad Hinsen
432 432 * Kyle Kelley
433 433 * Lawrence Fu
434 434 * Marc Molla
435 435 * Martín Gaitán
436 436 * Matt Henderson
437 437 * Matthew Brett
438 438 * Matthias Bussonnier
439 439 * Michael Droettboom
440 440 * Mike McKerns
441 441 * Nathan Goldbaum
442 442 * Pablo de Oliveira
443 443 * Pankaj Pandey
444 444 * Pascal Schetelat
445 445 * Paul Ivanov
446 446 * Paul Moore
447 447 * Pere Vilas
448 448 * Peter Davis
449 449 * Philippe Mallet-Ladeira
450 450 * Preston Holmes
451 451 * Puneeth Chaganti
452 452 * Richard Everson
453 453 * Roberto Bonvallet
454 454 * Samuel Ainsworth
455 455 * Sean Vig
456 456 * Shashi Gowda
457 457 * Skipper Seabold
458 458 * Stephan Rave
459 459 * Steve Fox
460 460 * Steven Silvester
461 461 * stonebig
462 462 * Susan Tan
463 463 * Sylvain Corlay
464 464 * Takeshi Kanmae
465 465 * Ted Drain
466 466 * Thomas A Caswell
467 467 * Thomas Kluyver
468 468 * Théophile Studer
469 469 * Volker Braun
470 470 * Wieland Hoffmann
471 471 * Yaroslav Halchenko
472 472 * Yoval P.
473 473 * Yung Siang Liau
474 474 * Zachary Sailer
475 475 * zah
476 476
477 477
478 478 We closed a total of 1121 issues, 687 pull requests and 434 regular issues;
479 479 this is the full list (generated with the script
480 480 :file:`tools/github_stats.py`):
481 481
482 482 Pull Requests (687):
483 483
484 484 * :ghpull:`5487`: remove weird unicode space in the new copyright header
485 485 * :ghpull:`5476`: For 2.0: Fix links in Notebook Help Menu
486 486 * :ghpull:`5337`: Examples reorganization
487 487 * :ghpull:`5436`: CodeMirror shortcuts in QuickHelp
488 488 * :ghpull:`5444`: Fix numeric verification for Int and Float text widgets.
489 489 * :ghpull:`5449`: Stretch keyboard shortcut dialog
490 490 * :ghpull:`5473`: Minor corrections of git-hooks setup instructions
491 491 * :ghpull:`5471`: Add coding magic comment to nbconvert Python template
492 492 * :ghpull:`5452`: print_figure returns unicode for svg
493 493 * :ghpull:`5450`: proposal: remove codename
494 494 * :ghpull:`5462`: DOC : fixed minor error in using topological sort
495 495 * :ghpull:`5463`: make spin_thread tests more forgiving of slow VMs
496 496 * :ghpull:`5464`: Fix starting notebook server with file/directory at command line.
497 497 * :ghpull:`5453`: remove gitwash
498 498 * :ghpull:`5454`: Improve history API docs
499 499 * :ghpull:`5431`: update github_stats and gh_api for 2.0
500 500 * :ghpull:`5290`: Add dual mode JS tests
501 501 * :ghpull:`5451`: check that a handler is actually registered in ShortcutManager.handles
502 502 * :ghpull:`5447`: Add %%python2 cell magic
503 503 * :ghpull:`5439`: Point to the stable SymPy docs, not the dev docs
504 504 * :ghpull:`5437`: Install jquery-ui images
505 505 * :ghpull:`5434`: fix check for empty cells in rst template
506 506 * :ghpull:`5432`: update links in notebook help menu
507 507 * :ghpull:`5435`: Update whatsnew (notebook tour)
508 508 * :ghpull:`5433`: Document extraction of octave and R magics
509 509 * :ghpull:`5428`: Update COPYING.txt
510 510 * :ghpull:`5426`: Separate get_session_info between HistoryAccessor and HistoryManager
511 511 * :ghpull:`5419`: move prompts from margin to main column on small screens
512 512 * :ghpull:`5430`: Make sure `element` is correct in the context of displayed JS
513 513 * :ghpull:`5396`: prevent saving of partially loaded notebooks
514 514 * :ghpull:`5429`: Fix tooltip pager feature
515 515 * :ghpull:`5330`: Updates to shell reference doc
516 516 * :ghpull:`5404`: Fix broken accordion widget
517 517 * :ghpull:`5339`: Don't use fork to start the notebook in js tests
518 518 * :ghpull:`5320`: Fix for Tooltip & completer click focus bug.
519 519 * :ghpull:`5421`: Move configuration of Python test controllers into setup()
520 520 * :ghpull:`5418`: fix typo in ssh launcher send_file
521 521 * :ghpull:`5403`: remove alt-- shortcut
522 522 * :ghpull:`5389`: better log message in deprecated files/ redirect
523 523 * :ghpull:`5333`: Fix filenbmanager.list_dirs fails for Windows user profile directory
524 524 * :ghpull:`5390`: finish PR #5333
525 525 * :ghpull:`5326`: Some gardening on iptest result reporting
526 526 * :ghpull:`5375`: remove unnecessary onload hack from mathjax macro
527 527 * :ghpull:`5368`: Flexbox classes specificity fixes
528 528 * :ghpull:`5331`: fix raw_input CSS
529 529 * :ghpull:`5395`: urlencode images for rst files
530 530 * :ghpull:`5049`: update quickhelp on adding and removing shortcuts
531 531 * :ghpull:`5391`: Fix Gecko (Netscape) keyboard handling
532 532 * :ghpull:`5387`: Respect '\r' characters in nbconvert.
533 533 * :ghpull:`5399`: Revert PR #5388
534 534 * :ghpull:`5388`: Suppress output even when a comment follows ;. Fixes #4525.
535 535 * :ghpull:`5394`: nbconvert doc update
536 536 * :ghpull:`5359`: do not install less sources
537 537 * :ghpull:`5346`: give hint on where to find custom.js
538 538 * :ghpull:`5357`: catch exception in copystat
539 539 * :ghpull:`5380`: Remove DefineShortVerb... line from latex base template
540 540 * :ghpull:`5376`: elide long containers in pretty
541 541 * :ghpull:`5310`: remove raw cell placeholder on focus, closes #5238
542 542 * :ghpull:`5332`: semantic names for indicator icons
543 543 * :ghpull:`5386`: Fix import of socketserver on Python 3
544 544 * :ghpull:`5360`: remove some redundant font-family: monospace
545 545 * :ghpull:`5379`: don't instantiate Application just for default logger
546 546 * :ghpull:`5372`: Don't autoclose strings
547 547 * :ghpull:`5296`: unify keyboard shortcut and codemirror interaction
548 548 * :ghpull:`5349`: Make Hub.registration_timeout configurable
549 549 * :ghpull:`5340`: install bootstrap-tour css
550 550 * :ghpull:`5335`: Update docstring for deepreload module
551 551 * :ghpull:`5321`: Improve assignment regex to match more tuple unpacking syntax
552 552 * :ghpull:`5325`: add NotebookNotary to NotebookApp's class list
553 553 * :ghpull:`5313`: avoid loading preprocessors twice
554 554 * :ghpull:`5308`: fix HTML capitalization in Highlight2HTML
555 555 * :ghpull:`5295`: OutputArea.append_type functions are not prototype methods
556 556 * :ghpull:`5318`: Fix local import of select_figure_formats
557 557 * :ghpull:`5300`: Fix NameError: name '_rl' is not defined
558 558 * :ghpull:`5292`: focus next cell on shift+enter
559 559 * :ghpull:`5291`: debug occasional error in test_queue_status
560 560 * :ghpull:`5289`: Finishing up #5274 (widget paths fixes)
561 561 * :ghpull:`5232`: Make nbconvert html full output like notebook's html.
562 562 * :ghpull:`5288`: Correct initial state of kernel status indicator
563 563 * :ghpull:`5253`: display any output from this session in terminal console
564 564 * :ghpull:`4802`: Tour of the notebook UI (was UI elements inline with highlighting)
565 565 * :ghpull:`5285`: Update signature presentation in pinfo classes
566 566 * :ghpull:`5268`: Refactoring Notebook.command_mode
567 567 * :ghpull:`5226`: Don't run PYTHONSTARTUP file if a file or code is passed
568 568 * :ghpull:`5283`: Remove Widget.closed attribute
569 569 * :ghpull:`5279`: nbconvert: Make sure node is atleast version 0.9.12
570 570 * :ghpull:`5281`: fix a typo introduced by a rebased PR
571 571 * :ghpull:`5280`: append Firefox overflow-x fix
572 572 * :ghpull:`5277`: check that PIL can save JPEG to BytesIO
573 573 * :ghpull:`5044`: Store timestamps for modules to autoreload
574 574 * :ghpull:`5278`: Update whatsnew doc from pr files
575 575 * :ghpull:`5276`: Fix kernel restart in case connection file is deleted.
576 576 * :ghpull:`5272`: allow highlighting language to be set from notebook metadata
577 577 * :ghpull:`5158`: log refusal to serve hidden directories
578 578 * :ghpull:`5188`: New events system
579 579 * :ghpull:`5265`: Missing class def for TimeoutError
580 580 * :ghpull:`5267`: normalize unicode in notebook API tests
581 581 * :ghpull:`5076`: Refactor keyboard handling
582 582 * :ghpull:`5241`: Add some tests for utils
583 583 * :ghpull:`5261`: Don't allow edit mode up arrow to continue past index == 0
584 584 * :ghpull:`5223`: use on-load event to trigger resizable images
585 585 * :ghpull:`5252`: make one strptime call at import of jsonutil
586 586 * :ghpull:`5153`: Dashboard sorting
587 587 * :ghpull:`5169`: Allow custom header
588 588 * :ghpull:`5242`: clear _reply_content cache before using it
589 589 * :ghpull:`5194`: require latex titles to be ascii
590 590 * :ghpull:`5244`: try to avoid EADDRINUSE errors on travis
591 591 * :ghpull:`5245`: support extracted output in HTML template
592 592 * :ghpull:`5209`: make input_area css generic to cells
593 593 * :ghpull:`5246`: less %pylab, more cowbell!
594 594 * :ghpull:`4895`: Improvements to %run completions
595 595 * :ghpull:`5243`: Add Javscript to base display priority list.
596 596 * :ghpull:`5175`: Audit .html() calls take #2
597 597 * :ghpull:`5146`: Dual mode bug fixes.
598 598 * :ghpull:`5207`: Children fire event
599 599 * :ghpull:`5215`: Dashboard "Running" Tab
600 600 * :ghpull:`5240`: Remove unused IPython.nbconvert.utils.console module
601 601 * :ghpull:`5239`: Fix exclusion of tests directories from coverage reports
602 602 * :ghpull:`5203`: capture some logging/warning output in some tests
603 603 * :ghpull:`5216`: fixup positional arg handling in notebook app
604 604 * :ghpull:`5229`: get _ipython_display_ method safely
605 605 * :ghpull:`5234`: DOC : modified docs is HasTraits.traits and HasTraits.class_traits
606 606 * :ghpull:`5221`: Change widget children List to Tuple.
607 607 * :ghpull:`5231`: don't forget base_url when updating address bar in rename
608 608 * :ghpull:`5173`: Moved widget files into static/widgets/*
609 609 * :ghpull:`5222`: Unset PYTHONWARNINGS envvar before running subprocess tests.
610 610 * :ghpull:`5172`: Prevent page breaks when printing notebooks via print-view.
611 611 * :ghpull:`4985`: Add automatic Closebrackets function to Codemirror.
612 612 * :ghpull:`5220`: Make traitlets notify check more robust against classes redefining equality and bool
613 613 * :ghpull:`5197`: If there is an error comparing traitlet values when setting a trait, default to go ahead and notify of the new value.
614 614 * :ghpull:`5210`: fix pyreadline import in rlineimpl
615 615 * :ghpull:`5212`: Wrap nbconvert Markdown/Heading cells in live divs
616 616 * :ghpull:`5200`: Allow to pass option to jinja env
617 617 * :ghpull:`5202`: handle nodejs executable on debian
618 618 * :ghpull:`5112`: band-aid for completion
619 619 * :ghpull:`5187`: handle missing output metadata in nbconvert
620 620 * :ghpull:`5181`: use gnureadline on OS X
621 621 * :ghpull:`5136`: set default value from signature defaults in interact
622 622 * :ghpull:`5132`: remove application/pdf->pdf transform in javascript
623 623 * :ghpull:`5116`: reorganize who knows what about paths
624 624 * :ghpull:`5165`: Don't introspect __call__ for simple callables
625 625 * :ghpull:`5170`: Added msg_throttle sync=True widget traitlet
626 626 * :ghpull:`5191`: Translate markdown link to rst
627 627 * :ghpull:`5037`: FF Fix: alignment and scale of text widget
628 628 * :ghpull:`5179`: remove websocket url
629 629 * :ghpull:`5110`: add InlineBackend.print_figure_kwargs
630 630 * :ghpull:`5147`: Some template URL changes
631 631 * :ghpull:`5100`: remove base_kernel_url
632 632 * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory.
633 633 * :ghpull:`5166`: remove mktemp usage
634 634 * :ghpull:`5133`: don't use combine option on ucs package
635 635 * :ghpull:`5089`: Remove legacy azure nbmanager
636 636 * :ghpull:`5159`: remove append_json reference
637 637 * :ghpull:`5095`: handle image size metadata in nbconvert html
638 638 * :ghpull:`5156`: fix IPython typo, closes #5155
639 639 * :ghpull:`5150`: fix a link that was broken
640 640 * :ghpull:`5114`: use non-breaking space for button with no description
641 641 * :ghpull:`4778`: add APIs for installing notebook extensions
642 642 * :ghpull:`5125`: Fix the display of functions with keyword-only arguments on Python 3.
643 643 * :ghpull:`5097`: minor notebook logging changes
644 644 * :ghpull:`5047`: only validate package_data when it might be used
645 645 * :ghpull:`5121`: fix remove event in KeyboardManager.register_events
646 646 * :ghpull:`5119`: Removed 'list' view from Variable Inspector example
647 647 * :ghpull:`4925`: Notebook manager api fixes
648 648 * :ghpull:`4996`: require print_method to be a bound method
649 649 * :ghpull:`5108`: require specifying the version for gh-pages
650 650 * :ghpull:`5111`: Minor typo in docstring of IPython.parallel DirectView
651 651 * :ghpull:`5098`: mostly debugging changes for IPython.parallel
652 652 * :ghpull:`5087`: trust cells with no output
653 653 * :ghpull:`5059`: Fix incorrect `Patch` logic in widget code
654 654 * :ghpull:`5075`: More flexible box model fixes
655 655 * :ghpull:`5091`: Provide logging messages in ipcluster log when engine or controllers fail to start
656 656 * :ghpull:`5090`: Print a warning when iptest is run from the IPython source directory
657 657 * :ghpull:`5077`: flush replies when entering an eventloop
658 658 * :ghpull:`5055`: Minimal changes to import IPython from IronPython
659 659 * :ghpull:`5078`: Updating JS tests README.md
660 660 * :ghpull:`5083`: don't create js test directories unless they are being used
661 661 * :ghpull:`5062`: adjust some events in nb_roundtrip
662 662 * :ghpull:`5043`: various unicode / url fixes
663 663 * :ghpull:`5066`: remove (almost) all mentions of pylab from our examples
664 664 * :ghpull:`4977`: ensure scp destination directories exist (with mkdir -p)
665 665 * :ghpull:`5053`: Move&rename JS tests
666 666 * :ghpull:`5067`: show traceback in widget handlers
667 667 * :ghpull:`4920`: Adding PDFFormatter and kernel side handling of PDF display data
668 668 * :ghpull:`5048`: Add edit/command mode indicator
669 669 * :ghpull:`5061`: make execute button in menu bar match shift-enter
670 670 * :ghpull:`5052`: Add q to toggle the pager.
671 671 * :ghpull:`5070`: fix flex: auto
672 672 * :ghpull:`5065`: Add example of using annotations in interact
673 673 * :ghpull:`5063`: another pass on Interact example notebooks
674 674 * :ghpull:`5051`: FF Fix: code cell missing hscroll (2)
675 675 * :ghpull:`4960`: Interact/Interactive for widget
676 676 * :ghpull:`5045`: Clear timeout in multi-press keyboard shortcuts.
677 677 * :ghpull:`5060`: Change 'bind' to 'link'
678 678 * :ghpull:`5039`: Expose kernel_info method on inprocess kernel client
679 679 * :ghpull:`5058`: Fix iopubwatcher.py example script.
680 680 * :ghpull:`5035`: FF Fix: code cell missing hscroll
681 681 * :ghpull:`5040`: Polishing some docs
682 682 * :ghpull:`5001`: Add directory navigation to dashboard
683 683 * :ghpull:`5042`: Remove duplicated Channel ABC classes.
684 684 * :ghpull:`5036`: FF Fix: ext link icon same line as link text in help menu
685 685 * :ghpull:`4975`: setup.py changes for 2.0
686 686 * :ghpull:`4774`: emit event on appended element on dom
687 687 * :ghpull:`5023`: Widgets- add ability to pack and unpack arrays on JS side.
688 688 * :ghpull:`5003`: Fix pretty reprs of super() objects
689 689 * :ghpull:`4974`: make paste focus the pasted cell
690 690 * :ghpull:`5012`: Make `SelectionWidget.values` a dict
691 691 * :ghpull:`5018`: Prevent 'iptest IPython' from trying to run.
692 692 * :ghpull:`5025`: citation2latex filter (using HTMLParser)
693 693 * :ghpull:`5027`: pin lessc to 1.4
694 694 * :ghpull:`4952`: Widget test inconsistencies
695 695 * :ghpull:`5014`: Fix command mode & popup view bug
696 696 * :ghpull:`4842`: more subtle kernel indicator
697 697 * :ghpull:`5017`: Add notebook examples link to help menu.
698 698 * :ghpull:`5015`: don't write cell.trusted to disk
699 699 * :ghpull:`5007`: Update whatsnew doc from PR files
700 700 * :ghpull:`5010`: Fixes for widget alignment in FF
701 701 * :ghpull:`4901`: Add a convenience class to sync traitlet attributes
702 702 * :ghpull:`5008`: updated explanation of 'pyin' messages
703 703 * :ghpull:`5004`: Fix widget vslider spacing
704 704 * :ghpull:`4933`: Small Widget inconsistency fixes
705 705 * :ghpull:`4979`: add versioning notes to small message spec changes
706 706 * :ghpull:`4893`: add font-awesome 3.2.1
707 707 * :ghpull:`4982`: Live readout for slider widgets
708 708 * :ghpull:`4813`: make help menu a template
709 709 * :ghpull:`4939`: Embed qtconsole docs (continued)
710 710 * :ghpull:`4964`: remove shift-= merge keyboard shortcut
711 711 * :ghpull:`4504`: Allow input transformers to raise SyntaxError
712 712 * :ghpull:`4929`: Fixing various modal/focus related bugs
713 713 * :ghpull:`4971`: Fixing issues with js tests
714 714 * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
715 715 * :ghpull:`4937`: pickle arrays with dtype=object
716 716 * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir`
717 717 * :ghpull:`4954`: generate unicode filename
718 718 * :ghpull:`4845`: Add Origin Checking.
719 719 * :ghpull:`4916`: Fine tuning the behavior of the modal UI
720 720 * :ghpull:`4966`: Ignore sys.argv for NotebookNotary in tests
721 721 * :ghpull:`4967`: Fix typo in warning about web socket being closed
722 722 * :ghpull:`4965`: Remove mention of iplogger from setup.py
723 723 * :ghpull:`4962`: Fixed typos in quick-help text
724 724 * :ghpull:`4953`: add utils.wait_for_idle in js tests
725 725 * :ghpull:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress
726 726 * :ghpull:`4662`: Menu cleanup
727 727 * :ghpull:`4824`: sign notebooks
728 728 * :ghpull:`4943`: Docs shotgun 4
729 729 * :ghpull:`4848`: avoid import of nearby temporary with %edit
730 730 * :ghpull:`4950`: Two fixes for file upload related bugs
731 731 * :ghpull:`4927`: there shouldn't be a 'files/' prefix in FileLink[s]
732 732 * :ghpull:`4928`: use importlib.machinery when available
733 733 * :ghpull:`4949`: Remove the docscrape modules, which are part of numpydoc
734 734 * :ghpull:`4849`: Various unicode fixes (mostly on Windows)
735 735 * :ghpull:`4932`: always point py3compat.input to builtin_mod.input
736 736 * :ghpull:`4807`: Correct handling of ansi colour codes when nbconverting to latex
737 737 * :ghpull:`4922`: Python nbconvert output shouldn't have output
738 738 * :ghpull:`4912`: Skip some Windows io failures
739 739 * :ghpull:`4919`: flush output before showing tracebacks
740 740 * :ghpull:`4915`: ZMQCompleter inherits from IPCompleter
741 741 * :ghpull:`4890`: better cleanup channel FDs
742 742 * :ghpull:`4880`: set profile name from profile_dir
743 743 * :ghpull:`4853`: fix setting image height/width from metadata
744 744 * :ghpull:`4786`: Reduce spacing of heading cells
745 745 * :ghpull:`4680`: Minimal pandoc version warning
746 746 * :ghpull:`4908`: detect builtin docstrings in oinspect
747 747 * :ghpull:`4911`: Don't use `python -m package` on Windows Python 2
748 748 * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed
749 749 * :ghpull:`4374`: IPEP 23: Backbone.js Widgets
750 750 * :ghpull:`4903`: use https for all embeds
751 751 * :ghpull:`4894`: Shortcut changes
752 752 * :ghpull:`4897`: More detailed documentation about kernel_cmd
753 753 * :ghpull:`4891`: Squash a few Sphinx warnings from nbconvert.utils.lexers docstrings
754 754 * :ghpull:`4679`: JPG compression for inline pylab
755 755 * :ghpull:`4708`: Fix indent and center
756 756 * :ghpull:`4789`: fix IPython.embed
757 757 * :ghpull:`4655`: prefer marked to pandoc for markdown2html
758 758 * :ghpull:`4876`: don't show tooltip if object is not found
759 759 * :ghpull:`4873`: use 'combine' option to ucs package
760 760 * :ghpull:`4732`: Accents in notebook names and in command-line (nbconvert)
761 761 * :ghpull:`4867`: Update URL for Lawrence Hall of Science webcam image
762 762 * :ghpull:`4868`: Static path fixes
763 763 * :ghpull:`4858`: fix tb_offset when running a file
764 764 * :ghpull:`4826`: some $.html( -> $.text(
765 765 * :ghpull:`4847`: add js kernel_info request
766 766 * :ghpull:`4832`: allow NotImplementedError in formatters
767 767 * :ghpull:`4803`: BUG: fix cython magic support in ipython_directive
768 768 * :ghpull:`4865`: `build` listed twice in .gitignore. Removing one.
769 769 * :ghpull:`4851`: fix tooltip token regex for single-character names
770 770 * :ghpull:`4846`: Remove some leftover traces of irunner
771 771 * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster
772 772 * :ghpull:`4844`: adjustments to notebook app logging
773 773 * :ghpull:`4840`: Error in Session.send_raw()
774 774 * :ghpull:`4819`: update CodeMirror to 3.21
775 775 * :ghpull:`4823`: Minor fixes for typos/inconsistencies in parallel docs
776 776 * :ghpull:`4811`: document code mirror tab and shift-tab
777 777 * :ghpull:`4795`: merge reveal templates
778 778 * :ghpull:`4796`: update components
779 779 * :ghpull:`4806`: Correct order of packages for unicode in nbconvert to LaTeX
780 780 * :ghpull:`4800`: Qt frontend: Handle 'aborted' prompt replies.
781 781 * :ghpull:`4794`: Compatibility fix for Python3 (Issue #4783 )
782 782 * :ghpull:`4799`: minor js test fix
783 783 * :ghpull:`4788`: warn when notebook is started in pylab mode
784 784 * :ghpull:`4772`: Notebook server info files
785 785 * :ghpull:`4797`: be conservative about kernel_info implementation
786 786 * :ghpull:`4787`: non-python kernels run python code with qtconsole
787 787 * :ghpull:`4565`: various display type validations
788 788 * :ghpull:`4703`: Math macro in jinja templates.
789 789 * :ghpull:`4781`: Fix "Source" text for the "Other Syntax" section of the "Typesetting Math" notebook
790 790 * :ghpull:`4776`: Manually document py3compat module.
791 791 * :ghpull:`4533`: propagate display metadata to all mimetypes
792 792 * :ghpull:`4785`: Replacing a for-in loop by an index loop on an array
793 793 * :ghpull:`4780`: Updating CSS for UI example.
794 794 * :ghpull:`3605`: Modal UI
795 795 * :ghpull:`4758`: Python 3.4 fixes
796 796 * :ghpull:`4735`: add some HTML error pages
797 797 * :ghpull:`4775`: Update whatsnew doc from PR files
798 798 * :ghpull:`4760`: Make examples and docs more Python 3 aware
799 799 * :ghpull:`4773`: Don't wait forever for notebook server to launch/die for tests
800 800 * :ghpull:`4768`: Qt console: Fix _prompt_pos accounting on timer flush output.
801 801 * :ghpull:`4727`: Remove Nbconvert template loading magic
802 802 * :ghpull:`4763`: Set numpydoc options to produce fewer Sphinx warnings.
803 803 * :ghpull:`4770`: always define aliases, even if empty
804 804 * :ghpull:`4766`: add `python -m` entry points for everything
805 805 * :ghpull:`4767`: remove manpages for irunner, iplogger
806 806 * :ghpull:`4751`: Added --post-serve explanation into the nbconvert docs.
807 807 * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name
808 808 * :ghpull:`4625`: Deprecate %profile magic
809 809 * :ghpull:`4745`: warn on failed formatter calls
810 810 * :ghpull:`4746`: remove redundant cls alias on Windows
811 811 * :ghpull:`4749`: Fix bug in determination of public ips.
812 812 * :ghpull:`4715`: restore use of tornado static_url in templates
813 813 * :ghpull:`4748`: fix race condition in profiledir creation.
814 814 * :ghpull:`4720`: never use ssh multiplexer in tunnels
815 815 * :ghpull:`4658`: Bug fix for #4643: Regex object needs to be reset between calls in toolt...
816 816 * :ghpull:`4561`: Add Formatter.pop(type)
817 817 * :ghpull:`4712`: Docs shotgun 3
818 818 * :ghpull:`4713`: Fix saving kernel history in Python 2
819 819 * :ghpull:`4744`: don't use lazily-evaluated rc.ids in wait_for_idle
820 820 * :ghpull:`4740`: %env can't set variables
821 821 * :ghpull:`4737`: check every link when detecting virutalenv
822 822 * :ghpull:`4738`: don't inject help into user_ns
823 823 * :ghpull:`4739`: skip html nbconvert tests when their dependencies are missing
824 824 * :ghpull:`4730`: Fix stripping continuation prompts when copying from Qt console
825 825 * :ghpull:`4725`: Doc fixes
826 826 * :ghpull:`4656`: Nbconvert HTTP service
827 827 * :ghpull:`4710`: make @interactive decorator friendlier with dill
828 828 * :ghpull:`4722`: allow purging local results as long as they are not outstanding
829 829 * :ghpull:`4549`: Updated IPython console lexers.
830 830 * :ghpull:`4570`: Update IPython directive
831 831 * :ghpull:`4719`: Fix comment typo in prefilter.py
832 832 * :ghpull:`4575`: make sure to encode URL components for API requests
833 833 * :ghpull:`4718`: Fixed typo in displaypub
834 834 * :ghpull:`4716`: Remove input_prefilter hook
835 835 * :ghpull:`4691`: survive failure to bind to localhost in zmq.iostream
836 836 * :ghpull:`4696`: don't do anything if add_anchor fails
837 837 * :ghpull:`4711`: some typos in the docs
838 838 * :ghpull:`4700`: use if main block in entry points
839 839 * :ghpull:`4692`: setup.py symlink improvements
840 840 * :ghpull:`4265`: JSON configuration file
841 841 * :ghpull:`4505`: Nbconvert latex markdown images2
842 842 * :ghpull:`4608`: transparent background match ... all colors
843 843 * :ghpull:`4678`: allow ipython console to handle text/plain display
844 844 * :ghpull:`4706`: remove irunner, iplogger
845 845 * :ghpull:`4701`: Delete an old dictionary available for selecting the aligment of text.
846 846 * :ghpull:`4702`: Making reveal font-size a relative unit.
847 847 * :ghpull:`4649`: added a quiet option to %cpaste to suppress output
848 848 * :ghpull:`4690`: Option to spew subprocess streams during tests
849 849 * :ghpull:`4688`: Fixed various typos in docstrings.
850 850 * :ghpull:`4645`: CasperJs utility functions.
851 851 * :ghpull:`4670`: Stop bundling the numpydoc Sphinx extension
852 852 * :ghpull:`4675`: common IPython prefix for ModIndex
853 853 * :ghpull:`4672`: Remove unused 'attic' module
854 854 * :ghpull:`4671`: Fix docstrings in utils.text
855 855 * :ghpull:`4669`: add missing help strings to HistoryManager configurables
856 856 * :ghpull:`4668`: Make non-ASCII docstring unicode
857 857 * :ghpull:`4650`: added a note about sharing of nbconvert tempates
858 858 * :ghpull:`4646`: Fixing various output related things:
859 859 * :ghpull:`4665`: check for libedit in readline on OS X
860 860 * :ghpull:`4606`: Make running PYTHONSTARTUP optional
861 861 * :ghpull:`4654`: Fixing left padding of text cells to match that of code cells.
862 862 * :ghpull:`4306`: add raw_mimetype metadata to raw cells
863 863 * :ghpull:`4576`: Tighten up the vertical spacing on cells and make the padding of cells more consistent
864 864 * :ghpull:`4353`: Don't reset the readline completer after each prompt
865 865 * :ghpull:`4567`: Adding prompt area to non-CodeCells to indent content.
866 866 * :ghpull:`4446`: Use SVG plots in OctaveMagic by default due to lack of Ghostscript on Windows Octave
867 867 * :ghpull:`4613`: remove configurable.created
868 868 * :ghpull:`4631`: Use argument lists for command help tests
869 869 * :ghpull:`4633`: Modifies test_get_long_path_name_winr32() to allow for long path names in temp dir
870 870 * :ghpull:`4642`: Allow docs to build without PyQt installed.
871 871 * :ghpull:`4641`: Don't check for wx in the test suite.
872 872 * :ghpull:`4622`: make QtConsole Lexer configurable
873 873 * :ghpull:`4594`: Fixed #2923 Move Save Away from Cut in toolbar
874 874 * :ghpull:`4593`: don't interfere with set_next_input contents in qtconsole
875 875 * :ghpull:`4640`: Support matplotlib's Gtk3 backend in --pylab mode
876 876 * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working
877 877 * :ghpull:`4637`: Fixed typo in links.txt.
878 878 * :ghpull:`4634`: Fix nbrun in notebooks with non-code cells.
879 879 * :ghpull:`4632`: Restore the ability to run tests from a function.
880 880 * :ghpull:`4624`: Fix crash when $EDITOR is non-ASCII
881 881 * :ghpull:`4453`: Play nice with App Nap
882 882 * :ghpull:`4541`: relax ipconfig matching on Windows
883 883 * :ghpull:`4552`: add pickleutil.use_dill
884 884 * :ghpull:`4590`: Font awesome for IPython slides
885 885 * :ghpull:`4589`: Inherit the width of pre code inside the input code cells.
886 886 * :ghpull:`4588`: Update reveal.js CDN to 2.5.0.
887 887 * :ghpull:`4569`: store cell toolbar preset in notebook metadata
888 888 * :ghpull:`4609`: Fix bytes regex for Python 3.
889 889 * :ghpull:`4581`: Writing unicode to stdout
890 890 * :ghpull:`4591`: Documenting codemirror shorcuts.
891 891 * :ghpull:`4607`: Tutorial doc should link to user config intro
892 892 * :ghpull:`4601`: test that rename fails with 409 if it would clobber
893 893 * :ghpull:`4599`: re-cast int/float subclasses to int/float in json_clean
894 894 * :ghpull:`4542`: new `ipython history clear` subcommand
895 895 * :ghpull:`4568`: don't use lazily-evaluated rc.ids in wait_for_idle
896 896 * :ghpull:`4572`: DOC: %profile docstring should reference %prun
897 897 * :ghpull:`4571`: no longer need 3 suffix on travis, tox
898 898 * :ghpull:`4566`: Fixing cell_type in CodeCell constructor.
899 899 * :ghpull:`4563`: Specify encoding for reading notebook file.
900 900 * :ghpull:`4452`: support notebooks in %run
901 901 * :ghpull:`4546`: fix warning condition on notebook startup
902 902 * :ghpull:`4540`: Apidocs3
903 903 * :ghpull:`4553`: Fix Python 3 handling of urllib
904 904 * :ghpull:`4543`: make hiding of initial namespace optional
905 905 * :ghpull:`4517`: send shutdown_request on exit of `ipython console`
906 906 * :ghpull:`4528`: improvements to bash completion
907 907 * :ghpull:`4532`: Hide dynamically defined metaclass base from Sphinx.
908 908 * :ghpull:`4515`: Spring Cleaning, and Load speedup
909 909 * :ghpull:`4529`: note routing identities needed for input requests
910 910 * :ghpull:`4514`: allow restart in `%run -d`
911 911 * :ghpull:`4527`: add redirect for 1.0-style 'files/' prefix links
912 912 * :ghpull:`4526`: Allow unicode arguments to passwd_check on Python 2
913 913 * :ghpull:`4403`: Global highlight language selection.
914 914 * :ghpull:`4250`: outputarea.js: Wrap inline SVGs inside an iframe
915 915 * :ghpull:`4521`: Read wav files in binary mode
916 916 * :ghpull:`4444`: Css cleaning
917 917 * :ghpull:`4523`: Use username and password for MongoDB on ShiningPanda
918 918 * :ghpull:`4510`: Update whatsnew from PR files
919 919 * :ghpull:`4441`: add `setup.py jsversion`
920 920 * :ghpull:`4518`: Fix for race condition in url file decoding.
921 921 * :ghpull:`4497`: don't automatically unpack datetime objects in the message spec
922 922 * :ghpull:`4506`: wait for empty queues as well as load-balanced tasks
923 923 * :ghpull:`4492`: Configuration docs refresh
924 924 * :ghpull:`4508`: Fix some uses of map() in Qt console completion code.
925 925 * :ghpull:`4498`: Daemon StreamCapturer
926 926 * :ghpull:`4499`: Skip clipboard test on unix systems if headless.
927 927 * :ghpull:`4460`: Better clipboard handling, esp. with pywin32
928 928 * :ghpull:`4496`: Pass nbformat object to write call to save .py script
929 929 * :ghpull:`4466`: various pandoc latex fixes
930 930 * :ghpull:`4473`: Setup for Python 2/3
931 931 * :ghpull:`4459`: protect against broken repr in lib.pretty
932 932 * :ghpull:`4457`: Use ~/.ipython as default config directory
933 933 * :ghpull:`4489`: check realpath of env in init_virtualenv
934 934 * :ghpull:`4490`: fix possible race condition in test_await_data
935 935 * :ghpull:`4476`: Fix: Remove space added by display(JavaScript) on page reload
936 936 * :ghpull:`4398`: [Notebook] Deactivate tooltip on tab by default.
937 937 * :ghpull:`4480`: Docs shotgun 2
938 938 * :ghpull:`4488`: fix typo in message spec doc
939 939 * :ghpull:`4479`: yet another JS race condition fix
940 940 * :ghpull:`4477`: Allow incremental builds of the html_noapi docs target
941 941 * :ghpull:`4470`: Various Config object cleanups
942 942 * :ghpull:`4410`: make close-and-halt work on new tabs in Chrome
943 943 * :ghpull:`4469`: Python 3 & getcwdu
944 944 * :ghpull:`4451`: fix: allow JS test to run after shutdown test
945 945 * :ghpull:`4456`: Simplify StreamCapturer for subprocess testing
946 946 * :ghpull:`4464`: Correct description for Bytes traitlet type
947 947 * :ghpull:`4465`: Clean up MANIFEST.in
948 948 * :ghpull:`4461`: Correct TypeError message in svg2pdf
949 949 * :ghpull:`4458`: use signalstatus if exit status is undefined
950 950 * :ghpull:`4438`: Single codebase Python 3 support (again)
951 951 * :ghpull:`4198`: Version conversion, support for X to Y even if Y < X (nbformat)
952 952 * :ghpull:`4415`: More tooltips in the Notebook menu
953 953 * :ghpull:`4450`: remove monkey patch for older versions of tornado
954 954 * :ghpull:`4423`: Fix progress bar and scrolling bug.
955 955 * :ghpull:`4435`: raise 404 on not found static file
956 956 * :ghpull:`4442`: fix and add shim for change introduce by #4195
957 957 * :ghpull:`4436`: allow `require("nbextensions/extname")` to load from IPYTHONDIR/nbextensions
958 958 * :ghpull:`4437`: don't compute etags in static file handlers
959 959 * :ghpull:`4427`: notebooks should always have one checkpoint
960 960 * :ghpull:`4425`: fix js pythonisme
961 961 * :ghpull:`4195`: IPEP 21: widget messages
962 962 * :ghpull:`4434`: Fix broken link for Dive Into Python.
963 963 * :ghpull:`4428`: bump minimum tornado version to 3.1.0
964 964 * :ghpull:`4302`: Add an Audio display class
965 965 * :ghpull:`4285`: Notebook javascript test suite using CasperJS
966 966 * :ghpull:`4420`: Allow checking for backports via milestone
967 967 * :ghpull:`4426`: set kernel cwd to notebook's directory
968 968 * :ghpull:`4389`: By default, Magics inherit from Configurable
969 969 * :ghpull:`4393`: Capture output from subprocs during test, and display on failure
970 970 * :ghpull:`4419`: define InlineBackend configurable in its own file
971 971 * :ghpull:`4303`: Multidirectory support for the Notebook
972 972 * :ghpull:`4371`: Restored ipython profile locate dir and fixed typo. (Fixes #3708).
973 973 * :ghpull:`4414`: Specify unicode type properly in rmagic
974 974 * :ghpull:`4413`: don't instantiate IPython shell as class attr
975 975 * :ghpull:`4400`: Remove 5s wait on inactivity on GUI inputhook loops
976 976 * :ghpull:`4412`: Fix traitlet _notify_trait by-ref issue
977 977 * :ghpull:`4378`: split adds new cell above, rather than below
978 978 * :ghpull:`4405`: Bring display of builtin types and functions in line with Py 2
979 979 * :ghpull:`4367`: clean up of documentation files
980 980 * :ghpull:`4401`: Provide a name of the HistorySavingThread
981 981 * :ghpull:`4384`: fix menubar height measurement
982 982 * :ghpull:`4377`: fix tooltip cancel
983 983 * :ghpull:`4293`: Factorise code in tooltip for julia monkeypatching
984 984 * :ghpull:`4292`: improve js-completer logic.
985 985 * :ghpull:`4363`: set_next_input: keep only last input when repeatedly called in a single cell
986 986 * :ghpull:`4382`: Use safe_hasattr in dir2
987 987 * :ghpull:`4379`: fix (CTRL-M -) shortcut for splitting cell in FF
988 988 * :ghpull:`4380`: Test and fixes for localinterfaces
989 989 * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError
990 990 * :ghpull:`4342`: Return value directly from the try block and avoid a variable
991 991 * :ghpull:`4154`: Center LaTeX and figures in markdown
992 992 * :ghpull:`4311`: %load -s to load specific functions or classes
993 993 * :ghpull:`4350`: WinHPC launcher fixes
994 994 * :ghpull:`4345`: Make irunner compatible with upcoming pexpect 3.0 interface
995 995 * :ghpull:`4276`: Support container methods in config
996 996 * :ghpull:`4359`: test_pylabtools also needs to modify matplotlib.rcParamsOrig
997 997 * :ghpull:`4355`: remove hardcoded box-orient
998 998 * :ghpull:`4333`: Add Edit Notebook Metadata to Edit menu
999 999 * :ghpull:`4349`: Script to update What's New file
1000 1000 * :ghpull:`4348`: Call PDF viewer after latex compiling (nbconvert)
1001 1001 * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt
1002 1002 * :ghpull:`4304`: use netifaces for faster IPython.utils.localinterfaces
1003 1003 * :ghpull:`4305`: Add even more ways to populate localinterfaces
1004 1004 * :ghpull:`4313`: remove strip_math_space
1005 1005 * :ghpull:`4325`: Some changes to improve readability.
1006 1006 * :ghpull:`4281`: Adjust tab completion widget if too close to bottom of page.
1007 1007 * :ghpull:`4347`: Remove pycolor script
1008 1008 * :ghpull:`4322`: Scroll to the top after change of slides in the IPython slides
1009 1009 * :ghpull:`4289`: Fix scrolling output (not working post clear_output changes)
1010 1010 * :ghpull:`4343`: Make parameters for kernel start method more general
1011 1011 * :ghpull:`4237`: Keywords should shadow magic functions
1012 1012 * :ghpull:`4338`: adjust default value of level in sync_imports
1013 1013 * :ghpull:`4328`: Remove unused loop variable.
1014 1014 * :ghpull:`4340`: fix mathjax download url to new GitHub format
1015 1015 * :ghpull:`4336`: use simple replacement rather than string formatting in format_kernel_cmd
1016 1016 * :ghpull:`4264`: catch unicode error listing profiles
1017 1017 * :ghpull:`4314`: catch EACCES when binding notebook app
1018 1018 * :ghpull:`4324`: Remove commented addthis toolbar
1019 1019 * :ghpull:`4327`: Use the with statement to open a file.
1020 1020 * :ghpull:`4318`: fix initial sys.path
1021 1021 * :ghpull:`4315`: Explicitly state what version of Pandoc is supported in docs/install
1022 1022 * :ghpull:`4316`: underscore missing on notebook_p4
1023 1023 * :ghpull:`4295`: Implement boundary option for load magic (#1093)
1024 1024 * :ghpull:`4300`: traits defauts are strings not object
1025 1025 * :ghpull:`4297`: Remove an unreachable return statement.
1026 1026 * :ghpull:`4260`: Use subprocess for system_raw
1027 1027 * :ghpull:`4277`: add nbextensions
1028 1028 * :ghpull:`4294`: don't require tornado 3 in `--post serve`
1029 1029 * :ghpull:`4270`: adjust Scheduler timeout logic
1030 1030 * :ghpull:`4278`: add `-a` to easy_install command in libedit warning
1031 1031 * :ghpull:`4282`: Enable automatic line breaks in MathJax.
1032 1032 * :ghpull:`4279`: Fixing line-height of list items in tree view.
1033 1033 * :ghpull:`4253`: fixes #4039.
1034 1034 * :ghpull:`4131`: Add module's name argument in %%cython magic
1035 1035 * :ghpull:`4269`: Add mathletters option and longtable package to latex_base.tplx
1036 1036 * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline.
1037 1037 * :ghpull:`4271`: Hopefully fix ordering of output on ShiningPanda
1038 1038 * :ghpull:`4239`: more informative error message for bad serialization
1039 1039 * :ghpull:`4263`: Fix excludes for IPython.testing
1040 1040 * :ghpull:`4112`: nbconvert: Latex template refactor
1041 1041 * :ghpull:`4261`: Fixing a formatting error in the custom display example notebook.
1042 1042 * :ghpull:`4259`: Fix Windows test exclusions
1043 1043 * :ghpull:`4229`: Clear_output: Animation & widget related changes.
1044 1044 * :ghpull:`4151`: Refactor alias machinery
1045 1045 * :ghpull:`4153`: make timeit return an object that contains values
1046 1046 * :ghpull:`4258`: to-backport label is now 1.2
1047 1047 * :ghpull:`4242`: Allow passing extra arguments to iptest through for nose
1048 1048 * :ghpull:`4257`: fix unicode argv parsing
1049 1049 * :ghpull:`4166`: avoid executing code in utils.localinterfaces at import time
1050 1050 * :ghpull:`4214`: engine ID metadata should be unicode, not bytes
1051 1051 * :ghpull:`4232`: no highlight if no language specified
1052 1052 * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified
1053 1053 * :ghpull:`4207`: add `setup.py css` command
1054 1054 * :ghpull:`4224`: clear previous callbacks on execute
1055 1055 * :ghpull:`4180`: Iptest refactoring
1056 1056 * :ghpull:`4105`: JS output area misaligned
1057 1057 * :ghpull:`4220`: Various improvements to docs formatting
1058 1058 * :ghpull:`4187`: Select adequate highlighter for cell magic languages
1059 1059 * :ghpull:`4228`: update -dev docs to reflect latest stable version
1060 1060 * :ghpull:`4219`: Drop bundled argparse
1061 1061 * :ghpull:`3851`: Adds an explicit newline for pretty-printing.
1062 1062 * :ghpull:`3622`: Drop fakemodule
1063 1063 * :ghpull:`4080`: change default behavior of database task storage
1064 1064 * :ghpull:`4197`: enable cython highlight in notebook
1065 1065 * :ghpull:`4225`: Updated docstring for core.display.Image
1066 1066 * :ghpull:`4175`: nbconvert: Jinjaless exporter base
1067 1067 * :ghpull:`4208`: Added a lightweight "htmlcore" Makefile entry
1068 1068 * :ghpull:`4209`: Magic doc fixes
1069 1069 * :ghpull:`4217`: avoid importing numpy at the module level
1070 1070 * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3
1071 1071 * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on
1072 1072 * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix
1073 1073 * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess
1074 1074 * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel
1075 1075 * :ghpull:`4201`: HeadingCells cannot be split or merged
1076 1076 * :ghpull:`4048`: finish up speaker-notes PR
1077 1077 * :ghpull:`4079`: trigger `Kernel.status_started` after websockets open
1078 1078 * :ghpull:`4186`: moved DummyMod to proper namespace to enable dill pickling
1079 1079 * :ghpull:`4190`: update version-check message in setup.py and IPython.__init__
1080 1080 * :ghpull:`4188`: Allow user_ns trait to be None
1081 1081 * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS)
1082 1082 * :ghpull:`4174`: various issues in markdown and rst templates
1083 1083 * :ghpull:`4178`: add missing data_javascript
1084 1084 * :ghpull:`4168`: Py3 failing tests
1085 1085 * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers
1086 1086 * :ghpull:`4043`: don't 'restore_bytes' in from_JSON
1087 1087 * :ghpull:`4149`: reuse more kernels in kernel tests
1088 1088 * :ghpull:`4163`: Fix for incorrect default encoding on Windows.
1089 1089 * :ghpull:`4136`: catch javascript errors in any output
1090 1090 * :ghpull:`4171`: add nbconvert config file when creating profiles
1091 1091 * :ghpull:`4172`: add ability to check what PRs should be backported in backport_pr
1092 1092 * :ghpull:`4167`: --fast flag for test suite!
1093 1093 * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all
1094 1094 * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
1095 1095 * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS
1096 1096 * :ghpull:`4165`: Remove use of parametric tests
1097 1097 * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping
1098 1098 * :ghpull:`4083`: Implement a better check for hidden values for %who etc.
1099 1099 * :ghpull:`4147`: Reference notebook examples, fixes #4146.
1100 1100 * :ghpull:`4065`: do not include specific css in embedable one
1101 1101 * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x
1102 1102 * :ghpull:`4074`: close Client sockets if connection fails
1103 1103 * :ghpull:`4064`: Store default codemirror mode in only 1 place
1104 1104 * :ghpull:`4104`: Add way to install MathJax to a particular profile
1105 1105 * :ghpull:`4161`: Select name when renaming a notebook
1106 1106 * :ghpull:`4160`: Add quotes around ".[notebook]" in readme
1107 1107 * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string
1108 1108 * :ghpull:`4090`: Add LaTeX citation handling to nbconvert
1109 1109 * :ghpull:`4143`: update example custom.js
1110 1110 * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc
1111 1111 * :ghpull:`4126`: update tox.ini
1112 1112 * :ghpull:`4141`: add files with a separate `add` call in backport_pr
1113 1113 * :ghpull:`4137`: Restore autorestore option for storemagic
1114 1114 * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel
1115 1115 * :ghpull:`4120`: support `input` in Python 2 kernels
1116 1116 * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior
1117 1117 * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first
1118 1118 * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat.
1119 1119 * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel
1120 1120 * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue.
1121 1121 * :ghpull:`4070`: New changes should go into pr/ folder
1122 1122 * :ghpull:`4054`: use unicode for HTML export
1123 1123 * :ghpull:`4106`: fix a couple of default block values
1124 1124 * :ghpull:`4107`: update parallel magic tests with capture_output API
1125 1125 * :ghpull:`4102`: Fix clashes between debugger tests and coverage.py
1126 1126 * :ghpull:`4115`: Update docs on declaring a magic function
1127 1127 * :ghpull:`4101`: restore accidentally removed EngineError
1128 1128 * :ghpull:`4096`: minor docs changes
1129 1129 * :ghpull:`4094`: Update target branch before backporting PR
1130 1130 * :ghpull:`4069`: Drop monkeypatch for pre-1.0 nose
1131 1131 * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line
1132 1132 * :ghpull:`4091`: Make Qt console banner configurable
1133 1133 * :ghpull:`4086`: fix missing errno import
1134 1134 * :ghpull:`4084`: Use msvcrt.getwch() for Windows pager.
1135 1135 * :ghpull:`4073`: rename ``post_processors`` submodule to ``postprocessors``
1136 1136 * :ghpull:`4075`: Update supported Python versions in tools/test_pr
1137 1137 * :ghpull:`4068`: minor bug fix, define 'cell' in dialog.js.
1138 1138 * :ghpull:`4044`: rename call methods to transform and postprocess
1139 1139 * :ghpull:`3744`: capture rich output as well as stdout/err in capture_output
1140 1140 * :ghpull:`3969`: "use strict" in most (if not all) our javascript
1141 1141 * :ghpull:`4030`: exclude `.git` in MANIFEST.in
1142 1142 * :ghpull:`4047`: Use istype() when checking if canned object is a dict
1143 1143 * :ghpull:`4031`: don't close_fds on Windows
1144 1144 * :ghpull:`4029`: bson.Binary moved
1145 1145 * :ghpull:`3883`: skip test on unix when x11 not available
1146 1146 * :ghpull:`3863`: Added working speaker notes for slides.
1147 1147 * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path
1148 1148 * :ghpull:`4002`: Drop Python 2.6 and 3.2
1149 1149 * :ghpull:`4026`: small doc fix in nbconvert
1150 1150 * :ghpull:`4016`: Fix IPython.start_* functions
1151 1151 * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays
1152 1152 * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs
1153 1153 * :ghpull:`4018`: Fix warning when running IPython.kernel tests
1154 1154 * :ghpull:`4017`: Add REPL-like printing of final/return value to %%R cell magic
1155 1155 * :ghpull:`4019`: Test skipping without unicode paths
1156 1156 * :ghpull:`4008`: Transform code before %prun/%%prun runs
1157 1157 * :ghpull:`4014`: Fix typo in ipapp
1158 1158 * :ghpull:`3997`: DOC: typos + rewording in examples/notebooks/Cell Magics.ipynb
1159 1159 * :ghpull:`3914`: nbconvert: Transformer tests
1160 1160 * :ghpull:`3987`: get files list in backport_pr
1161 1161 * :ghpull:`3923`: nbconvert: Writer tests
1162 1162 * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3
1163 1163 * :ghpull:`3937`: make tab visible in codemirror and light red background
1164 1164 * :ghpull:`3933`: nbconvert: Post-processor tests
1165 1165 * :ghpull:`3978`: fix `--existing` with non-localhost IP
1166 1166 * :ghpull:`3939`: minor checkpoint cleanup
1167 1167 * :ghpull:`3955`: complete on % for magic in notebook
1168 1168 * :ghpull:`3981`: BF: fix nbconert rst input prompt spacing
1169 1169 * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert
1170 1170 * :ghpull:`3973`: logging.Formatter is not new-style in 2.6
1171 1171
1172 1172 Issues (434):
1173 1173
1174 1174 * :ghissue:`5476`: For 2.0: Fix links in Notebook Help Menu
1175 1175 * :ghissue:`5337`: Examples reorganization
1176 1176 * :ghissue:`5436`: CodeMirror shortcuts in QuickHelp
1177 1177 * :ghissue:`5444`: Fix numeric verification for Int and Float text widgets.
1178 1178 * :ghissue:`5443`: Int and Float Widgets don't allow negative signs
1179 1179 * :ghissue:`5449`: Stretch keyboard shortcut dialog
1180 1180 * :ghissue:`5471`: Add coding magic comment to nbconvert Python template
1181 1181 * :ghissue:`5470`: UTF-8 Issue When Converting Notebook to a Script.
1182 1182 * :ghissue:`5369`: FormatterWarning for SVG matplotlib output in notebook
1183 1183 * :ghissue:`5460`: Can't start the notebook server specifying a notebook
1184 1184 * :ghissue:`2918`: CodeMirror related issues.
1185 1185 * :ghissue:`5431`: update github_stats and gh_api for 2.0
1186 1186 * :ghissue:`4887`: Add tests for modal UI
1187 1187 * :ghissue:`5290`: Add dual mode JS tests
1188 1188 * :ghissue:`5448`: Cmd+/ shortcut doesn't work in IPython master
1189 1189 * :ghissue:`5447`: Add %%python2 cell magic
1190 1190 * :ghissue:`5442`: Make a "python2" alias or rename the "python"cell magic.
1191 1191 * :ghissue:`2495`: non-ascii characters in the path
1192 1192 * :ghissue:`4554`: dictDB: Exception due to str to datetime comparission
1193 1193 * :ghissue:`5006`: Comm code is not run in the same context as notebook code
1194 1194 * :ghissue:`5118`: Weird interact behavior
1195 1195 * :ghissue:`5401`: Empty code cells in nbconvert rst output cause problems
1196 1196 * :ghissue:`5434`: fix check for empty cells in rst template
1197 1197 * :ghissue:`4944`: Trouble finding ipynb path in Windows 8
1198 1198 * :ghissue:`4605`: Change the url of Editor Shorcuts in the notebook menu.
1199 1199 * :ghissue:`5425`: Update COPYING.txt
1200 1200 * :ghissue:`5348`: BUG: HistoryAccessor.get_session_info(0) - exception
1201 1201 * :ghissue:`5293`: Javascript("element.append()") looks broken.
1202 1202 * :ghissue:`5363`: Disable saving if notebook has stopped loading
1203 1203 * :ghissue:`5189`: Tooltip pager mode is broken
1204 1204 * :ghissue:`5330`: Updates to shell reference doc
1205 1205 * :ghissue:`5397`: Accordion widget broken
1206 1206 * :ghissue:`5106`: Flexbox CSS specificity bugs
1207 1207 * :ghissue:`5297`: tooltip triggers focus bug
1208 1208 * :ghissue:`5417`: scp checking for existence of directories: directory names are incorrect
1209 1209 * :ghissue:`5302`: Parallel engine registration fails for slow engines
1210 1210 * :ghissue:`5334`: notebook's split-cell shortcut dangerous / incompatible with Neo layout (for instance)
1211 1211 * :ghissue:`5324`: Style of `raw_input` UI is off in notebook
1212 1212 * :ghissue:`5350`: Converting notebooks with spaces in their names to RST gives broken images
1213 1213 * :ghissue:`5049`: update quickhelp on adding and removing shortcuts
1214 1214 * :ghissue:`4941`: Eliminating display of intermediate stages in progress bars
1215 1215 * :ghissue:`5345`: nbconvert to markdown does not use backticks
1216 1216 * :ghissue:`5357`: catch exception in copystat
1217 1217 * :ghissue:`5351`: Notebook saving fails on smb share
1218 1218 * :ghissue:`4946`: TeX produced cannot be converted to PDF
1219 1219 * :ghissue:`5347`: pretty print list too slow
1220 1220 * :ghissue:`5238`: Raw cell placeholder is not removed when you edit the cell
1221 1221 * :ghissue:`5382`: Qtconsole doesn't run in Python 3
1222 1222 * :ghissue:`5378`: Unexpected and new conflict between PyFileConfigLoader and IPythonQtConsoleApp
1223 1223 * :ghissue:`4945`: Heading/cells positioning problem and cell output wrapping
1224 1224 * :ghissue:`5084`: Consistent approach for HTML/JS output on nbviewer
1225 1225 * :ghissue:`4902`: print preview does not work, custom.css not found
1226 1226 * :ghissue:`5336`: TypeError in bootstrap-tour.min.js
1227 1227 * :ghissue:`5303`: Changed Hub.registration_timeout to be a config input.
1228 1228 * :ghissue:`995`: Paste-able mode in terminal
1229 1229 * :ghissue:`5305`: Tuple unpacking for shell escape
1230 1230 * :ghissue:`5232`: Make nbconvert html full output like notebook's html.
1231 1231 * :ghissue:`5224`: Audit nbconvert HTML output
1232 1232 * :ghissue:`5253`: display any output from this session in terminal console
1233 1233 * :ghissue:`5251`: ipython console ignoring some stream messages?
1234 1234 * :ghissue:`4802`: Tour of the notebook UI (was UI elements inline with highlighting)
1235 1235 * :ghissue:`5103`: Moving Constructor definition to the top like a Function definition
1236 1236 * :ghissue:`5264`: Test failures on master with Anaconda
1237 1237 * :ghissue:`4833`: Serve /usr/share/javascript at /_sysassets/javascript/ in notebook
1238 1238 * :ghissue:`5071`: Prevent %pylab from clobbering interactive
1239 1239 * :ghissue:`5282`: Exception in widget __del__ methods in Python 3.4.
1240 1240 * :ghissue:`5280`: append Firefox overflow-x fix
1241 1241 * :ghissue:`5120`: append Firefox overflow-x fix, again
1242 1242 * :ghissue:`4127`: autoreload shouldn't rely on .pyc modification times
1243 1243 * :ghissue:`5272`: allow highlighting language to be set from notebook metadata
1244 1244 * :ghissue:`5050`: Notebook cells truncated with Firefox
1245 1245 * :ghissue:`4839`: Error in Session.send_raw()
1246 1246 * :ghissue:`5188`: New events system
1247 1247 * :ghissue:`5076`: Refactor keyboard handling
1248 1248 * :ghissue:`4886`: Refactor and consolidate different keyboard logic in JavaScript code
1249 1249 * :ghissue:`5002`: the green cell border moving forever in Chrome, when there are many code cells.
1250 1250 * :ghissue:`5259`: Codemirror still active in command mode
1251 1251 * :ghissue:`5219`: Output images appear as small thumbnails (Notebook)
1252 1252 * :ghissue:`4829`: Not able to connect qtconsole in Windows 8
1253 1253 * :ghissue:`5152`: Hide __pycache__ in dashboard directory list
1254 1254 * :ghissue:`5151`: Case-insesitive sort for dashboard list
1255 1255 * :ghissue:`4603`: Warn when overwriting a notebook with upload
1256 1256 * :ghissue:`4895`: Improvements to %run completions
1257 1257 * :ghissue:`3459`: Filename completion when run script with %run
1258 1258 * :ghissue:`5225`: Add JavaScript to nbconvert HTML display priority
1259 1259 * :ghissue:`5034`: Audit the places where we call `.html(something)`
1260 1260 * :ghissue:`5094`: Dancing cells in notebook
1261 1261 * :ghissue:`4999`: Notebook focus effects
1262 1262 * :ghissue:`5149`: Clicking on a TextBoxWidget in FF completely breaks dual mode.
1263 1263 * :ghissue:`5207`: Children fire event
1264 1264 * :ghissue:`5227`: display_method of objects with custom __getattr__
1265 1265 * :ghissue:`5236`: Cursor keys do not work to leave Markdown cell while it's being edited
1266 1266 * :ghissue:`5205`: Use CTuple traitlet for Widget children
1267 1267 * :ghissue:`5230`: notebook rename does not respect url prefix
1268 1268 * :ghissue:`5218`: Test failures with Python 3 and enabled warnings
1269 1269 * :ghissue:`5115`: Page Breaks for Print Preview Broken by display: flex - Simple CSS Fix
1270 1270 * :ghissue:`5024`: Make nbconvert HTML output smart about page breaking
1271 1271 * :ghissue:`4985`: Add automatic Closebrackets function to Codemirror.
1272 1272 * :ghissue:`5184`: print '\xa' crashes the interactive shell
1273 1273 * :ghissue:`5214`: Downloading notebook as Python (.py) fails
1274 1274 * :ghissue:`5211`: AttributeError: 'module' object has no attribute '_outputfile'
1275 1275 * :ghissue:`5206`: [CSS?] Inconsistencies in nbconvert divs and IPython Notebook divs?
1276 1276 * :ghissue:`5201`: node != nodejs within Debian packages
1277 1277 * :ghissue:`5112`: band-aid for completion
1278 1278 * :ghissue:`4860`: Completer As-You-Type Broken
1279 1279 * :ghissue:`5116`: reorganize who knows what about paths
1280 1280 * :ghissue:`4973`: Adding security.js with 1st attempt at is_safe
1281 1281 * :ghissue:`5164`: test_oinspect.test_calltip_builtin failure with python3.4
1282 1282 * :ghissue:`5127`: Widgets: skip intermediate callbacks during throttling
1283 1283 * :ghissue:`5013`: Widget alignment differs between FF and Chrome
1284 1284 * :ghissue:`5141`: tornado error static file
1285 1285 * :ghissue:`5160`: TemporaryWorkingDirectory incompatible with python3.4
1286 1286 * :ghissue:`5140`: WIP: %kernels magic
1287 1287 * :ghissue:`4987`: Widget lifecycle problems
1288 1288 * :ghissue:`5129`: UCS package break latex export on non-ascii
1289 1289 * :ghissue:`4986`: Cell horizontal scrollbar is missing in FF but not in Chrome
1290 1290 * :ghissue:`4685`: nbconvert ignores image size metadata
1291 1291 * :ghissue:`5155`: Notebook logout button does not work (source typo)
1292 1292 * :ghissue:`2678`: Ctrl-m keyboard shortcut clash on Chrome OS
1293 1293 * :ghissue:`5113`: ButtonWidget without caption wrong height.
1294 1294 * :ghissue:`4778`: add APIs for installing notebook extensions
1295 1295 * :ghissue:`5046`: python setup.py failed vs git submodule update worked
1296 1296 * :ghissue:`4925`: Notebook manager api fixes
1297 1297 * :ghissue:`5073`: Cannot align widgets horizontally in the notebook
1298 1298 * :ghissue:`4996`: require print_method to be a bound method
1299 1299 * :ghissue:`4990`: _repr_html_ exception reporting corner case when using type(foo)
1300 1300 * :ghissue:`5099`: Notebook: Changing base_project_url results in failed WebSockets call
1301 1301 * :ghissue:`5096`: Client.map is not fault tolerant
1302 1302 * :ghissue:`4997`: Inconsistent %matplotlib qt behavior
1303 1303 * :ghissue:`5041`: Remove more .html(...) calls.
1304 1304 * :ghissue:`5078`: Updating JS tests README.md
1305 1305 * :ghissue:`4977`: ensure scp destination directories exist (with mkdir -p)
1306 1306 * :ghissue:`3411`: ipython parallel: scp failure.
1307 1307 * :ghissue:`5064`: Errors during interact display at the terminal, not anywhere in the notebook
1308 1308 * :ghissue:`4921`: Add PDF formatter and handling
1309 1309 * :ghissue:`4920`: Adding PDFFormatter and kernel side handling of PDF display data
1310 1310 * :ghissue:`5048`: Add edit/command mode indicator
1311 1311 * :ghissue:`4889`: Add UI element for indicating command/edit modes
1312 1312 * :ghissue:`5052`: Add q to toggle the pager.
1313 1313 * :ghissue:`5000`: Closing pager with keyboard in modal UI
1314 1314 * :ghissue:`5069`: Box model changes broke the Keyboard Shortcuts help modal
1315 1315 * :ghissue:`4960`: Interact/Interactive for widget
1316 1316 * :ghissue:`4883`: Implement interact/interactive for widgets
1317 1317 * :ghissue:`5038`: Fix multiple press keyboard events
1318 1318 * :ghissue:`5054`: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 1: ordinal not in range(128)
1319 1319 * :ghissue:`5031`: Bug during integration of IPython console in Qt application
1320 1320 * :ghissue:`5057`: iopubwatcher.py example is broken.
1321 1321 * :ghissue:`4747`: Add event for output_area adding an output
1322 1322 * :ghissue:`5001`: Add directory navigation to dashboard
1323 1323 * :ghissue:`5016`: Help menu external-link icons break layout in FF
1324 1324 * :ghissue:`4885`: Modal UI behavior changes
1325 1325 * :ghissue:`5009`: notebook signatures don't work
1326 1326 * :ghissue:`4975`: setup.py changes for 2.0
1327 1327 * :ghissue:`4774`: emit event on appended element on dom
1328 1328 * :ghissue:`5020`: Python Lists translated to javascript objects in widgets
1329 1329 * :ghissue:`5003`: Fix pretty reprs of super() objects
1330 1330 * :ghissue:`5012`: Make `SelectionWidget.values` a dict
1331 1331 * :ghissue:`4961`: Bug when constructing a selection widget with both values and labels
1332 1332 * :ghissue:`4283`: A `<` in a markdown cell strips cell content when converting to latex
1333 1333 * :ghissue:`4006`: iptest IPython broken
1334 1334 * :ghissue:`4251`: & escaped to &amp; in tex ?
1335 1335 * :ghissue:`5027`: pin lessc to 1.4
1336 1336 * :ghissue:`4323`: Take 2: citation2latex filter (using HTMLParser)
1337 1337 * :ghissue:`4196`: Printing notebook from browser gives 1-page truncated output
1338 1338 * :ghissue:`4842`: more subtle kernel indicator
1339 1339 * :ghissue:`4057`: No path to notebook examples from Help menu
1340 1340 * :ghissue:`5015`: don't write cell.trusted to disk
1341 1341 * :ghissue:`4617`: Changed url link in Help dropdown menu.
1342 1342 * :ghissue:`4976`: Container widget layout broken on Firefox
1343 1343 * :ghissue:`4981`: Vertical slider layout broken
1344 1344 * :ghissue:`4793`: Message spec changes related to `clear_output`
1345 1345 * :ghissue:`4982`: Live readout for slider widgets
1346 1346 * :ghissue:`4813`: make help menu a template
1347 1347 * :ghissue:`4989`: Filename tab completion completely broken
1348 1348 * :ghissue:`1380`: Tab should insert 4 spaces in # comment lines
1349 1349 * :ghissue:`2888`: spaces vs tabs
1350 1350 * :ghissue:`1193`: Allow resizing figures in notebook
1351 1351 * :ghissue:`4504`: Allow input transformers to raise SyntaxError
1352 1352 * :ghissue:`4697`: Problems with height after toggling header and toolbar...
1353 1353 * :ghissue:`4951`: TextWidget to code cell command mode bug.
1354 1354 * :ghissue:`4809`: Arbitrary scrolling (jumping) in clicks in modal UI for notebook
1355 1355 * :ghissue:`4971`: Fixing issues with js tests
1356 1356 * :ghissue:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
1357 1357 * :ghissue:`4892`: IPython.qt test failure with python3.4
1358 1358 * :ghissue:`4863`: BUG: cannot create an OBJECT array from memory buffer
1359 1359 * :ghissue:`4704`: Subcommand `profile` ignores --ipython-dir
1360 1360 * :ghissue:`4845`: Add Origin Checking.
1361 1361 * :ghissue:`4870`: ipython_directive, report except/warn in block and add :okexcept: :okwarning: options to suppress
1362 1362 * :ghissue:`4956`: Shift-Enter does not move to next cell
1363 1363 * :ghissue:`4662`: Menu cleanup
1364 1364 * :ghissue:`4824`: sign notebooks
1365 1365 * :ghissue:`4848`: avoid import of nearby temporary with %edit
1366 1366 * :ghissue:`4731`: %edit files mistakenly import modules in /tmp
1367 1367 * :ghissue:`4950`: Two fixes for file upload related bugs
1368 1368 * :ghissue:`4871`: Notebook upload fails after Delete
1369 1369 * :ghissue:`4825`: File Upload URL set incorrectly
1370 1370 * :ghissue:`3867`: display.FileLinks should work in the exported html verion of a notebook
1371 1371 * :ghissue:`4948`: reveal: ipython css overrides reveal themes
1372 1372 * :ghissue:`4947`: reveal: slides that are too big?
1373 1373 * :ghissue:`4051`: Test failures with Python 3 and enabled warnings
1374 1374 * :ghissue:`3633`: outstanding issues over in ipython/nbconvert repo
1375 1375 * :ghissue:`4087`: Sympy printing in the example notebook
1376 1376 * :ghissue:`4627`: Document various QtConsole embedding approaches.
1377 1377 * :ghissue:`4849`: Various unicode fixes (mostly on Windows)
1378 1378 * :ghissue:`3653`: autocompletion in "from package import <tab>"
1379 1379 * :ghissue:`4583`: overwrite? prompt gets EOFError in 2 process
1380 1380 * :ghissue:`4807`: Correct handling of ansi colour codes when nbconverting to latex
1381 1381 * :ghissue:`4611`: Document how to compile .less files in dev docs.
1382 1382 * :ghissue:`4618`: "Editor Shortcuts" link is broken in help menu dropdown notebook
1383 1383 * :ghissue:`4522`: DeprecationWarning: the sets module is deprecated
1384 1384 * :ghissue:`4368`: No symlink from ipython to ipython3 when inside a python3 virtualenv
1385 1385 * :ghissue:`4234`: Math without $$ doesn't show up when converted to slides
1386 1386 * :ghissue:`4194`: config.TerminalIPythonApp.nosep does not work
1387 1387 * :ghissue:`1491`: prefilter not called for multi-line notebook cells
1388 1388 * :ghissue:`4001`: Windows IPython executable /scripts/ipython not working
1389 1389 * :ghissue:`3959`: think more carefully about text wrapping in nbconvert
1390 1390 * :ghissue:`4907`: Test for traceback depth fails on Windows
1391 1391 * :ghissue:`4906`: Test for IPython.embed() fails on Windows
1392 1392 * :ghissue:`4912`: Skip some Windows io failures
1393 1393 * :ghissue:`3700`: stdout/stderr should be flushed printing exception output...
1394 1394 * :ghissue:`1181`: greedy completer bug in terminal console
1395 1395 * :ghissue:`2032`: check for a few places we should be using DEFAULT_ENCODING
1396 1396 * :ghissue:`4882`: Too many files open when starting and stopping kernel repeatedly
1397 1397 * :ghissue:`4880`: set profile name from profile_dir
1398 1398 * :ghissue:`4238`: parallel.Client() not using profile that notebook was run with?
1399 1399 * :ghissue:`4853`: fix setting image height/width from metadata
1400 1400 * :ghissue:`4786`: Reduce spacing of heading cells
1401 1401 * :ghissue:`4680`: Minimal pandoc version warning
1402 1402 * :ghissue:`3707`: nbconvert: Remove IPython magic commands from --format="python" output
1403 1403 * :ghissue:`4130`: PDF figures as links from png or svg figures
1404 1404 * :ghissue:`3919`: Allow --profile to be passed a dir.
1405 1405 * :ghissue:`2136`: Handle hard newlines in pretty printer
1406 1406 * :ghissue:`4790`: Notebook modal UI: "merge cell below" key binding, `shift+=`, does not work with some keyboard layouts
1407 1407 * :ghissue:`4884`: Keyboard shortcut changes
1408 1408 * :ghissue:`1184`: slow handling of keyboard input
1409 1409 * :ghissue:`4913`: Mathjax, Markdown, tex, env* and italic
1410 1410 * :ghissue:`3972`: nbconvert: Template output testing
1411 1411 * :ghissue:`4903`: use https for all embeds
1412 1412 * :ghissue:`4874`: --debug does not work if you set .kernel_cmd
1413 1413 * :ghissue:`4679`: JPG compression for inline pylab
1414 1414 * :ghissue:`4708`: Fix indent and center
1415 1415 * :ghissue:`4789`: fix IPython.embed
1416 1416 * :ghissue:`4759`: Application._load_config_files log parameter default fails
1417 1417 * :ghissue:`3153`: docs / file menu: explain how to exit the notebook
1418 1418 * :ghissue:`4791`: Did updates to ipython_directive bork support for cython magic snippets?
1419 * :ghissue:`4385`: "Part 4 - Markdown Cells.ipynb" nbviewer example seems not well referenced in current online documentation page http://ipython.org/ipython-doc/stable/interactive/notebook.htm
1419 * :ghissue:`4385`: "Part 4 - Markdown Cells.ipynb" nbviewer example seems not well referenced in current online documentation page https://ipython.org/ipython-doc/stable/interactive/notebook.htm
1420 1420 * :ghissue:`4655`: prefer marked to pandoc for markdown2html
1421 1421 * :ghissue:`3441`: Fix focus related problems in the notebook
1422 1422 * :ghissue:`3402`: Feature Request: Save As (latex, html,..etc) as a menu option in Notebook rather than explicit need to invoke nbconvert
1423 1423 * :ghissue:`3224`: Revisit layout of notebook area
1424 1424 * :ghissue:`2746`: rerunning a cell with long output (exception) scrolls to much (html notebook)
1425 1425 * :ghissue:`2667`: can't save opened notebook if accidentally delete the notebook in the dashboard
1426 1426 * :ghissue:`3026`: Reporting errors from _repr_<type>_ methods
1427 1427 * :ghissue:`1844`: Notebook does not exist and permalinks
1428 1428 * :ghissue:`2450`: [closed PR] Prevent jumping of window to input when output is clicked.
1429 1429 * :ghissue:`3166`: IPEP 16: Notebook multi directory dashboard and URL mapping
1430 1430 * :ghissue:`3691`: Slight misalignment of Notebook menu bar with focus box
1431 1431 * :ghissue:`4875`: Empty tooltip with `object_found = false` still being shown
1432 1432 * :ghissue:`4432`: The SSL cert for the MathJax CDN is invalid and URL is not protocol agnostic
1433 1433 * :ghissue:`2633`: Help text should leave current cell active
1434 1434 * :ghissue:`3976`: DOC: Pandas link on the notebook help menu?
1435 1435 * :ghissue:`4082`: /new handler redirect cached by browser
1436 1436 * :ghissue:`4298`: Slow ipython --pylab and ipython notebook startup
1437 1437 * :ghissue:`4545`: %store magic not working
1438 1438 * :ghissue:`4610`: toolbar UI enhancements
1439 1439 * :ghissue:`4782`: New modal UI
1440 1440 * :ghissue:`4732`: Accents in notebook names and in command-line (nbconvert)
1441 1441 * :ghissue:`4752`: link broken in docs/examples
1442 1442 * :ghissue:`4835`: running ipython on python files adds an extra traceback frame
1443 1443 * :ghissue:`4792`: repr_html exception warning on qtconsole with pandas #4745
1444 1444 * :ghissue:`4834`: function tooltip issues
1445 1445 * :ghissue:`4808`: Docstrings in Notebook not displayed properly and introspection
1446 1446 * :ghissue:`4846`: Remove some leftover traces of irunner
1447 1447 * :ghissue:`4810`: ipcluster bug in clean_logs flag
1448 1448 * :ghissue:`4812`: update CodeMirror for the notebook
1449 1449 * :ghissue:`671`: add migration guide for old IPython config
1450 1450 * :ghissue:`4783`: ipython 2dev under windows / (win)python 3.3 experiment
1451 1451 * :ghissue:`4772`: Notebook server info files
1452 1452 * :ghissue:`4765`: missing build script for highlight.js
1453 1453 * :ghissue:`4787`: non-python kernels run python code with qtconsole
1454 1454 * :ghissue:`4703`: Math macro in jinja templates.
1455 1455 * :ghissue:`4595`: ipython notebook XSS vulnerable
1456 1456 * :ghissue:`4776`: Manually document py3compat module.
1457 1457 * :ghissue:`4686`: For-in loop on an array in cell.js
1458 1458 * :ghissue:`3605`: Modal UI
1459 1459 * :ghissue:`4769`: Ipython 2.0 will not startup on py27 on windows
1460 1460 * :ghissue:`4482`: reveal.js converter not including CDN by default?
1461 1461 * :ghissue:`4761`: ipv6 address triggers cookie exception
1462 1462 * :ghissue:`4580`: rename or remove %profile magic
1463 1463 * :ghissue:`4643`: Docstring does not open properly
1464 1464 * :ghissue:`4714`: Static URLs are not auto-versioned
1465 1465 * :ghissue:`2573`: document code mirror keyboard shortcuts
1466 1466 * :ghissue:`4717`: hang in parallel.Client when using SSHAgent
1467 1467 * :ghissue:`4544`: Clarify the requirement for pyreadline on Windows
1468 1468 * :ghissue:`3451`: revisit REST /new handler to avoid systematic crawling.
1469 1469 * :ghissue:`2922`: File => Save as '.py' saves magic as code
1470 1470 * :ghissue:`4728`: Copy/Paste stripping broken in version > 0.13.x in QTConsole
1471 1471 * :ghissue:`4539`: Nbconvert: Latex to PDF conversion fails on notebooks with accented letters
1472 1472 * :ghissue:`4721`: purge_results with jobid crashing - looking for insight
1473 1473 * :ghissue:`4620`: Notebook with ? in title defies autosave, renaming and deletion.
1474 1474 * :ghissue:`4574`: Hash character in notebook name breaks a lot of things
1475 1475 * :ghissue:`4709`: input_prefilter hook not called
1476 1476 * :ghissue:`1680`: qtconsole should support --no-banner and custom banner
1477 1477 * :ghissue:`4689`: IOStream IP address configurable
1478 1478 * :ghissue:`4698`: Missing "if __name__ == '__main__':" check in /usr/bin/ipython
1479 1479 * :ghissue:`4191`: NBConvert: markdown inline and locally referenced files have incorrect file location for latex
1480 1480 * :ghissue:`2865`: %%!? does not display the shell execute docstring
1481 1481 * :ghissue:`1551`: Notebook should be saved before printing
1482 1482 * :ghissue:`4612`: remove `Configurable.created` ?
1483 1483 * :ghissue:`4629`: Lots of tests fail due to space in sys.executable
1484 1484 * :ghissue:`4644`: Fixed URLs for notebooks
1485 1485 * :ghissue:`4621`: IPython 1.1.0 Qtconsole syntax highlighting highlights python 2 only built-ins when using python 3
1486 1486 * :ghissue:`2923`: Move Delete Button Away from Save Button in the HTML notebook toolbar
1487 1487 * :ghissue:`4615`: UnicodeDecodeError
1488 1488 * :ghissue:`4431`: ipython slow in os x mavericks?
1489 1489 * :ghissue:`4538`: DOC: document how to change ipcontroller-engine.json in case controller was started with --ip="*"
1490 1490 * :ghissue:`4551`: Serialize methods and closures
1491 1491 * :ghissue:`4081`: [Nbconvert][reveal] link to font awesome ?
1492 1492 * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3
1493 1493 * :ghissue:`4578`: NBconvert fails with unicode errors when `--stdout` and file redirection is specified and HTML entities are present
1494 1494 * :ghissue:`4600`: Renaming new notebook to an exist name silently deletes the old one
1495 1495 * :ghissue:`4598`: Qtconsole docstring pop-up fails on method containing defaulted enum argument
1496 1496 * :ghissue:`951`: Remove Tornado monkeypatch
1497 1497 * :ghissue:`4564`: Notebook save failure
1498 1498 * :ghissue:`4562`: nbconvert: Default encoding problem on OS X
1499 1499 * :ghissue:`1675`: add file_to_run=file.ipynb capability to the notebook
1500 1500 * :ghissue:`4516`: `ipython console` doesn't send a `shutdown_request`
1501 1501 * :ghissue:`3043`: can't restart pdb session in ipython
1502 1502 * :ghissue:`4524`: Fix bug with non ascii passwords in notebook login
1503 1503 * :ghissue:`1866`: problems rendering an SVG?
1504 1504 * :ghissue:`4520`: unicode error when trying Audio('data/Bach Cello Suite #3.wav')
1505 1505 * :ghissue:`4493`: Qtconsole cannot print an ISO8601 date at nanosecond precision
1506 1506 * :ghissue:`4502`: intermittent parallel test failure test_purge_everything
1507 1507 * :ghissue:`4495`: firefox 25.0: notebooks report "Notebook save failed", .py script save fails, but .ipynb save succeeds
1508 1508 * :ghissue:`4245`: nbconvert latex: code highlighting causes error
1509 1509 * :ghissue:`4486`: Test for whether inside virtualenv does not work if directory is symlinked
1510 1510 * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation.
1511 1511 * :ghissue:`4447`: Ipcontroller broken in current HEAD on windows
1512 1512 * :ghissue:`4241`: Audio display object
1513 1513 * :ghissue:`4463`: Error on empty c.Session.key
1514 1514 * :ghissue:`4454`: UnicodeDecodeError when starting Ipython notebook on a directory containing a file with a non-ascii character
1515 1515 * :ghissue:`3801`: Autocompletion: Fix issue #3723 -- ordering of completions for magic commands and variables with same name
1516 1516 * :ghissue:`3723`: Code completion: 'matplotlib' and '%matplotlib'
1517 1517 * :ghissue:`4396`: Always checkpoint al least once ?
1518 1518 * :ghissue:`2524`: [Notebook] Clear kernel queue
1519 1519 * :ghissue:`2292`: Client side tests for the notebook
1520 1520 * :ghissue:`4424`: Dealing with images in multidirectory environment
1521 1521 * :ghissue:`4388`: Make writing configurable magics easier
1522 1522 * :ghissue:`852`: Notebook should be saved before downloading
1523 1523 * :ghissue:`3708`: ipython profile locate should also work
1524 1524 * :ghissue:`1349`: `?` may generate hundreds of cell
1525 1525 * :ghissue:`4381`: Using hasattr for trait_names instead of just looking for it directly/using __dir__?
1526 1526 * :ghissue:`4361`: Crash Ultratraceback/ session history
1527 1527 * :ghissue:`3044`: IPython notebook autocomplete for filename string converts multiple spaces to a single space
1528 1528 * :ghissue:`3346`: Up arrow history search shows duplicates in Qtconsole
1529 1529 * :ghissue:`3496`: Fix import errors when running tests from the source directory
1530 1530 * :ghissue:`4114`: If default profile doesn't exist, can't install mathjax to any location
1531 1531 * :ghissue:`4335`: TestPylabSwitch.test_qt fails
1532 1532 * :ghissue:`4291`: serve like option for nbconvert --to latex
1533 1533 * :ghissue:`1824`: Exception before prompting for password during ssh connection
1534 1534 * :ghissue:`4309`: Error in nbconvert - closing </code> tag is not inserted in HTML under some circumstances
1535 1535 * :ghissue:`4351`: /parallel/apps/launcher.py error
1536 1536 * :ghissue:`3603`: Upcoming issues with nbconvert
1537 1537 * :ghissue:`4296`: sync_imports() fails in python 3.3
1538 1538 * :ghissue:`4339`: local mathjax install doesn't work
1539 1539 * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash
1540 1540 * :ghissue:`4308`: Error when use "ipython notebook" in win7 64 with python2.7.3 64.
1541 1541 * :ghissue:`4317`: Relative imports broken in the notebook (Windows)
1542 1542 * :ghissue:`3658`: Saving Notebook clears "Kernel Busy" status from the page and titlebar
1543 1543 * :ghissue:`4312`: Link broken on ipython-doc stable
1544 1544 * :ghissue:`1093`: Add boundary options to %load
1545 1545 * :ghissue:`3619`: Multi-dir webservice design
1546 1546 * :ghissue:`4299`: Nbconvert, default_preprocessors to list of dotted name not list of obj
1547 1547 * :ghissue:`3210`: IPython.parallel tests seem to hang on ShiningPanda
1548 1548 * :ghissue:`4280`: MathJax Automatic Line Breaking
1549 1549 * :ghissue:`4039`: Celltoolbar example issue
1550 1550 * :ghissue:`4247`: nbconvert --to latex: error when converting greek letter
1551 1551 * :ghissue:`4273`: %%capture not capturing rich objects like plots (IPython 1.1.0)
1552 1552 * :ghissue:`3866`: Vertical offsets in LaTeX output for nbconvert
1553 1553 * :ghissue:`3631`: xkcd mode for the IPython notebook
1554 1554 * :ghissue:`4243`: Test exclusions not working on Windows
1555 1555 * :ghissue:`4256`: IPython no longer handles unicode file names
1556 1556 * :ghissue:`3656`: Audio displayobject
1557 1557 * :ghissue:`4223`: Double output on Ctrl-enter-enter
1558 1558 * :ghissue:`4184`: nbconvert: use r pygmentize backend when highlighting "%%R" cells
1559 1559 * :ghissue:`3851`: Adds an explicit newline for pretty-printing.
1560 1560 * :ghissue:`3622`: Drop fakemodule
1561 1561 * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex
1562 1562 * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows.
1563 1563 * :ghissue:`4203`: remove spurious print statement from parallel annoted functions
1564 1564 * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone
1565 1565 * :ghissue:`3747`: ipynb -> ipynb transformer
1566 1566 * :ghissue:`4024`: nbconvert markdown issues
1567 1567 * :ghissue:`3903`: on Windows, 'ipython3 nbconvert "C:/blabla/first_try.ipynb" --to slides' gives an unexpected result, and '--post serve' fails
1568 1568 * :ghissue:`4095`: Catch js error in append html in stream/pyerr
1569 1569 * :ghissue:`1880`: Add parallelism to test_pr
1570 1570 * :ghissue:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
1571 1571 * :ghissue:`4156`: Specifying --gui=tk at the command line
1572 1572 * :ghissue:`4146`: Having to prepend 'files/' to markdown image paths is confusing
1573 1573 * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS.
1574 1574 * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook.
1575 1575 * :ghissue:`3998`: sample custom.js needs to be updated
1576 1576 * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0
1577 1577 * :ghissue:`3990`: Buitlin `input` doesn't work over zmq
1578 1578 * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook
1579 1579 * :ghissue:`4059`: Issues with Ellipsis literal in Python 3
1580 1580 * :ghissue:`2310`: "ZMQError: Interrupted system call" from RichIPythonWidget
1581 1581 * :ghissue:`3807`: qtconsole ipython 0.13.2 - html/xhtml export fails
1582 1582 * :ghissue:`4103`: Wrong default argument of DirectView.clear
1583 1583 * :ghissue:`4100`: parallel.client.client references undefined error.EngineError
1584 1584 * :ghissue:`484`: Drop nosepatch
1585 1585 * :ghissue:`3350`: Added longlist support in ipdb.
1586 1586 * :ghissue:`1591`: Keying 'q' doesn't quit the interactive help in Wins7
1587 1587 * :ghissue:`40`: The tests in test_process fail under Windows
1588 1588 * :ghissue:`3744`: capture rich output as well as stdout/err in capture_output
1589 1589 * :ghissue:`3742`: %%capture to grab rich display outputs
1590 1590 * :ghissue:`3863`: Added working speaker notes for slides.
1591 1591 * :ghissue:`4013`: Iptest fails in dual python installation
1592 1592 * :ghissue:`4005`: IPython.start_kernel doesn't work.
1593 1593 * :ghissue:`4020`: IPython parallel map fails on numpy arrays
1594 1594 * :ghissue:`3914`: nbconvert: Transformer tests
1595 1595 * :ghissue:`3923`: nbconvert: Writer tests
1596 1596 * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3
1597 1597 * :ghissue:`3937`: make tab visible in codemirror and light red background
1598 1598 * :ghissue:`3935`: No feedback for mixed tabs and spaces
1599 1599 * :ghissue:`3933`: nbconvert: Post-processor tests
1600 1600 * :ghissue:`3977`: unable to complete remote connections for two-process
1601 1601 * :ghissue:`3939`: minor checkpoint cleanup
1602 1602 * :ghissue:`3955`: complete on % for magic in notebook
1603 1603 * :ghissue:`3954`: all magics should be listed when completing on %
1604 1604 * :ghissue:`3980`: nbconvert rst output lacks needed blank lines
1605 1605 * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6)
1606 1606 * :ghissue:`3880`: nbconvert: R&D remaining tests
1607 1607 * :ghissue:`2440`: IPEP 4: Python 3 Compatibility
@@ -1,765 +1,765 b''
1 1 =============
2 2 0.11 Series
3 3 =============
4 4
5 5 Release 0.11
6 6 ============
7 7
8 8 IPython 0.11 is a *major* overhaul of IPython, two years in the making. Most
9 9 of the code base has been rewritten or at least reorganized, breaking backward
10 10 compatibility with several APIs in previous versions. It is the first major
11 11 release in two years, and probably the most significant change to IPython since
12 12 its inception. We plan to have a relatively quick succession of releases, as
13 13 people discover new bugs and regressions. Once we iron out any significant
14 14 bugs in this process and settle down the new APIs, this series will become
15 15 IPython 1.0. We encourage feedback now on the core APIs, which we hope to
16 16 maintain stable during the 1.0 series.
17 17
18 18 Since the internal APIs have changed so much, projects using IPython as a
19 19 library (as opposed to end-users of the application) are the most likely to
20 20 encounter regressions or changes that break their existing use patterns. We
21 21 will make every effort to provide updated versions of the APIs to facilitate
22 22 the transition, and we encourage you to contact us on the `development mailing
23 23 list`__ with questions and feedback.
24 24
25 25 .. __: http://mail.scipy.org/mailman/listinfo/ipython-dev
26 26
27 27 Chris Fonnesbeck recently wrote an `excellent post`__ that highlights some of
28 28 our major new features, with examples and screenshots. We encourage you to
29 29 read it as it provides an illustrated, high-level overview complementing the
30 30 detailed feature breakdown in this document.
31 31
32 32 .. __: http://stronginference.com/post/innovations-in-ipython
33 33
34 34 A quick summary of the major changes (see below for details):
35 35
36 36 * **Standalone Qt console**: a new rich console has been added to IPython,
37 37 started with `ipython qtconsole`. In this application we have tried to
38 38 retain the feel of a terminal for fast and efficient workflows, while adding
39 39 many features that a line-oriented terminal simply can not support, such as
40 40 inline figures, full multiline editing with syntax highlighting, graphical
41 41 tooltips for function calls and much more. This development was sponsored by
42 42 `Enthought Inc.`__. See :ref:`below <qtconsole_011>` for details.
43 43
44 44 .. __: http://enthought.com
45 45
46 46 * **High-level parallel computing with ZeroMQ**. Using the same architecture
47 47 that our Qt console is based on, we have completely rewritten our high-level
48 48 parallel computing machinery that in prior versions used the Twisted
49 49 networking framework. While this change will require users to update their
50 50 codes, the improvements in performance, memory control and internal
51 51 consistency across our codebase convinced us it was a price worth paying. We
52 52 have tried to explain how to best proceed with this update, and will be happy
53 53 to answer questions that may arise. A full tutorial describing these
54 54 features `was presented at SciPy'11`__, more details :ref:`below
55 55 <parallel_011>`.
56 56
57 57 .. __: http://minrk.github.com/scipy-tutorial-2011
58 58
59 59 * **New model for GUI/plotting support in the terminal**. Now instead of the
60 60 various `-Xthread` flags we had before, GUI support is provided without the
61 61 use of any threads, by directly integrating GUI event loops with Python's
62 62 `PyOS_InputHook` API. A new command-line flag `--gui` controls GUI support,
63 63 and it can also be enabled after IPython startup via the new `%gui` magic.
64 64 This requires some changes if you want to execute GUI-using scripts inside
65 65 IPython, see :ref:`the GUI support section <gui_support>` for more details.
66 66
67 67 * **A two-process architecture.** The Qt console is the first use of a new
68 68 model that splits IPython between a kernel process where code is executed and
69 69 a client that handles user interaction. We plan on also providing terminal
70 70 and web-browser based clients using this infrastructure in future releases.
71 71 This model allows multiple clients to interact with an IPython process
72 72 through a :ref:`well-documented messaging protocol <messaging>` using the
73 73 ZeroMQ networking library.
74 74
75 75 * **Refactoring.** the entire codebase has been refactored, in order to make it
76 76 more modular and easier to contribute to. IPython has traditionally been a
77 77 hard project to participate because the old codebase was very monolithic. We
78 78 hope this (ongoing) restructuring will make it easier for new developers to
79 79 join us.
80 80
81 81 * **Vim integration**. Vim can be configured to seamlessly control an IPython
82 82 kernel, see the files in :file:`docs/examples/vim` for the full details.
83 83 This work was done by Paul Ivanov, who prepared a nice `video
84 84 demonstration`__ of the features it provides.
85 85
86 86 .. __: http://pirsquared.org/blog/2011/07/28/vim-ipython/
87 87
88 88 * **Integration into Microsoft Visual Studio**. Thanks to the work of the
89 89 Microsoft `Python Tools for Visual Studio`__ team, this version of IPython
90 90 has been integrated into Microsoft Visual Studio's Python tools open source
91 91 plug-in. `Details below`_
92 92
93 93 .. __: http://pytools.codeplex.com
94 94 .. _details below: ms_visual_studio_011_
95 95
96 96 * **Improved unicode support**. We closed many bugs related to unicode input.
97 97
98 98 * **Python 3**. IPython now runs on Python 3.x. See :ref:`python3_011` for
99 99 details.
100 100
101 101 * **New profile model**. Profiles are now directories that contain all relevant
102 102 information for that session, and thus better isolate IPython use-cases.
103 103
104 104 * **SQLite storage for history**. All history is now stored in a SQLite
105 105 database, providing support for multiple simultaneous sessions that won't
106 106 clobber each other as well as the ability to perform queries on all stored
107 107 data.
108 108
109 109 * **New configuration system**. All parts of IPython are now configured via a
110 110 mechanism inspired by the Enthought Traits library. Any configurable element
111 111 can have its attributes set either via files that now use real Python syntax
112 112 or from the command-line.
113 113
114 114 * **Pasting of code with prompts**. IPython now intelligently strips out input
115 115 prompts , be they plain Python ones (``>>>`` and ``...``) or IPython ones
116 116 (``In [N]:`` and ``...:``). More details :ref:`here <pasting_with_prompts>`.
117 117
118 118
119 119 Authors and support
120 120 -------------------
121 121
122 122 Over 60 separate authors have contributed to this release, see :ref:`below
123 123 <credits_011>` for a full list. In particular, we want to highlight the
124 124 extremely active participation of two new core team members: Evan Patterson
125 125 implemented the Qt console, and Thomas Kluyver started with our Python 3 port
126 126 and by now has made major contributions to just about every area of IPython.
127 127
128 128 We are also grateful for the support we have received during this development
129 129 cycle from several institutions:
130 130
131 131 - `Enthought Inc`__ funded the development of our new Qt console, an effort that
132 132 required developing major pieces of underlying infrastructure, which now
133 133 power not only the Qt console but also our new parallel machinery. We'd like
134 134 to thank Eric Jones and Travis Oliphant for their support, as well as Ilan
135 135 Schnell for his tireless work integrating and testing IPython in the
136 136 `Enthought Python Distribution`_.
137 137
138 138 .. __: http://enthought.com
139 139 .. _Enthought Python Distribution: http://www.enthought.com/products/epd.php
140 140
141 141 - Nipy/NIH: funding via the `NiPy project`__ (NIH grant 5R01MH081909-02) helped
142 142 us jumpstart the development of this series by restructuring the entire
143 143 codebase two years ago in a way that would make modular development and
144 144 testing more approachable. Without this initial groundwork, all the new
145 145 features we have added would have been impossible to develop.
146 146
147 147 .. __: http://nipy.org
148 148
149 149 - Sage/NSF: funding via the grant `Sage: Unifying Mathematical Software for
150 150 Scientists, Engineers, and Mathematicians`__ (NSF grant DMS-1015114)
151 151 supported a meeting in spring 2011 of several of the core IPython developers
152 152 where major progress was made integrating the last key pieces leading to this
153 153 release.
154 154
155 155 .. __: http://modular.math.washington.edu/grants/compmath09
156 156
157 157 - Microsoft's team working on `Python Tools for Visual Studio`__ developed the
158 158 integraton of IPython into the Python plugin for Visual Studio 2010.
159 159
160 160 .. __: http://pytools.codeplex.com
161 161
162 162 - Google Summer of Code: in 2010, we had two students developing prototypes of
163 163 the new machinery that is now maturing in this release: `Omar Zapata`_ and
164 164 `Gerardo Gutiérrez`_.
165 165
166 166 .. _Omar Zapata: http://ipythonzmq.blogspot.com/2010/08/ipython-zmq-status.html
167 167 .. _Gerardo Gutiérrez: http://ipythonqt.blogspot.com/2010/04/ipython-qt-interface-gsoc-2010-proposal.html>
168 168
169 169
170 170 Development summary: moving to Git and Github
171 171 ---------------------------------------------
172 172
173 173 In April 2010, after `one breakage too many with bzr`__, we decided to move our
174 174 entire development process to Git and Github.com. This has proven to be one of
175 175 the best decisions in the project's history, as the combination of git and
176 176 github have made us far, far more productive than we could be with our previous
177 177 tools. We first converted our bzr repo to a git one without losing history,
178 178 and a few weeks later ported all open Launchpad bugs to github issues with
179 179 their comments mostly intact (modulo some formatting changes). This ensured a
180 180 smooth transition where no development history or submitted bugs were lost.
181 181 Feel free to use our little Launchpad to Github issues `porting script`_ if you
182 182 need to make a similar transition.
183 183
184 184 .. __: http://mail.scipy.org/pipermail/ipython-dev/2010-April/005944.html
185 185 .. _porting script: https://gist.github.com/835577
186 186
187 187 These simple statistics show how much work has been done on the new release, by
188 188 comparing the current code to the last point it had in common with the 0.10
189 189 series. A huge diff and ~2200 commits make up this cycle::
190 190
191 191 git diff $(git merge-base 0.10.2 HEAD) | wc -l
192 192 288019
193 193
194 194 git log $(git merge-base 0.10.2 HEAD)..HEAD --oneline | wc -l
195 195 2200
196 196
197 197 Since our move to github, 511 issues were closed, 226 of which were pull
198 198 requests and 285 regular issues (:ref:`a full list with links
199 199 <issues_list_011>` is available for those interested in the details). Github's
200 200 pull requests are a fantastic mechanism for reviewing code and building a
201 201 shared ownership of the project, and we are making enthusiastic use of it.
202 202
203 203 .. Note::
204 204
205 205 This undercounts the number of issues closed in this development cycle,
206 206 since we only moved to github for issue tracking in May 2010, but we have no
207 207 way of collecting statistics on the number of issues closed in the old
208 208 Launchpad bug tracker prior to that.
209 209
210 210
211 211 .. _qtconsole_011:
212 212
213 213 Qt Console
214 214 ----------
215 215
216 216 IPython now ships with a Qt application that feels very much like a terminal,
217 217 but is in fact a rich GUI that runs an IPython client but supports inline
218 218 figures, saving sessions to PDF and HTML, multiline editing with syntax
219 219 highlighting, graphical calltips and much more:
220 220
221 221 .. figure:: ../_images/qtconsole.png
222 222 :width: 400px
223 223 :alt: IPython Qt console with embedded plots
224 224 :align: center
225 225 :target: ../_images/qtconsole.png
226 226
227 227 The Qt console for IPython, using inline matplotlib plots.
228 228
229 229 We hope that many projects will embed this widget, which we've kept
230 230 deliberately very lightweight, into their own environments. In the future we
231 231 may also offer a slightly more featureful application (with menus and other GUI
232 232 elements), but we remain committed to always shipping this easy to embed
233 233 widget.
234 234
235 See the `Jupyter Qt Console site <http://jupyter.org/qtconsole>`_ for a detailed
235 See the `Jupyter Qt Console site <https://jupyter.org/qtconsole>`_ for a detailed
236 236 description of the console's features and use.
237 237
238 238
239 239 .. _parallel_011:
240 240
241 241 High-level parallel computing with ZeroMQ
242 242 -----------------------------------------
243 243
244 244 We have completely rewritten the Twisted-based code for high-level parallel
245 245 computing to work atop our new ZeroMQ architecture. While we realize this will
246 246 break compatibility for a number of users, we hope to make the transition as
247 247 easy as possible with our docs, and we are convinced the change is worth it.
248 248 ZeroMQ provides us with much tighter control over memory, higher performance,
249 249 and its communications are impervious to the Python Global Interpreter Lock
250 250 because they take place in a system-level C++ thread. The impact of the GIL in
251 251 our previous code was something we could simply not work around, given that
252 252 Twisted is itself a Python library. So while Twisted is a very capable
253 253 framework, we think ZeroMQ fits our needs much better and we hope you will find
254 254 the change to be a significant improvement in the long run.
255 255
256 256 Our manual contains a full description of how to use IPython for parallel
257 257 computing, and the `tutorial`__ presented by Min
258 258 Ragan-Kelley at the SciPy 2011 conference provides a hands-on complement to the
259 259 reference docs.
260 260
261 261 .. __: http://minrk.github.com/scipy-tutorial-2011
262 262
263 263
264 264 Refactoring
265 265 -----------
266 266
267 267 As of this release, a signifiant portion of IPython has been refactored. This
268 268 refactoring is founded on a number of new abstractions. The main new classes
269 269 that implement these abstractions are:
270 270
271 271 * :class:`traitlets.HasTraits`.
272 272 * :class:`traitlets.config.configurable.Configurable`.
273 273 * :class:`traitlets.config.application.Application`.
274 274 * :class:`traitlets.config.loader.ConfigLoader`.
275 275 * :class:`traitlets.config.loader.Config`
276 276
277 277 We are still in the process of writing developer focused documentation about
278 278 these classes, but for now our :ref:`configuration documentation
279 279 <config_overview>` contains a high level overview of the concepts that these
280 280 classes express.
281 281
282 282 The biggest user-visible change is likely the move to using the config system
283 283 to determine the command-line arguments for IPython applications. The benefit
284 284 of this is that *all* configurable values in IPython are exposed on the
285 285 command-line, but the syntax for specifying values has changed. The gist is
286 286 that assigning values is pure Python assignment. Simple flags exist for
287 287 commonly used options, these are always prefixed with '--'.
288 288
289 289 The IPython command-line help has the details of all the options (via
290 290 ``ipython --help``), but a simple example should clarify things; the ``pylab``
291 291 flag can be used to start in pylab mode with the qt4 backend::
292 292
293 293 ipython --pylab=qt
294 294
295 295 which is equivalent to using the fully qualified form::
296 296
297 297 ipython --TerminalIPythonApp.pylab=qt
298 298
299 299 The long-form options can be listed via ``ipython --help-all``.
300 300
301 301
302 302 ZeroMQ architecture
303 303 -------------------
304 304
305 305 There is a new GUI framework for IPython, based on a client-server model in
306 306 which multiple clients can communicate with one IPython kernel, using the
307 307 ZeroMQ messaging framework. There is already a Qt console client, which can
308 308 be started by calling ``ipython qtconsole``. The protocol is :ref:`documented
309 309 <messaging>`.
310 310
311 311 The parallel computing framework has also been rewritten using ZMQ. The
312 312 protocol is described :ref:`here <parallel_messages>`, and the code is in the
313 313 new :mod:`IPython.parallel` module.
314 314
315 315 .. _python3_011:
316 316
317 317 Python 3 support
318 318 ----------------
319 319
320 320 A Python 3 version of IPython has been prepared. For the time being, this is
321 321 maintained separately and updated from the main codebase. Its code can be found
322 322 `here <https://github.com/ipython/ipython-py3k>`_. The parallel computing
323 323 components are not perfect on Python3, but most functionality appears to be
324 324 working. As this work is evolving quickly, the best place to find updated
325 325 information about it is our `Python 3 wiki page`__.
326 326
327 327 .. __: http://wiki.ipython.org/index.php?title=Python_3
328 328
329 329
330 330 Unicode
331 331 -------
332 332
333 333 Entering non-ascii characters in unicode literals (``u"€ø"``) now works
334 334 properly on all platforms. However, entering these in byte/string literals
335 335 (``"€ø"``) will not work as expected on Windows (or any platform where the
336 336 terminal encoding is not UTF-8, as it typically is for Linux & Mac OS X). You
337 337 can use escape sequences (``"\xe9\x82"``) to get bytes above 128, or use
338 338 unicode literals and encode them. This is a limitation of Python 2 which we
339 339 cannot easily work around.
340 340
341 341 .. _ms_visual_studio_011:
342 342
343 343 Integration with Microsoft Visual Studio
344 344 ----------------------------------------
345 345
346 346 IPython can be used as the interactive shell in the `Python plugin for
347 347 Microsoft Visual Studio`__, as seen here:
348 348
349 349 .. figure:: ../_images/ms_visual_studio.png
350 350 :width: 500px
351 351 :alt: IPython console embedded in Microsoft Visual Studio.
352 352 :align: center
353 353 :target: ../_images/ms_visual_studio.png
354 354
355 355 IPython console embedded in Microsoft Visual Studio.
356 356
357 357 The Microsoft team developing this currently has a release candidate out using
358 358 IPython 0.11. We will continue to collaborate with them to ensure that as they
359 359 approach their final release date, the integration with IPython remains smooth.
360 360 We'd like to thank Dino Viehland and Shahrokh Mortazavi for the work they have
361 361 done towards this feature, as well as Wenming Ye for his support of our WinHPC
362 362 capabilities.
363 363
364 364 .. __: http://pytools.codeplex.com
365 365
366 366
367 367 Additional new features
368 368 -----------------------
369 369
370 370 * Added ``Bytes`` traitlet, removing ``Str``. All 'string' traitlets should
371 371 either be ``Unicode`` if a real string, or ``Bytes`` if a C-string. This
372 372 removes ambiguity and helps the Python 3 transition.
373 373
374 374 * New magic ``%loadpy`` loads a python file from disk or web URL into
375 375 the current input buffer.
376 376
377 377 * New magic ``%pastebin`` for sharing code via the 'Lodge it' pastebin.
378 378
379 379 * New magic ``%precision`` for controlling float and numpy pretty printing.
380 380
381 381 * IPython applications initiate logging, so any object can gain access to
382 382 a the logger of the currently running Application with:
383 383
384 384 .. sourcecode:: python
385 385
386 386 from traitlets.config.application import Application
387 387 logger = Application.instance().log
388 388
389 389 * You can now get help on an object halfway through typing a command. For
390 390 instance, typing ``a = zip?`` shows the details of :func:`zip`. It also
391 391 leaves the command at the next prompt so you can carry on with it.
392 392
393 393 * The input history is now written to an SQLite database. The API for
394 394 retrieving items from the history has also been redesigned.
395 395
396 396 * The :mod:`IPython.extensions.pretty` extension has been moved out of
397 397 quarantine and fully updated to the new extension API.
398 398
399 399 * New magics for loading/unloading/reloading extensions have been added:
400 400 ``%load_ext``, ``%unload_ext`` and ``%reload_ext``.
401 401
402 402 * The configuration system and configuration files are brand new. See the
403 403 configuration system :ref:`documentation <config_index>` for more details.
404 404
405 405 * The :class:`~IPython.core.interactiveshell.InteractiveShell` class is now a
406 406 :class:`~traitlets.config.configurable.Configurable` subclass and has traitlets
407 407 that determine the defaults and runtime environment. The ``__init__`` method
408 408 has also been refactored so this class can be instantiated and run without
409 409 the old :mod:`ipmaker` module.
410 410
411 411 * The methods of :class:`~IPython.core.interactiveshell.InteractiveShell` have
412 412 been organized into sections to make it easier to turn more sections
413 413 of functionality into components.
414 414
415 415 * The embedded shell has been refactored into a truly standalone subclass of
416 416 :class:`InteractiveShell` called :class:`InteractiveShellEmbed`. All
417 417 embedding logic has been taken out of the base class and put into the
418 418 embedded subclass.
419 419
420 420 * Added methods of :class:`~IPython.core.interactiveshell.InteractiveShell` to
421 421 help it cleanup after itself. The :meth:`cleanup` method controls this. We
422 422 couldn't do this in :meth:`__del__` because we have cycles in our object
423 423 graph that prevent it from being called.
424 424
425 425 * Created a new module :mod:`IPython.utils.importstring` for resolving
426 426 strings like ``foo.bar.Bar`` to the actual class.
427 427
428 428 * Completely refactored the :mod:`IPython.core.prefilter` module into
429 429 :class:`~traitlets.config.configurable.Configurable` subclasses. Added a new
430 430 layer into the prefilter system, called "transformations" that all new
431 431 prefilter logic should use (rather than the older "checker/handler"
432 432 approach).
433 433
434 434 * Aliases are now components (:mod:`IPython.core.alias`).
435 435
436 436 * New top level :func:`~IPython.frontend.terminal.embed.embed` function that can
437 437 be called to embed IPython at any place in user's code. On the first call it
438 438 will create an :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`
439 439 instance and call it. In later calls, it just calls the previously created
440 440 :class:`~IPython.frontend.terminal.embed.InteractiveShellEmbed`.
441 441
442 442 * Created a configuration system (:mod:`traitlets.config.configurable`) that is
443 443 based on :mod:`traitlets`. Configurables are arranged into a
444 444 runtime containment tree (not inheritance) that i) automatically propagates
445 445 configuration information and ii) allows singletons to discover each other in
446 446 a loosely coupled manner. In the future all parts of IPython will be
447 447 subclasses of :class:`~traitlets.config.configurable.Configurable`. All IPython
448 448 developers should become familiar with the config system.
449 449
450 450 * Created a new :class:`~traitlets.config.loader.Config` for holding
451 451 configuration information. This is a dict like class with a few extras: i)
452 452 it supports attribute style access, ii) it has a merge function that merges
453 453 two :class:`~traitlets.config.loader.Config` instances recursively and iii) it
454 454 will automatically create sub-:class:`~traitlets.config.loader.Config`
455 455 instances for attributes that start with an uppercase character.
456 456
457 457 * Created new configuration loaders in :mod:`traitlets.config.loader`. These
458 458 loaders provide a unified loading interface for all configuration
459 459 information including command line arguments and configuration files. We
460 460 have two default implementations based on :mod:`argparse` and plain python
461 461 files. These are used to implement the new configuration system.
462 462
463 463 * Created a top-level :class:`Application` class in
464 464 :mod:`IPython.core.application` that is designed to encapsulate the starting
465 465 of any basic Python program. An application loads and merges all the
466 466 configuration objects, constructs the main application, configures and
467 467 initiates logging, and creates and configures any :class:`Configurable`
468 468 instances and then starts the application running. An extended
469 469 :class:`BaseIPythonApplication` class adds logic for handling the
470 470 IPython directory as well as profiles, and all IPython entry points
471 471 extend it.
472 472
473 473 * The :class:`Type` and :class:`Instance` traitlets now handle classes given
474 474 as strings, like ``foo.bar.Bar``. This is needed for forward declarations.
475 475 But, this was implemented in a careful way so that string to class
476 476 resolution is done at a single point, when the parent
477 477 :class:`~traitlets.HasTraitlets` is instantiated.
478 478
479 479 * :mod:`IPython.utils.ipstruct` has been refactored to be a subclass of
480 480 dict. It also now has full docstrings and doctests.
481 481
482 482 * Created a Traits like implementation in :mod:`traitlets`. This
483 483 is a pure Python, lightweight version of a library that is similar to
484 484 Enthought's Traits project, but has no dependencies on Enthought's code. We
485 485 are using this for validation, defaults and notification in our new component
486 486 system. Although it is not 100% API compatible with Enthought's Traits, we
487 487 plan on moving in this direction so that eventually our implementation could
488 488 be replaced by a (yet to exist) pure Python version of Enthought Traits.
489 489
490 490 * Added a new module :mod:`IPython.lib.inputhook` to manage the integration
491 491 with GUI event loops using `PyOS_InputHook`. See the docstrings in this
492 492 module or the main IPython docs for details.
493 493
494 494 * For users, GUI event loop integration is now handled through the new
495 495 :command:`%gui` magic command. Type ``%gui?`` at an IPython prompt for
496 496 documentation.
497 497
498 498 * For developers :mod:`IPython.lib.inputhook` provides a simple interface
499 499 for managing the event loops in their interactive GUI applications.
500 500 Examples can be found in our :file:`examples/lib` directory.
501 501
502 502 Backwards incompatible changes
503 503 ------------------------------
504 504
505 505 * The Twisted-based :mod:`IPython.kernel` has been removed, and completely
506 506 rewritten as :mod:`IPython.parallel`, using ZeroMQ.
507 507
508 508 * Profiles are now directories. Instead of a profile being a single config file,
509 509 profiles are now self-contained directories. By default, profiles get their
510 510 own IPython history, log files, and everything. To create a new profile, do
511 511 ``ipython profile create <name>``.
512 512
513 513 * All IPython applications have been rewritten to use
514 514 :class:`~traitlets.config.loader.KeyValueConfigLoader`. This means that
515 515 command-line options have changed. Now, all configurable values are accessible
516 516 from the command-line with the same syntax as in a configuration file.
517 517
518 518 * The command line options ``-wthread``, ``-qthread`` and
519 519 ``-gthread`` have been removed. Use ``--gui=wx``, ``--gui=qt``, ``--gui=gtk``
520 520 instead.
521 521
522 522 * The extension loading functions have been renamed to
523 523 :func:`load_ipython_extension` and :func:`unload_ipython_extension`.
524 524
525 525 * :class:`~IPython.core.interactiveshell.InteractiveShell` no longer takes an
526 526 ``embedded`` argument. Instead just use the
527 527 :class:`~IPython.core.interactiveshell.InteractiveShellEmbed` class.
528 528
529 529 * ``__IPYTHON__`` is no longer injected into ``__builtin__``.
530 530
531 531 * :meth:`Struct.__init__` no longer takes `None` as its first argument. It
532 532 must be a :class:`dict` or :class:`Struct`.
533 533
534 534 * :meth:`~IPython.core.interactiveshell.InteractiveShell.ipmagic` has been
535 535 renamed :meth:`~IPython.core.interactiveshell.InteractiveShell.magic.`
536 536
537 537 * The functions :func:`ipmagic` and :func:`ipalias` have been removed from
538 538 :mod:`__builtins__`.
539 539
540 540 * The references to the global
541 541 :class:`~IPython.core.interactivehell.InteractiveShell` instance (``_ip``, and
542 542 ``__IP``) have been removed from the user's namespace. They are replaced by a
543 543 new function called :func:`get_ipython` that returns the current
544 544 :class:`~IPython.core.interactiveshell.InteractiveShell` instance. This
545 545 function is injected into the user's namespace and is now the main way of
546 546 accessing the running IPython.
547 547
548 548 * Old style configuration files :file:`ipythonrc` and :file:`ipy_user_conf.py`
549 549 are no longer supported. Users should migrate there configuration files to
550 550 the new format described :doc:`here </config/intro>` and
551 551 :ref:`here <config_overview>`.
552 552
553 553 * The old IPython extension API that relied on :func:`ipapi` has been
554 554 completely removed. The new extension API is described :ref:`here
555 555 <extensions_overview>`.
556 556
557 557 * Support for ``qt3`` has been dropped. Users who need this should use
558 558 previous versions of IPython.
559 559
560 560 * Removed :mod:`shellglobals` as it was obsolete.
561 561
562 562 * Removed all the threaded shells in :mod:`IPython.core.shell`. These are no
563 563 longer needed because of the new capabilities in
564 564 :mod:`IPython.lib.inputhook`.
565 565
566 566 * New top-level sub-packages have been created: :mod:`IPython.core`,
567 567 :mod:`IPython.lib`, :mod:`IPython.utils`, :mod:`IPython.deathrow`,
568 568 :mod:`IPython.quarantine`. All existing top-level modules have been
569 569 moved to appropriate sub-packages. All internal import statements
570 570 have been updated and tests have been added. The build system (setup.py
571 571 and friends) have been updated. See :doc:`/api/index` for details of these
572 572 new sub-packages.
573 573
574 574 * :mod:`IPython.ipapi` has been moved to :mod:`IPython.core.ipapi`.
575 575 :mod:`IPython.Shell` and :mod:`IPython.iplib` have been split and removed as
576 576 part of the refactor.
577 577
578 578 * :mod:`Extensions` has been moved to :mod:`extensions` and all existing
579 579 extensions have been moved to either :mod:`IPython.quarantine` or
580 580 :mod:`IPython.deathrow`. :mod:`IPython.quarantine` contains modules that we
581 581 plan on keeping but that need to be updated. :mod:`IPython.deathrow` contains
582 582 modules that are either dead or that should be maintained as third party
583 583 libraries.
584 584
585 585 * Previous IPython GUIs in :mod:`IPython.frontend` and :mod:`IPython.gui` are
586 586 likely broken, and have been removed to :mod:`IPython.deathrow` because of the
587 587 refactoring in the core. With proper updates, these should still work.
588 588
589 589
590 590 Known Regressions
591 591 -----------------
592 592
593 593 We do our best to improve IPython, but there are some known regressions in 0.11
594 594 relative to 0.10.2. First of all, there are features that have yet to be
595 595 ported to the new APIs, and in order to ensure that all of the installed code
596 596 runs for our users, we have moved them to two separate directories in the
597 597 source distribution, `quarantine` and `deathrow`. Finally, we have some other
598 598 miscellaneous regressions that we hope to fix as soon as possible. We now
599 599 describe all of these in more detail.
600 600
601 601 Quarantine
602 602 ~~~~~~~~~~
603 603
604 604 These are tools and extensions that we consider relatively easy to update to
605 605 the new classes and APIs, but that we simply haven't had time for. Any user
606 606 who is interested in one of these is encouraged to help us by porting it and
607 607 submitting a pull request on our `development site`_.
608 608
609 609 .. _development site: http://github.com/ipython/ipython
610 610
611 611 Currently, the quarantine directory contains::
612 612
613 613 clearcmd.py ipy_fsops.py ipy_signals.py
614 614 envpersist.py ipy_gnuglobal.py ipy_synchronize_with.py
615 615 ext_rescapture.py ipy_greedycompleter.py ipy_system_conf.py
616 616 InterpreterExec.py ipy_jot.py ipy_which.py
617 617 ipy_app_completers.py ipy_lookfor.py ipy_winpdb.py
618 618 ipy_autoreload.py ipy_profile_doctest.py ipy_workdir.py
619 619 ipy_completers.py ipy_pydb.py jobctrl.py
620 620 ipy_editors.py ipy_rehashdir.py ledit.py
621 621 ipy_exportdb.py ipy_render.py pspersistence.py
622 622 ipy_extutil.py ipy_server.py win32clip.py
623 623
624 624 Deathrow
625 625 ~~~~~~~~
626 626
627 627 These packages may be harder to update or make most sense as third-party
628 628 libraries. Some of them are completely obsolete and have been already replaced
629 629 by better functionality (we simply haven't had the time to carefully weed them
630 630 out so they are kept here for now). Others simply require fixes to code that
631 631 the current core team may not be familiar with. If a tool you were used to is
632 632 included here, we encourage you to contact the dev list and we can discuss
633 633 whether it makes sense to keep it in IPython (if it can be maintained).
634 634
635 635 Currently, the deathrow directory contains::
636 636
637 637 astyle.py ipy_defaults.py ipy_vimserver.py
638 638 dtutils.py ipy_kitcfg.py numeric_formats.py
639 639 Gnuplot2.py ipy_legacy.py numutils.py
640 640 GnuplotInteractive.py ipy_p4.py outputtrap.py
641 641 GnuplotRuntime.py ipy_profile_none.py PhysicalQInput.py
642 642 ibrowse.py ipy_profile_numpy.py PhysicalQInteractive.py
643 643 igrid.py ipy_profile_scipy.py quitter.py*
644 644 ipipe.py ipy_profile_sh.py scitedirector.py
645 645 iplib.py ipy_profile_zope.py Shell.py
646 646 ipy_constants.py ipy_traits_completer.py twshell.py
647 647
648 648
649 649 Other regressions
650 650 ~~~~~~~~~~~~~~~~~
651 651
652 652 * The machinery that adds functionality to the 'sh' profile for using IPython
653 653 as your system shell has not been updated to use the new APIs. As a result,
654 654 only the aesthetic (prompt) changes are still implemented. We intend to fix
655 655 this by 0.12. Tracked as issue 547_.
656 656
657 657 .. _547: https://github.com/ipython/ipython/issues/547
658 658
659 659 * The installation of scripts on Windows was broken without setuptools, so we
660 660 now depend on setuptools on Windows. We hope to fix setuptools-less
661 661 installation, and then remove the setuptools dependency. Issue 539_.
662 662
663 663 .. _539: https://github.com/ipython/ipython/issues/539
664 664
665 665 * The directory history `_dh` is not saved between sessions. Issue 634_.
666 666
667 667 .. _634: https://github.com/ipython/ipython/issues/634
668 668
669 669
670 670 Removed Features
671 671 ----------------
672 672
673 673 As part of the updating of IPython, we have removed a few features for the
674 674 purposes of cleaning up the codebase and interfaces. These removals are
675 675 permanent, but for any item listed below, equivalent functionality is
676 676 available.
677 677
678 678 * The magics Exit and Quit have been dropped as ways to exit IPython. Instead,
679 679 the lowercase forms of both work either as a bare name (``exit``) or a
680 680 function call (``exit()``). You can assign these to other names using
681 681 exec_lines in the config file.
682 682
683 683
684 684 .. _credits_011:
685 685
686 686 Credits
687 687 -------
688 688
689 689 Many users and developers contributed code, features, bug reports and ideas to
690 690 this release. Please do not hesitate in contacting us if we've failed to
691 691 acknowledge your contribution here. In particular, for this release we have
692 692 contribution from the following people, a mix of new and regular names (in
693 693 alphabetical order by first name):
694 694
695 695 * Aenugu Sai Kiran Reddy <saikrn08-at-gmail.com>
696 696 * andy wilson <wilson.andrew.j+github-at-gmail.com>
697 697 * Antonio Cuni <antocuni>
698 698 * Barry Wark <barrywark-at-gmail.com>
699 699 * Beetoju Anuradha <anu.beethoju-at-gmail.com>
700 700 * Benjamin Ragan-Kelley <minrk-at-Mercury.local>
701 701 * Brad Reisfeld
702 702 * Brian E. Granger <ellisonbg-at-gmail.com>
703 703 * Christoph Gohlke <cgohlke-at-uci.edu>
704 704 * Cody Precord
705 705 * dan.milstein
706 706 * Darren Dale <dsdale24-at-gmail.com>
707 707 * Dav Clark <davclark-at-berkeley.edu>
708 708 * David Warde-Farley <wardefar-at-iro.umontreal.ca>
709 709 * epatters <ejpatters-at-gmail.com>
710 710 * epatters <epatters-at-caltech.edu>
711 711 * epatters <epatters-at-enthought.com>
712 712 * Eric Firing <efiring-at-hawaii.edu>
713 713 * Erik Tollerud <erik.tollerud-at-gmail.com>
714 714 * Evan Patterson <epatters-at-enthought.com>
715 715 * Fernando Perez <Fernando.Perez-at-berkeley.edu>
716 716 * Gael Varoquaux <gael.varoquaux-at-normalesup.org>
717 717 * Gerardo <muzgash-at-Muzpelheim>
718 718 * Jason Grout <jason.grout-at-drake.edu>
719 719 * John Hunter <jdh2358-at-gmail.com>
720 720 * Jens Hedegaard Nielsen <jenshnielsen-at-gmail.com>
721 721 * Johann Cohen-Tanugi <johann.cohentanugi-at-gmail.com>
722 722 * Jörgen Stenarson <jorgen.stenarson-at-bostream.nu>
723 723 * Justin Riley <justin.t.riley-at-gmail.com>
724 724 * Kiorky
725 725 * Laurent Dufrechou <laurent.dufrechou-at-gmail.com>
726 726 * Luis Pedro Coelho <lpc-at-cmu.edu>
727 727 * Mani chandra <mchandra-at-iitk.ac.in>
728 728 * Mark E. Smith
729 729 * Mark Voorhies <mark.voorhies-at-ucsf.edu>
730 730 * Martin Spacek <git-at-mspacek.mm.st>
731 731 * Michael Droettboom <mdroe-at-stsci.edu>
732 732 * MinRK <benjaminrk-at-gmail.com>
733 733 * muzuiget <muzuiget-at-gmail.com>
734 734 * Nick Tarleton <nick-at-quixey.com>
735 735 * Nicolas Rougier <Nicolas.rougier-at-inria.fr>
736 736 * Omar Andres Zapata Mesa <andresete.chaos-at-gmail.com>
737 737 * Paul Ivanov <pivanov314-at-gmail.com>
738 738 * Pauli Virtanen <pauli.virtanen-at-iki.fi>
739 739 * Prabhu Ramachandran
740 740 * Ramana <sramana9-at-gmail.com>
741 741 * Robert Kern <robert.kern-at-gmail.com>
742 742 * Sathesh Chandra <satheshchandra88-at-gmail.com>
743 743 * Satrajit Ghosh <satra-at-mit.edu>
744 744 * Sebastian Busch
745 745 * Skipper Seabold <jsseabold-at-gmail.com>
746 746 * Stefan van der Walt <bzr-at-mentat.za.net>
747 747 * Stephan Peijnik <debian-at-sp.or.at>
748 748 * Steven Bethard
749 749 * Thomas Kluyver <takowl-at-gmail.com>
750 750 * Thomas Spura <tomspur-at-fedoraproject.org>
751 751 * Tom Fetherston <tfetherston-at-aol.com>
752 752 * Tom MacWright
753 753 * tzanko
754 754 * vankayala sowjanya <hai.sowjanya-at-gmail.com>
755 755 * Vivian De Smedt <vds2212-at-VIVIAN>
756 756 * Ville M. Vainio <vivainio-at-gmail.com>
757 757 * Vishal Vatsa <vishal.vatsa-at-gmail.com>
758 758 * Vishnu S G <sgvishnu777-at-gmail.com>
759 759 * Walter Doerwald <walter-at-livinglogic.de>
760 760
761 761 .. note::
762 762
763 763 This list was generated with the output of
764 764 ``git log dev-0.11 HEAD --format='* %aN <%aE>' | sed 's/@/\-at\-/' | sed 's/<>//' | sort -u``
765 765 after some cleanup. If you should be on this list, please add yourself.
1 NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
@@ -1,61 +1,62 b''
1 1 {
2 2 "cells": [
3 3 {
4 4 "cell_type": "markdown",
5 5 "metadata": {},
6 6 "source": [
7 7 "<img src=\"images/ipython_logo.png\">"
8 8 ]
9 9 },
10 10 {
11 11 "cell_type": "markdown",
12 12 "metadata": {},
13 13 "source": [
14 14 "# IPython Documentation"
15 15 ]
16 16 },
17 17 {
18 18 "cell_type": "markdown",
19 19 "metadata": {},
20 20 "source": [
21 "This directory contains IPython's notebook-based documentation. This augments our [Sphinx-based documentation](http://ipython.org/ipython-doc/stable/index.html) with notebooks that contain interactive tutorials and examples. Over time, more of our documentation will be pulled into this format."
21 "This directory contains IPython's notebook-based documentation. This
22 augments our [Sphinx-based documentation](https://ipython.org/ipython-doc/stable/index.html) with notebooks that contain interactive tutorials and examples. Over time, more of our documentation will be pulled into this format."
22 23 ]
23 24 },
24 25 {
25 26 "cell_type": "markdown",
26 27 "metadata": {},
27 28 "source": [
28 29 "## Topics"
29 30 ]
30 31 },
31 32 {
32 33 "cell_type": "markdown",
33 34 "metadata": {},
34 35 "source": [
35 36 "* [IPython Kernel](IPython Kernel/Index.ipynb): IPython's core syntax and command line features available in all frontends\n",
36 37 "* [Embedding](Embedding/Index.ipynb): Embedding and reusing IPython's components into other applications\n"
37 38 ]
38 39 }
39 40 ],
40 41 "metadata": {
41 42 "kernelspec": {
42 43 "display_name": "Python 3",
43 44 "language": "python",
44 45 "name": "python3"
45 46 },
46 47 "language_info": {
47 48 "codemirror_mode": {
48 49 "name": "ipython",
49 50 "version": 3
50 51 },
51 52 "file_extension": ".py",
52 53 "mimetype": "text/x-python",
53 54 "name": "python",
54 55 "nbconvert_exporter": "python",
55 56 "pygments_lexer": "ipython3",
56 57 "version": "3.4.3"
57 58 }
58 59 },
59 60 "nbformat": 4,
60 61 "nbformat_minor": 0
61 62 }
@@ -1,307 +1,307 b''
1 1 {
2 2 "cells": [
3 3 {
4 4 "cell_type": "markdown",
5 5 "metadata": {},
6 6 "source": [
7 7 "# Test notebook for overflowing content"
8 8 ]
9 9 },
10 10 {
11 11 "cell_type": "markdown",
12 12 "metadata": {},
13 13 "source": [
14 14 "markdown image:\n",
15 15 "\n",
16 16 "<img src=\"http://placehold.it/800x200.png\">\n",
17 17 "\n",
18 18 "unconfined markdown image:\n",
19 19 "\n",
20 20 "<img src=\"http://placehold.it/800x200.png\" class=\"unconfined\">"
21 21 ]
22 22 },
23 23 {
24 24 "cell_type": "code",
25 25 "execution_count": 1,
26 26 "metadata": {
27 27 "collapsed": true
28 28 },
29 29 "outputs": [],
30 30 "source": [
31 31 "from IPython.display import Image, IFrame"
32 32 ]
33 33 },
34 34 {
35 35 "cell_type": "markdown",
36 36 "metadata": {},
37 37 "source": [
38 38 "Overflow image in HTML (non-embedded)"
39 39 ]
40 40 },
41 41 {
42 42 "cell_type": "code",
43 43 "execution_count": 2,
44 44 "metadata": {
45 45 "collapsed": false
46 46 },
47 47 "outputs": [
48 48 {
49 49 "data": {
50 50 "text/html": [
51 51 "<img src=\"http://placehold.it/800x200.png\" />"
52 52 ],
53 53 "text/plain": [
54 54 "<IPython.core.display.Image object>"
55 55 ]
56 56 },
57 57 "execution_count": 2,
58 58 "metadata": {},
59 59 "output_type": "execute_result"
60 60 }
61 61 ],
62 62 "source": [
63 63 "Image(url=\"http://placehold.it/800x200.png\", embed=False)"
64 64 ]
65 65 },
66 66 {
67 67 "cell_type": "markdown",
68 68 "metadata": {},
69 69 "source": [
70 70 "Overflow image:"
71 71 ]
72 72 },
73 73 {
74 74 "cell_type": "code",
75 75 "execution_count": 3,
76 76 "metadata": {
77 77 "collapsed": false
78 78 },
79 79 "outputs": [
80 80 {
81 81 "data": {
82 82 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADIBAMAAADioZgpAAAAG1BMVEXMzMyWlpbFxcWxsbGjo6Oc\nnJyqqqq3t7e+vr4PApRfAAAFsUlEQVR4nO3cz28aRxTAcYwhcOzYxskRpLbKka0qtUeTquq1G6Xq\n1VSKejX9EeVo+kPyn13mzXuzs2uKZwxSK+33c4iZhX2K3szOr10YDAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5p+GX9w89JefLevfsi/cCHevbNPDvch2/du19O\nF65/hmu382MsT2pf/qn5wO++fD3PDCefTk4/MlwPbSWD7sbK61C+t/KLUH6VF+3T8OlZPP24cD00\nCQlyV/NQ1oQ1GdOMNik9ZFjrp18OThGuj/QCiZdIpcXZPJTP7f23OdHG9mlL+HHh+siatLuU4jBm\n9Ca8v7DyVU60dTz94hThekha7Ne/+X+lPPK5+lg1ncxq9/K7PzM7manU7IOvlusThOujcciVz9PS\nl7fSmKexCeurrUuG/cPRdp2T1Mv8+HB9tAk14XuS7315FVJZWRMehd7n3GVNjLY6OPiod8eH66N1\nyNi59vpDHUzOdn9v/fsLvXRiJ3TQSkfvsZ5+ZLg+WoXOxHclfqY60Yrxs9VP/Psb7XzWNsgctNaG\n/0IvuCPD9VEdmupQK2SknfvU+hStMOmM7p+MNl2FC8Eq5MhwfWTz3aRvWe453rxx2PT93P+xK+LY\ncD1knblmapGMxr4p25UT23qekV4hJwrXJ3V7DLE+3nfys0EzCMROKI9N2k4Urk90dLVZVmWDbdUc\nl9E4vghWWnT7W/paZ1W54RBtQ6cy1sRqS45tO7bk2LYDF64o2Zl8nFjZMLkrCIdoFJZytnKzWZBN\ng2JfH+dJgQsr7tH+CpEtxkFBOEQ+M7P7z51mLmZQh+OYwTgcBz7juya/2F8hcS8rNxwalVOyH17b\nCnrRdGW3vryvQu6kJ3pcIdKRXZSEQ8NuUIQbFq0MLjsZvGzOqsNo7sf2x7MluW6WJeGQ+DtUyK0U\nrK+xldtZ+k6Swdd+B/1C0vow7wSUu4azonBIhKcS3BspxDwlGVy231G7rF9O9l0fYaR/VRgOxm56\nh62l/Azu5k1XI53dtlUuHqZCysWbrtKm8zPoK2O7706sDOm6t06FFJP0yS1c6fXzM+jny/W+xcQi\nTtmokGdYuLgwbN04enoUXidzgVQd+z8G9WeoXFxC+5VDwTw1PD8y7waUMcmWGEx7i7nmBpVPUJ2/\nknuRjBWJTXrdFISDmLjmVt5sULTXITuIjzYI5Wgc6dk6KRW3Xzeh+ynZDbRxp2WUDOlsLpazbXfb\nhi/ZL6/dnmXhJhnS2X4v130+x7d6eUNfHLijNElH76hujdYF4SDiwkBfbFz2PVe56THrxJOtyptY\nLAgHEac9WiEL63CSpxKkr3/8VEIl097OIOLPtwfdB0XhIGKF6DQo/7kdfa69MxBU7cGax4BK2fM6\n3WnQ00+2+U5n012IDNNFyIAH5crZ0ybpqNt69rNy//Ls50J3e+fdcEmPVRAOgT2PZc9n2Yq91ZUt\nB8ma2+za+suJ62xmjTsTr/xwUHUz/ZHOfRWaeOWS7w+83fP9gam0+bpzdNMdq3PDwVSh7S6s69o6\n+4ZNmNEm37BpTVNHcl7VuSGy6g4NueFgfE1cD6a19SnNd9C06/E5Dt9BS+4NDh82knp/9sc/msM+\n8Q9BOJoXDg1ZyV3VcTCeOnMTPrC1cnopjPWA7Fw1i8OJSwzywyGxsgxpE660ePB7zGd6wqRJvRfv\nzzdHs8Ih8ZllSNdpWd/0lwqxh62bCmm+pR6P8sMBpey3F+KO4LqTsH2/hSEVcmsfbh9uVwg/rVFM\nf50kjrHh12LeNB+QB7fslzeCM8vx9qkrJCscWv7yXXzyA0oZv6ckk6fWi3BmUh9xqOfnmYq9/vWr\n+//6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/+AfmZU6iN1i\nLzkAAAAASUVORK5CYII=\n",
83 83 "text/plain": [
84 84 "<IPython.core.display.Image object>"
85 85 ]
86 86 },
87 87 "execution_count": 3,
88 88 "metadata": {},
89 89 "output_type": "execute_result"
90 90 }
91 91 ],
92 92 "source": [
93 93 "Image(url=\"http://placehold.it/800x200.png\", embed=True)"
94 94 ]
95 95 },
96 96 {
97 97 "cell_type": "markdown",
98 98 "metadata": {},
99 99 "source": [
100 100 "Overflow, unconfined"
101 101 ]
102 102 },
103 103 {
104 104 "cell_type": "code",
105 105 "execution_count": 4,
106 106 "metadata": {
107 107 "collapsed": false
108 108 },
109 109 "outputs": [
110 110 {
111 111 "data": {
112 112 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAADIBAMAAADioZgpAAAAG1BMVEXMzMyWlpbFxcWxsbGjo6Oc\nnJyqqqq3t7e+vr4PApRfAAAFsUlEQVR4nO3cz28aRxTAcYwhcOzYxskRpLbKka0qtUeTquq1G6Xq\n1VSKejX9EeVo+kPyn13mzXuzs2uKZwxSK+33c4iZhX2K3szOr10YDAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5p+GX9w89JefLevfsi/cCHevbNPDvch2/du19O\nF65/hmu382MsT2pf/qn5wO++fD3PDCefTk4/MlwPbSWD7sbK61C+t/KLUH6VF+3T8OlZPP24cD00\nCQlyV/NQ1oQ1GdOMNik9ZFjrp18OThGuj/QCiZdIpcXZPJTP7f23OdHG9mlL+HHh+siatLuU4jBm\n9Ca8v7DyVU60dTz94hThekha7Ne/+X+lPPK5+lg1ncxq9/K7PzM7manU7IOvlusThOujcciVz9PS\nl7fSmKexCeurrUuG/cPRdp2T1Mv8+HB9tAk14XuS7315FVJZWRMehd7n3GVNjLY6OPiod8eH66N1\nyNi59vpDHUzOdn9v/fsLvXRiJ3TQSkfvsZ5+ZLg+WoXOxHclfqY60Yrxs9VP/Psb7XzWNsgctNaG\n/0IvuCPD9VEdmupQK2SknfvU+hStMOmM7p+MNl2FC8Eq5MhwfWTz3aRvWe453rxx2PT93P+xK+LY\ncD1knblmapGMxr4p25UT23qekV4hJwrXJ3V7DLE+3nfys0EzCMROKI9N2k4Urk90dLVZVmWDbdUc\nl9E4vghWWnT7W/paZ1W54RBtQ6cy1sRqS45tO7bk2LYDF64o2Zl8nFjZMLkrCIdoFJZytnKzWZBN\ng2JfH+dJgQsr7tH+CpEtxkFBOEQ+M7P7z51mLmZQh+OYwTgcBz7juya/2F8hcS8rNxwalVOyH17b\nCnrRdGW3vryvQu6kJ3pcIdKRXZSEQ8NuUIQbFq0MLjsZvGzOqsNo7sf2x7MluW6WJeGQ+DtUyK0U\nrK+xldtZ+k6Swdd+B/1C0vow7wSUu4azonBIhKcS3BspxDwlGVy231G7rF9O9l0fYaR/VRgOxm56\nh62l/Azu5k1XI53dtlUuHqZCysWbrtKm8zPoK2O7706sDOm6t06FFJP0yS1c6fXzM+jny/W+xcQi\nTtmokGdYuLgwbN04enoUXidzgVQd+z8G9WeoXFxC+5VDwTw1PD8y7waUMcmWGEx7i7nmBpVPUJ2/\nknuRjBWJTXrdFISDmLjmVt5sULTXITuIjzYI5Wgc6dk6KRW3Xzeh+ynZDbRxp2WUDOlsLpazbXfb\nhi/ZL6/dnmXhJhnS2X4v130+x7d6eUNfHLijNElH76hujdYF4SDiwkBfbFz2PVe56THrxJOtyptY\nLAgHEac9WiEL63CSpxKkr3/8VEIl097OIOLPtwfdB0XhIGKF6DQo/7kdfa69MxBU7cGax4BK2fM6\n3WnQ00+2+U5n012IDNNFyIAH5crZ0ybpqNt69rNy//Ls50J3e+fdcEmPVRAOgT2PZc9n2Yq91ZUt\nB8ma2+za+suJ62xmjTsTr/xwUHUz/ZHOfRWaeOWS7w+83fP9gam0+bpzdNMdq3PDwVSh7S6s69o6\n+4ZNmNEm37BpTVNHcl7VuSGy6g4NueFgfE1cD6a19SnNd9C06/E5Dt9BS+4NDh82knp/9sc/msM+\n8Q9BOJoXDg1ZyV3VcTCeOnMTPrC1cnopjPWA7Fw1i8OJSwzywyGxsgxpE660ePB7zGd6wqRJvRfv\nzzdHs8Ih8ZllSNdpWd/0lwqxh62bCmm+pR6P8sMBpey3F+KO4LqTsH2/hSEVcmsfbh9uVwg/rVFM\nf50kjrHh12LeNB+QB7fslzeCM8vx9qkrJCscWv7yXXzyA0oZv6ckk6fWi3BmUh9xqOfnmYq9/vWr\n+//6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/+AfmZU6iN1i\nLzkAAAAASUVORK5CYII=\n",
113 113 "text/plain": [
114 114 "<IPython.core.display.Image object>"
115 115 ]
116 116 },
117 117 "execution_count": 4,
118 118 "metadata": {
119 119 "image/png": {
120 120 "unconfined": true
121 121 }
122 122 },
123 123 "output_type": "execute_result"
124 124 }
125 125 ],
126 126 "source": [
127 127 "Image(url=\"http://placehold.it/800x200.png\", embed=True, unconfined=True)"
128 128 ]
129 129 },
130 130 {
131 131 "cell_type": "markdown",
132 132 "metadata": {},
133 133 "source": [
134 134 "Overflow with explicit height, width (retina):"
135 135 ]
136 136 },
137 137 {
138 138 "cell_type": "code",
139 139 "execution_count": 5,
140 140 "metadata": {
141 141 "collapsed": false
142 142 },
143 143 "outputs": [
144 144 {
145 145 "data": {
146 146 "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg\nSlBFRyB2NjIpLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMP\nFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEc\nITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA\nyAcIAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC\nBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn\nKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY\nmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5\n+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB\nAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD\nREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip\nqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR\nAD8A9MooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA\nCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKjmnit03yuEX3oAkoqC3vILrd5L7tuM8EYz9anoAKKZJKkMZeRgqjqTVA65aBsASEeo\nXigDSoqK3uYbpN8Lhh39RUtABRTJZo4IzJK4VR3NZ/8AblpuxiXHrt4/nQBp0VHBcRXEe+Jwy+3a\npKACimu6xoXdgqjkk1ntrlorYHmMPULx+tAGlRUNvdw3SloXDY6juKmoAKKKKACiiigAooooAKKK\nKACiqtzqFtaHbI+X/uryagj1u0dsHzE92Xj9KANGikVldQykFTyCKWgAoqvc3kFoAZXwT0Uck1Vj\n1u0dsHzE92Xj9KANKikVldQykFTyCO9LQAUVFcXMNqm+Zwo7epqkuuWhbBEgHqV4/nQBpUUyOVJo\nw8bBlPQin0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\nFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR\nQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA\nBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF\nFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBnahqqWhMSLulx3\n6CufnnmuXMsrFucZ7D2rqLiwt7qVJJVJK8cHr9az9dRY7aBUUKoY4AGB0oAb4e/5ef8AgP8AWtus\nTw9/y8/8B/rW3QBzWsXTTXhiB+SPgD37mprfRPOsxI0hWRhlRjj2zVLUomi1CYN/ExYfQ810VpdR\nPYJKXUKqgNk9CKAObtZ5LK7D8jacOvqO4rrgQQCOhrjnzc3bFF5kckD6mutY+TbE9difyFAHOard\nm5u2UH93Gdqj37mrKaEzWgcyETEZC44+lZtqnm3kKn+Jxn867CgDlNPums7tSSQhO1x7V1dclqKe\nXqE6jj5s/nzXT2j+ZZwuTklBn64oAxNbuzJcfZ1PyJ973NLZ6N9otRLJIUZhlQB296zp2Mt1I3dn\nJ/WuwRQiKg6KMCgDkopJbC9z0ZGww9R3FdYjiRFdTlWAIPtXN60mzUWP95Qf6f0rZ0l9+mw5PIyP\nyNAF2iimTSeTBJJjOxS2PXAoAfRWJ/wkP/Tr/wCRP/rVqTXSRWZueq7dwHrnpQBPRWJ/wkP/AE6/\n+RP/AK1bdABVXULk2lm8i/e6L9atUjKGUqwBB6g0Acna2st/cFQfd3POKuX+ji2tzNFIWC/eDD9a\n3IbeG3DCKMIGOTiqWtXKxWZhzl5OAPQetAFLQ7plmNsxyjAlR6GtyWRYYXkbooJNc7osZfUVYdEU\nk/lj+tautPs05h/eYD+v9KAMEmXUL3k5eRvy/wD1VdvtH+y23nRyF9v3gR+opuhJuvmY/wAKEj9K\n37hPMt5U/vKR+lAGNod2RIbVj8rcp7HvW6SACT0FchZP5d9A2f4xn6V02oP5enzsP7hH58UAc5d3\nD314WGTk7UX27Vdn0QxWhkWQtIoyy44PriqulJv1KEHoCT+QrqetAHN6PdmC6ETH93Jxj0Paukrj\nXBguWA4KPx+BrsQQQCOhoAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK\nKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo\nAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKx9\nf/1EP+8f5VsVj6//AKiH/eP8qAGeHv8Al5/4D/WtusTw9/y8/wDAf61t0AYmuXEBIh2Bphzuz932\nrKS0uJITKkLlB3Apru1xclmPzO3P4muwRFjjVFGFUYAoA5vSLiCG6AlQbm4V8/drfvP+PG4/65t/\nKua1GJYdQmRRgZyB9Rn+tdDEzXGkgnlniIPucYoA57Tv+QjB/v11lcjYttvoD/00H8666gDltX/5\nCk3/AAH/ANBFb+m/8g6D/drntTbdqU5/2sfkMV0diuywgH+wD+lAHKRczpn+8P512dca4MVwwPVW\n/ka7IHIyKAOd17/j+T/rmP5mtHRf+Qcv+8azNcbdqGP7qAf1/rWro67dNjPqSf1oAv010WSNkYZV\ngQR7U6igDndW05LXZJCCIzwRnODUEl6X0uK2ycqxz9O38/0rf1ExDT5vN+7t4Hv2/WuUGMjPTvig\nDY0vS454DNcKSGPyDOOPWt2o4DGbeMxf6vaNv0qSgAooooAhurlLWBpZOg6D1PpXKzzSXdwZH5dj\ngAfyFWNUvTd3JCn90nC+/vV/RtP2qLqUfMfuA9h60AXNNshZ2+G5kflj/SoNe/48U/66D+RrUrN1\ntd2n5/uuD/T+tAFLQP8Aj4m/3B/Ot/rXPaC2LyRfWP8AqK35W2ROx7KTQBx0P+vj/wB4fzrptX/5\nBc3/AAH/ANCFc5arvu4V9XUfrXS6mu7TZwP7ufyOaAMTRf8AkIr/ALprpq5fR226nF7gj9K6igDk\nLzi+uP8Aro3866yH/UR/7o/lXIznzLqVh/E5I/OuwRdqKvoMUALRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\nUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF\nFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU\nAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA\nUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR\nRRQAUUUUAFFFFABRRRQAUUUUANeRIkLyMFUdSTxWLrVzDPDEIpUchjnac1qX1u11ZyQoQGbGCenU\nGsX+wbr/AJ6Q/mf8KAH6JcQwef5sipnbjccZ61vKwZQykFSMgjvXPf2Ddf8APSH8z/hW9bxmK2ij\nYglECnHsKAOVvIWtrySPphsqfbtXRQ6nbSWwlaVVIHzKTyD9KL/T475Bk7ZF+62P0rHOh3YbAMZH\nruoAqXErXd48iqcyN8o/lXV28Xk28cX91QKo6fpK2jebIweXtjotaVAHJXkDWl66DgA5U+3at1NX\ntjaeazjeBzH3zU17YRXsYD/K4+647Vk/2Bcbv9bFt9ec0AUIo3vbwL1aRsk+nqa64AKAAMAcCqlj\np0dipIO+Q9WI/lVygDmNXtzBfO2Plk+Yf1rUstUtzZL50gV0GCD1OPSrl1aR3kJjkHuCOoNYzaBO\nG+SaMr6nINAFCeR729Z1UlpG+UfoK6uCIQQRxDoigVTsNKjs28xm8yXscYA+laFABTXdI0LuwVR1\nJNOqvfW7XVnJChAZsYJ6dQaAMTWL1biVYomDRpzkdzSTafs0iO4x+8zub6Hp/T86kj0GfzF8ySLZ\nn5sE5x+VbskSywtER8rLtoAxdGv0iRoJnCqPmUsfzFbisGUMpBBGQR3rnv7Buv8AnpD+Z/wregjM\nVvFGSCUQKSPYUASVR1a4+z2LbThn+Uf1q9WfqlhLfLEI3UbCchu+aAMKxjikulE7qkY5O44z7V0n\n2+0H/LxF/wB9Vjf2Ddf89IfzP+FH9g3X/PSH8z/hQBuxXMEzFYpUdgM4U5pLuD7TaSRd2HH17VQ0\nzTJrK5aSRoyChX5SfUe3tWrQByVnObO9WRgflOGHt3rY1LU4DZtHDIHeQY47Dvmn3+kpduZY28uQ\n9eODVJNAmLfvJowv+zkmgCLRbcy3vmEfLGM/j2ropEEkbI3RgQajtraO1hEUY4HUnqT61NQByHz2\nV6Mj54n/ADreuNWt1sy8UgMjD5V7g+9Pv9MjvcNnZKON2Ov1rNXQJ93zSxhfUZJoAqabbm4vo1x8\nqnc30FdXVazso7KLYnLH7zHqas0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF\nABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU\nUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q==\n",
147 147 "text/plain": [
148 148 "<IPython.core.display.Image object>"
149 149 ]
150 150 },
151 151 "execution_count": 5,
152 152 "metadata": {
153 153 "image/jpeg": {
154 154 "height": 100,
155 155 "width": 900
156 156 }
157 157 },
158 158 "output_type": "execute_result"
159 159 }
160 160 ],
161 161 "source": [
162 162 "Image(url=\"http://placehold.it/1800x200.jpg\", embed=True, retina=True)"
163 163 ]
164 164 },
165 165 {
166 166 "cell_type": "markdown",
167 167 "metadata": {},
168 168 "source": [
169 169 "Overflowing IFrame:"
170 170 ]
171 171 },
172 172 {
173 173 "cell_type": "code",
174 174 "execution_count": null,
175 175 "metadata": {
176 176 "collapsed": false
177 177 },
178 178 "outputs": [
179 179 {
180 180 "data": {
181 181 "text/html": [
182 182 "\n",
183 183 " <iframe\n",
184 184 " width=\"900\"\n",
185 185 " height=\"400\"\n",
186 " src=\"http://ipython.org\"\n",
186 " src=\"https://ipython.org\"\n",
187 187 " frameborder=\"0\"\n",
188 188 " allowfullscreen\n",
189 189 " ></iframe>\n",
190 190 " "
191 191 ],
192 192 "text/plain": [
193 193 "<IPython.lib.display.IFrame at 0x105239dd8>"
194 194 ]
195 195 },
196 196 "execution_count": 6,
197 197 "metadata": {},
198 198 "output_type": "execute_result"
199 199 }
200 200 ],
201 201 "source": [
202 "IFrame(src=\"http://ipython.org\", width=900, height=400)"
202 "IFrame(src=\"https://ipython.org\", width=900, height=400)"
203 203 ]
204 204 },
205 205 {
206 206 "cell_type": "markdown",
207 207 "metadata": {},
208 208 "source": [
209 209 "Overflowing table:"
210 210 ]
211 211 },
212 212 {
213 213 "cell_type": "code",
214 214 "execution_count": null,
215 215 "metadata": {
216 216 "collapsed": false
217 217 },
218 218 "outputs": [
219 219 {
220 220 "data": {
221 221 "text/html": [
222 222 "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
223 223 "<table border=\"1\" class=\"dataframe\">\n",
224 224 " <thead>\n",
225 225 " <tr style=\"text-align: right;\">\n",
226 226 " <th></th>\n",
227 227 " <th>0</th>\n",
228 228 " <th>1</th>\n",
229 229 " <th>2</th>\n",
230 230 " <th>3</th>\n",
231 231 " <th>4</th>\n",
232 232 " <th>5</th>\n",
233 233 " <th>6</th>\n",
234 234 " <th>7</th>\n",
235 235 " <th>8</th>\n",
236 236 " <th>9</th>\n",
237 237 " <th>10</th>\n",
238 238 " <th>11</th>\n",
239 239 " <th>12</th>\n",
240 240 " <th>13</th>\n",
241 241 " <th>14</th>\n",
242 242 " </tr>\n",
243 243 " </thead>\n",
244 244 " <tbody>\n",
245 245 " <tr>\n",
246 246 " <th>0</th>\n",
247 247 " <td> column</td>\n",
248 248 " <td> column</td>\n",
249 249 " <td> column</td>\n",
250 250 " <td> column</td>\n",
251 251 " <td> column</td>\n",
252 252 " <td> column</td>\n",
253 253 " <td> column</td>\n",
254 254 " <td> column</td>\n",
255 255 " <td> column</td>\n",
256 256 " <td> column</td>\n",
257 257 " <td> column</td>\n",
258 258 " <td> column</td>\n",
259 259 " <td> column</td>\n",
260 260 " <td> column</td>\n",
261 261 " <td> column</td>\n",
262 262 " </tr>\n",
263 263 " </tbody>\n",
264 264 "</table>\n",
265 265 "</div>"
266 266 ],
267 267 "text/plain": [
268 268 " 0 1 2 3 4 5 6 7 8 \\\n",
269 269 "0 column column column column column column column column column \n",
270 270 "\n",
271 271 " 9 10 11 12 13 14 \n",
272 272 "0 column column column column column column "
273 273 ]
274 274 },
275 275 "execution_count": 7,
276 276 "metadata": {},
277 277 "output_type": "execute_result"
278 278 }
279 279 ],
280 280 "source": [
281 281 "import pandas as pd\n",
282 282 "pd.DataFrame([['column'] * 15])"
283 283 ]
284 284 }
285 285 ],
286 286 "metadata": {
287 287 "kernelspec": {
288 288 "display_name": "Python 3",
289 289 "language": "python",
290 290 "name": "python3"
291 291 },
292 292 "language_info": {
293 293 "codemirror_mode": {
294 294 "name": "ipython",
295 295 "version": 3
296 296 },
297 297 "file_extension": ".py",
298 298 "mimetype": "text/x-python",
299 299 "name": "python",
300 300 "nbconvert_exporter": "python",
301 301 "pygments_lexer": "ipython3",
302 302 "version": "3.4.3"
303 303 }
304 304 },
305 305 "nbformat": 4,
306 306 "nbformat_minor": 0
307 307 }
1 NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now