##// END OF EJS Templates
Misc. typo fixes (followup to #10935)...
Unknown -
Show More

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

@@ -1,1883 +1,1883 b''
1 .. _issues_list_100:
1 .. _issues_list_100:
2
2
3 Issues closed in the 1.0 development cycle
3 Issues closed in the 1.0 development cycle
4 ==========================================
4 ==========================================
5
5
6
6
7 Issues closed in 1.2
7 Issues closed in 1.2
8 --------------------
8 --------------------
9
9
10 GitHub stats for 2013/09/09 - 2014/02/21
10 GitHub stats for 2013/09/09 - 2014/02/21
11
11
12 These lists are automatically generated, and may be incomplete or contain duplicates.
12 These lists are automatically generated, and may be incomplete or contain duplicates.
13
13
14 The following 13 authors contributed 84 commits.
14 The following 13 authors contributed 84 commits.
15
15
16 * Benjamin Ragan-Kelley
16 * Benjamin Ragan-Kelley
17 * Daryl Herzmann
17 * Daryl Herzmann
18 * Doug Blank
18 * Doug Blank
19 * Fernando Perez
19 * Fernando Perez
20 * James Porter
20 * James Porter
21 * Juergen Hasch
21 * Juergen Hasch
22 * Julian Taylor
22 * Julian Taylor
23 * Kyle Kelley
23 * Kyle Kelley
24 * Lawrence Fu
24 * Lawrence Fu
25 * Matthias Bussonnier
25 * Matthias Bussonnier
26 * Paul Ivanov
26 * Paul Ivanov
27 * Pascal Schetelat
27 * Pascal Schetelat
28 * Puneeth Chaganti
28 * Puneeth Chaganti
29 * Takeshi Kanmae
29 * Takeshi Kanmae
30 * Thomas Kluyver
30 * Thomas Kluyver
31
31
32 We closed a total of 55 issues, 38 pull requests and 17 regular issues;
32 We closed a total of 55 issues, 38 pull requests and 17 regular issues;
33 this is the full list (generated with the script :file:`tools/github_stats.py`):
33 this is the full list (generated with the script :file:`tools/github_stats.py`):
34
34
35 Pull Requests (38):
35 Pull Requests (38):
36
36
37 1.2.1:
37 1.2.1:
38
38
39 * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError
39 * :ghpull:`4372`: Don't assume that SyntaxTB is always called with a SyntaxError
40 * :ghpull:`5166`: remove mktemp usage
40 * :ghpull:`5166`: remove mktemp usage
41 * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory.
41 * :ghpull:`5163`: Simplify implementation of TemporaryWorkingDirectory.
42 * :ghpull:`5105`: add index to format to support py2.6
42 * :ghpull:`5105`: add index to format to support py2.6
43
43
44 1.2.0:
44 1.2.0:
45
45
46 * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
46 * :ghpull:`4972`: Work around problem in doctest discovery in Python 3.4 with PyQt
47 * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir`
47 * :ghpull:`4934`: `ipython profile create` respects `--ipython-dir`
48 * :ghpull:`4845`: Add Origin Checking.
48 * :ghpull:`4845`: Add Origin Checking.
49 * :ghpull:`4928`: use importlib.machinery when available
49 * :ghpull:`4928`: use importlib.machinery when available
50 * :ghpull:`4849`: Various unicode fixes (mostly on Windows)
50 * :ghpull:`4849`: Various unicode fixes (mostly on Windows)
51 * :ghpull:`4880`: set profile name from profile_dir
51 * :ghpull:`4880`: set profile name from profile_dir
52 * :ghpull:`4908`: detect builtin docstrings in oinspect
52 * :ghpull:`4908`: detect builtin docstrings in oinspect
53 * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed
53 * :ghpull:`4909`: sort dictionary keys before comparison, ordering is not guaranteed
54 * :ghpull:`4903`: use https for all embeds
54 * :ghpull:`4903`: use https for all embeds
55 * :ghpull:`4868`: Static path fixes
55 * :ghpull:`4868`: Static path fixes
56 * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster
56 * :ghpull:`4820`: fix regex for cleaning old logs with ipcluster
57 * :ghpull:`4840`: Error in Session.send_raw()
57 * :ghpull:`4840`: Error in Session.send_raw()
58 * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name
58 * :ghpull:`4762`: whitelist alphanumeric characters for cookie_name
59 * :ghpull:`4748`: fix race condition in profiledir creation.
59 * :ghpull:`4748`: fix race condition in profiledir creation.
60 * :ghpull:`4720`: never use ssh multiplexer in tunnels
60 * :ghpull:`4720`: never use ssh multiplexer in tunnels
61 * :ghpull:`4738`: don't inject help into user_ns
61 * :ghpull:`4738`: don't inject help into user_ns
62 * :ghpull:`4722`: allow purging local results as long as they are not outstanding
62 * :ghpull:`4722`: allow purging local results as long as they are not outstanding
63 * :ghpull:`4668`: Make non-ASCII docstring unicode
63 * :ghpull:`4668`: Make non-ASCII docstring unicode
64 * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working
64 * :ghpull:`4639`: Minor import fix to get qtconsole with --pylab=qt working
65 * :ghpull:`4453`: Play nice with App Nap
65 * :ghpull:`4453`: Play nice with App Nap
66 * :ghpull:`4609`: Fix bytes regex for Python 3.
66 * :ghpull:`4609`: Fix bytes regex for Python 3.
67 * :ghpull:`4488`: fix typo in message spec doc
67 * :ghpull:`4488`: fix typo in message spec doc
68 * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt
68 * :ghpull:`4346`: getpass() on Windows & Python 2 needs bytes prompt
69 * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline.
69 * :ghpull:`4230`: Switch correctly to the user's default matplotlib backend after inline.
70 * :ghpull:`4214`: engine ID metadata should be unicode, not bytes
70 * :ghpull:`4214`: engine ID metadata should be unicode, not bytes
71 * :ghpull:`4232`: no highlight if no language specified
71 * :ghpull:`4232`: no highlight if no language specified
72 * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified
72 * :ghpull:`4218`: Fix display of SyntaxError when .py file is modified
73 * :ghpull:`4217`: avoid importing numpy at the module level
73 * :ghpull:`4217`: avoid importing numpy at the module level
74 * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3
74 * :ghpull:`4213`: fixed dead link in examples/notebooks readme to Part 3
75 * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on
75 * :ghpull:`4183`: ESC should be handled by CM if tooltip is not on
76 * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix
76 * :ghpull:`4193`: Update for #3549: Append Firefox overflow-x fix
77 * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess
77 * :ghpull:`4205`: use TextIOWrapper when communicating with pandoc subprocess
78 * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel
78 * :ghpull:`4204`: remove some extraneous print statements from IPython.parallel
79 * :ghpull:`4201`: HeadingCells cannot be split or merged
79 * :ghpull:`4201`: HeadingCells cannot be split or merged
80
80
81 1.2.1:
81 1.2.1:
82
82
83 * :ghissue:`5101`: IPython 1.2.0: notebook fail with "500 Internal Server Error"
83 * :ghissue:`5101`: IPython 1.2.0: notebook fail with "500 Internal Server Error"
84
84
85 1.2.0:
85 1.2.0:
86
86
87 * :ghissue:`4892`: IPython.qt test failure with python3.4
87 * :ghissue:`4892`: IPython.qt test failure with python3.4
88 * :ghissue:`4810`: ipcluster bug in clean_logs flag
88 * :ghissue:`4810`: ipcluster bug in clean_logs flag
89 * :ghissue:`4765`: missing build script for highlight.js
89 * :ghissue:`4765`: missing build script for highlight.js
90 * :ghissue:`4761`: ipv6 address triggers cookie exception
90 * :ghissue:`4761`: ipv6 address triggers cookie exception
91 * :ghissue:`4721`: purge_results with jobid crashing - looking for insight
91 * :ghissue:`4721`: purge_results with jobid crashing - looking for insight
92 * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3
92 * :ghissue:`4602`: "ipcluster stop" fails after "ipcluster start --daemonize" using python3.3
93 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
93 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
94 * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation.
94 * :ghissue:`4485`: Incorrect info in "Messaging in IPython" documentation.
95 * :ghissue:`4351`: /parallel/apps/launcher.py error
95 * :ghissue:`4351`: /parallel/apps/launcher.py error
96 * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash
96 * :ghissue:`4334`: NotebookApp.webapp_settings static_url_prefix causes crash
97 * :ghissue:`4039`: Celltoolbar example issue
97 * :ghissue:`4039`: Celltoolbar example issue
98 * :ghissue:`4256`: IPython no longer handles unicode file names
98 * :ghissue:`4256`: IPython no longer handles unicode file names
99 * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex
99 * :ghissue:`4122`: Nbconvert [windows]: Inconsistent line endings in markdown cells exported to latex
100 * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows.
100 * :ghissue:`3819`: nbconvert add extra blank line to code block on Windows.
101 * :ghissue:`4203`: remove spurious print statement from parallel annoted functions
101 * :ghissue:`4203`: remove spurious print statement from parallel annoted functions
102 * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone
102 * :ghissue:`4200`: Notebook: merging a heading cell and markdown cell cannot be undone
103
103
104
104
105 Issues closed in 1.1
105 Issues closed in 1.1
106 --------------------
106 --------------------
107
107
108 GitHub stats for 2013/08/08 - 2013/09/09 (since 1.0)
108 GitHub stats for 2013/08/08 - 2013/09/09 (since 1.0)
109
109
110 These lists are automatically generated, and may be incomplete or contain duplicates.
110 These lists are automatically generated, and may be incomplete or contain duplicates.
111
111
112 The following 25 authors contributed 337 commits.
112 The following 25 authors contributed 337 commits.
113
113
114 * Benjamin Ragan-Kelley
114 * Benjamin Ragan-Kelley
115 * Bing Xia
115 * Bing Xia
116 * Bradley M. Froehle
116 * Bradley M. Froehle
117 * Brian E. Granger
117 * Brian E. Granger
118 * Damián Avila
118 * Damián Avila
119 * dhirschfeld
119 * dhirschfeld
120 * Dražen Lučanin
120 * Dražen Lučanin
121 * gmbecker
121 * gmbecker
122 * Jake Vanderplas
122 * Jake Vanderplas
123 * Jason Grout
123 * Jason Grout
124 * Jonathan Frederic
124 * Jonathan Frederic
125 * Kevin Burke
125 * Kevin Burke
126 * Kyle Kelley
126 * Kyle Kelley
127 * Matt Henderson
127 * Matt Henderson
128 * Matthew Brett
128 * Matthew Brett
129 * Matthias Bussonnier
129 * Matthias Bussonnier
130 * Pankaj Pandey
130 * Pankaj Pandey
131 * Paul Ivanov
131 * Paul Ivanov
132 * rossant
132 * rossant
133 * Samuel Ainsworth
133 * Samuel Ainsworth
134 * Stephan Rave
134 * Stephan Rave
135 * stonebig
135 * stonebig
136 * Thomas Kluyver
136 * Thomas Kluyver
137 * Yaroslav Halchenko
137 * Yaroslav Halchenko
138 * Zachary Sailer
138 * Zachary Sailer
139
139
140
140
141 We closed a total of 76 issues, 58 pull requests and 18 regular issues;
141 We closed a total of 76 issues, 58 pull requests and 18 regular issues;
142 this is the full list (generated with the script :file:`tools/github_stats.py`):
142 this is the full list (generated with the script :file:`tools/github_stats.py`):
143
143
144 Pull Requests (58):
144 Pull Requests (58):
145
145
146 * :ghpull:`4188`: Allow user_ns trait to be None
146 * :ghpull:`4188`: Allow user_ns trait to be None
147 * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS)
147 * :ghpull:`4189`: always fire LOCAL_IPS.extend(PUBLIC_IPS)
148 * :ghpull:`4174`: various issues in markdown and rst templates
148 * :ghpull:`4174`: various issues in markdown and rst templates
149 * :ghpull:`4178`: add missing data_javascript
149 * :ghpull:`4178`: add missing data_javascript
150 * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers
150 * :ghpull:`4181`: nbconvert: Fix, sphinx template not removing new lines from headers
151 * :ghpull:`4043`: don't 'restore_bytes' in from_JSON
151 * :ghpull:`4043`: don't 'restore_bytes' in from_JSON
152 * :ghpull:`4163`: Fix for incorrect default encoding on Windows.
152 * :ghpull:`4163`: Fix for incorrect default encoding on Windows.
153 * :ghpull:`4136`: catch javascript errors in any output
153 * :ghpull:`4136`: catch javascript errors in any output
154 * :ghpull:`4171`: add nbconvert config file when creating profiles
154 * :ghpull:`4171`: add nbconvert config file when creating profiles
155 * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all
155 * :ghpull:`4125`: Basic exercise of `ipython [subcommand] -h` and help-all
156 * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
156 * :ghpull:`4085`: nbconvert: Fix sphinx preprocessor date format string for Windows
157 * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS
157 * :ghpull:`4159`: don't split `.cell` and `div.cell` CSS
158 * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping
158 * :ghpull:`4158`: generate choices for `--gui` configurable from real mapping
159 * :ghpull:`4065`: do not include specific css in embedable one
159 * :ghpull:`4065`: do not include specific css in embedable one
160 * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x
160 * :ghpull:`4092`: nbconvert: Fix for unicode html headers, Windows + Python 2.x
161 * :ghpull:`4074`: close Client sockets if connection fails
161 * :ghpull:`4074`: close Client sockets if connection fails
162 * :ghpull:`4064`: Store default codemirror mode in only 1 place
162 * :ghpull:`4064`: Store default codemirror mode in only 1 place
163 * :ghpull:`4104`: Add way to install MathJax to a particular profile
163 * :ghpull:`4104`: Add way to install MathJax to a particular profile
164 * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string
164 * :ghpull:`4144`: help_end transformer shouldn't pick up ? in multiline string
165 * :ghpull:`4143`: update example custom.js
165 * :ghpull:`4143`: update example custom.js
166 * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc
166 * :ghpull:`4142`: DOC: unwrap openssl line in public_server doc
167 * :ghpull:`4141`: add files with a separate `add` call in backport_pr
167 * :ghpull:`4141`: add files with a separate `add` call in backport_pr
168 * :ghpull:`4137`: Restore autorestore option for storemagic
168 * :ghpull:`4137`: Restore autorestore option for storemagic
169 * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel
169 * :ghpull:`4098`: pass profile-dir instead of profile name to Kernel
170 * :ghpull:`4120`: support `input` in Python 2 kernels
170 * :ghpull:`4120`: support `input` in Python 2 kernels
171 * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior
171 * :ghpull:`4088`: nbconvert: Fix coalescestreams line with incorrect nesting causing strange behavior
172 * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first
172 * :ghpull:`4060`: only strip continuation prompts if regular prompts seen first
173 * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat.
173 * :ghpull:`4132`: Fixed name error bug in function safe_unicode in module py3compat.
174 * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel
174 * :ghpull:`4121`: move test_kernel from IPython.zmq to IPython.kernel
175 * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue.
175 * :ghpull:`4118`: ZMQ heartbeat channel: catch EINTR exceptions and continue.
176 * :ghpull:`4054`: use unicode for HTML export
176 * :ghpull:`4054`: use unicode for HTML export
177 * :ghpull:`4106`: fix a couple of default block values
177 * :ghpull:`4106`: fix a couple of default block values
178 * :ghpull:`4115`: Update docs on declaring a magic function
178 * :ghpull:`4115`: Update docs on declaring a magic function
179 * :ghpull:`4101`: restore accidentally removed EngineError
179 * :ghpull:`4101`: restore accidentally removed EngineError
180 * :ghpull:`4096`: minor docs changes
180 * :ghpull:`4096`: minor docs changes
181 * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line
181 * :ghpull:`4056`: respect `pylab_import_all` when `--pylab` specified at the command-line
182 * :ghpull:`4091`: Make Qt console banner configurable
182 * :ghpull:`4091`: Make Qt console banner configurable
183 * :ghpull:`4086`: fix missing errno import
183 * :ghpull:`4086`: fix missing errno import
184 * :ghpull:`4030`: exclude `.git` in MANIFEST.in
184 * :ghpull:`4030`: exclude `.git` in MANIFEST.in
185 * :ghpull:`4047`: Use istype() when checking if canned object is a dict
185 * :ghpull:`4047`: Use istype() when checking if canned object is a dict
186 * :ghpull:`4031`: don't close_fds on Windows
186 * :ghpull:`4031`: don't close_fds on Windows
187 * :ghpull:`4029`: bson.Binary moved
187 * :ghpull:`4029`: bson.Binary moved
188 * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path
188 * :ghpull:`4035`: Fixed custom jinja2 templates being ignored when setting template_path
189 * :ghpull:`4026`: small doc fix in nbconvert
189 * :ghpull:`4026`: small doc fix in nbconvert
190 * :ghpull:`4016`: Fix IPython.start_* functions
190 * :ghpull:`4016`: Fix IPython.start_* functions
191 * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays
191 * :ghpull:`4021`: Fix parallel.client.View map() on numpy arrays
192 * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs
192 * :ghpull:`4022`: DOC: fix links to matplotlib, notebook docs
193 * :ghpull:`4018`: Fix warning when running IPython.kernel tests
193 * :ghpull:`4018`: Fix warning when running IPython.kernel tests
194 * :ghpull:`4019`: Test skipping without unicode paths
194 * :ghpull:`4019`: Test skipping without unicode paths
195 * :ghpull:`4008`: Transform code before %prun/%%prun runs
195 * :ghpull:`4008`: Transform code before %prun/%%prun runs
196 * :ghpull:`4014`: Fix typo in ipapp
196 * :ghpull:`4014`: Fix typo in ipapp
197 * :ghpull:`3987`: get files list in backport_pr
197 * :ghpull:`3987`: get files list in backport_pr
198 * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3
198 * :ghpull:`3974`: nbconvert: Fix app tests on Window7 w/ Python 3.3
199 * :ghpull:`3978`: fix `--existing` with non-localhost IP
199 * :ghpull:`3978`: fix `--existing` with non-localhost IP
200 * :ghpull:`3939`: minor checkpoint cleanup
200 * :ghpull:`3939`: minor checkpoint cleanup
201 * :ghpull:`3981`: BF: fix nbconvert rst input prompt spacing
201 * :ghpull:`3981`: BF: fix nbconvert rst input prompt spacing
202 * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert
202 * :ghpull:`3960`: Don't make sphinx a dependency for importing nbconvert
203 * :ghpull:`3973`: logging.Formatter is not new-style in 2.6
203 * :ghpull:`3973`: logging.Formatter is not new-style in 2.6
204
204
205 Issues (18):
205 Issues (18):
206
206
207 * :ghissue:`4024`: nbconvert markdown issues
207 * :ghissue:`4024`: nbconvert markdown issues
208 * :ghissue:`4095`: Catch js error in append html in stream/pyerr
208 * :ghissue:`4095`: Catch js error in append html in stream/pyerr
209 * :ghissue:`4156`: Specifying --gui=tk at the command line
209 * :ghissue:`4156`: Specifying --gui=tk at the command line
210 * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS.
210 * :ghissue:`3818`: nbconvert can't handle Heading with Chinese characters on Japanese Windows OS.
211 * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook.
211 * :ghissue:`4134`: multi-line parser fails on ''' in comment, qtconsole and notebook.
212 * :ghissue:`3998`: sample custom.js needs to be updated
212 * :ghissue:`3998`: sample custom.js needs to be updated
213 * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0
213 * :ghissue:`4078`: StoreMagic.autorestore not working in 1.0.0
214 * :ghissue:`3990`: Buitlin `input` doesn't work over zmq
214 * :ghissue:`3990`: Buitlin `input` doesn't work over zmq
215 * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook
215 * :ghissue:`4015`: nbconvert fails to convert all the content of a notebook
216 * :ghissue:`4059`: Issues with Ellipsis literal in Python 3
216 * :ghissue:`4059`: Issues with Ellipsis literal in Python 3
217 * :ghissue:`4103`: Wrong default argument of DirectView.clear
217 * :ghissue:`4103`: Wrong default argument of DirectView.clear
218 * :ghissue:`4100`: parallel.client.client references undefined error.EngineError
218 * :ghissue:`4100`: parallel.client.client references undefined error.EngineError
219 * :ghissue:`4005`: IPython.start_kernel doesn't work.
219 * :ghissue:`4005`: IPython.start_kernel doesn't work.
220 * :ghissue:`4020`: IPython parallel map fails on numpy arrays
220 * :ghissue:`4020`: IPython parallel map fails on numpy arrays
221 * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3
221 * :ghissue:`3945`: nbconvert: commandline tests fail Win7x64 Py3.3
222 * :ghissue:`3977`: unable to complete remote connections for two-process
222 * :ghissue:`3977`: unable to complete remote connections for two-process
223 * :ghissue:`3980`: nbconvert rst output lacks needed blank lines
223 * :ghissue:`3980`: nbconvert rst output lacks needed blank lines
224 * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6)
224 * :ghissue:`3968`: TypeError: super() argument 1 must be type, not classobj (Python 2.6.6)
225
225
226 Issues closed in 1.0
226 Issues closed in 1.0
227 --------------------
227 --------------------
228
228
229 GitHub stats for 2012/06/30 - 2013/08/08 (since 0.13)
229 GitHub stats for 2012/06/30 - 2013/08/08 (since 0.13)
230
230
231 These lists are automatically generated, and may be incomplete or contain duplicates.
231 These lists are automatically generated, and may be incomplete or contain duplicates.
232
232
233 The following 155 authors contributed 4258 commits.
233 The following 155 authors contributed 4258 commits.
234
234
235 * Aaron Meurer
235 * Aaron Meurer
236 * Adam Davis
236 * Adam Davis
237 * Ahmet Bakan
237 * Ahmet Bakan
238 * Alberto Valverde
238 * Alberto Valverde
239 * Allen Riddell
239 * Allen Riddell
240 * Anders Hovmöller
240 * Anders Hovmöller
241 * Andrea Bedini
241 * Andrea Bedini
242 * Andrew Spiers
242 * Andrew Spiers
243 * Andrew Vandever
243 * Andrew Vandever
244 * Anthony Scopatz
244 * Anthony Scopatz
245 * Anton Akhmerov
245 * Anton Akhmerov
246 * Anton I. Sipos
246 * Anton I. Sipos
247 * Antony Lee
247 * Antony Lee
248 * Aron Ahmadia
248 * Aron Ahmadia
249 * Benedikt Sauer
249 * Benedikt Sauer
250 * Benjamin Jones
250 * Benjamin Jones
251 * Benjamin Ragan-Kelley
251 * Benjamin Ragan-Kelley
252 * Benjie Chen
252 * Benjie Chen
253 * Boris de Laage
253 * Boris de Laage
254 * Brad Reisfeld
254 * Brad Reisfeld
255 * Bradley M. Froehle
255 * Bradley M. Froehle
256 * Brian E. Granger
256 * Brian E. Granger
257 * Cameron Bates
257 * Cameron Bates
258 * Cavendish McKay
258 * Cavendish McKay
259 * chapmanb
259 * chapmanb
260 * Chris Beaumont
260 * Chris Beaumont
261 * Chris Laumann
261 * Chris Laumann
262 * Christoph Gohlke
262 * Christoph Gohlke
263 * codebraker
263 * codebraker
264 * codespaced
264 * codespaced
265 * Corran Webster
265 * Corran Webster
266 * DamianHeard
266 * DamianHeard
267 * Damián Avila
267 * Damián Avila
268 * Dan Kilman
268 * Dan Kilman
269 * Dan McDougall
269 * Dan McDougall
270 * Danny Staple
270 * Danny Staple
271 * David Hirschfeld
271 * David Hirschfeld
272 * David P. Sanders
272 * David P. Sanders
273 * David Warde-Farley
273 * David Warde-Farley
274 * David Wolever
274 * David Wolever
275 * David Wyde
275 * David Wyde
276 * debjan
276 * debjan
277 * Diane Trout
277 * Diane Trout
278 * dkua
278 * dkua
279 * Dominik Dabrowski
279 * Dominik Dabrowski
280 * Donald Curtis
280 * Donald Curtis
281 * Dražen Lučanin
281 * Dražen Lučanin
282 * drevicko
282 * drevicko
283 * Eric O. LEBIGOT
283 * Eric O. LEBIGOT
284 * Erik M. Bray
284 * Erik M. Bray
285 * Erik Tollerud
285 * Erik Tollerud
286 * Eugene Van den Bulke
286 * Eugene Van den Bulke
287 * Evan Patterson
287 * Evan Patterson
288 * Fernando Perez
288 * Fernando Perez
289 * Francesco Montesano
289 * Francesco Montesano
290 * Frank Murphy
290 * Frank Murphy
291 * Greg Caporaso
291 * Greg Caporaso
292 * Guy Haskin Fernald
292 * Guy Haskin Fernald
293 * guziy
293 * guziy
294 * Hans Meine
294 * Hans Meine
295 * Harry Moreno
295 * Harry Moreno
296 * henryiii
296 * henryiii
297 * Ivan Djokic
297 * Ivan Djokic
298 * Jack Feser
298 * Jack Feser
299 * Jake Vanderplas
299 * Jake Vanderplas
300 * jakobgager
300 * jakobgager
301 * James Booth
301 * James Booth
302 * Jan Schulz
302 * Jan Schulz
303 * Jason Grout
303 * Jason Grout
304 * Jeff Knisley
304 * Jeff Knisley
305 * Jens Hedegaard Nielsen
305 * Jens Hedegaard Nielsen
306 * jeremiahbuddha
306 * jeremiahbuddha
307 * Jerry Fowler
307 * Jerry Fowler
308 * Jessica B. Hamrick
308 * Jessica B. Hamrick
309 * Jez Ng
309 * Jez Ng
310 * John Zwinck
310 * John Zwinck
311 * Jonathan Frederic
311 * Jonathan Frederic
312 * Jonathan Taylor
312 * Jonathan Taylor
313 * Joon Ro
313 * Joon Ro
314 * Joseph Lansdowne
314 * Joseph Lansdowne
315 * Juergen Hasch
315 * Juergen Hasch
316 * Julian Taylor
316 * Julian Taylor
317 * Jussi Sainio
317 * Jussi Sainio
318 * Jörgen Stenarson
318 * Jörgen Stenarson
319 * kevin
319 * kevin
320 * klonuo
320 * klonuo
321 * Konrad Hinsen
321 * Konrad Hinsen
322 * Kyle Kelley
322 * Kyle Kelley
323 * Lars Solberg
323 * Lars Solberg
324 * Lessandro Mariano
324 * Lessandro Mariano
325 * Mark Sienkiewicz at STScI
325 * Mark Sienkiewicz at STScI
326 * Martijn Vermaat
326 * Martijn Vermaat
327 * Martin Spacek
327 * Martin Spacek
328 * Matthias Bussonnier
328 * Matthias Bussonnier
329 * Maxim Grechkin
329 * Maxim Grechkin
330 * Maximilian Albert
330 * Maximilian Albert
331 * MercuryRising
331 * MercuryRising
332 * Michael Droettboom
332 * Michael Droettboom
333 * Michael Shuffett
333 * Michael Shuffett
334 * Michał Górny
334 * Michał Górny
335 * Mikhail Korobov
335 * Mikhail Korobov
336 * mr.Shu
336 * mr.Shu
337 * Nathan Goldbaum
337 * Nathan Goldbaum
338 * ocefpaf
338 * ocefpaf
339 * Ohad Ravid
339 * Ohad Ravid
340 * Olivier Grisel
340 * Olivier Grisel
341 * Olivier Verdier
341 * Olivier Verdier
342 * Owen Healy
342 * Owen Healy
343 * Pankaj Pandey
343 * Pankaj Pandey
344 * Paul Ivanov
344 * Paul Ivanov
345 * Pawel Jasinski
345 * Pawel Jasinski
346 * Pietro Berkes
346 * Pietro Berkes
347 * Piti Ongmongkolkul
347 * Piti Ongmongkolkul
348 * Puneeth Chaganti
348 * Puneeth Chaganti
349 * Rich Wareham
349 * Rich Wareham
350 * Richard Everson
350 * Richard Everson
351 * Rick Lupton
351 * Rick Lupton
352 * Rob Young
352 * Rob Young
353 * Robert Kern
353 * Robert Kern
354 * Robert Marchman
354 * Robert Marchman
355 * Robert McGibbon
355 * Robert McGibbon
356 * Rui Pereira
356 * Rui Pereira
357 * Rustam Safin
357 * Rustam Safin
358 * Ryan May
358 * Ryan May
359 * s8weber
359 * s8weber
360 * Samuel Ainsworth
360 * Samuel Ainsworth
361 * Sean Vig
361 * Sean Vig
362 * Siyu Zhang
362 * Siyu Zhang
363 * Skylar Saveland
363 * Skylar Saveland
364 * slojo404
364 * slojo404
365 * smithj1
365 * smithj1
366 * Stefan Karpinski
366 * Stefan Karpinski
367 * Stefan van der Walt
367 * Stefan van der Walt
368 * Steven Silvester
368 * Steven Silvester
369 * Takafumi Arakaki
369 * Takafumi Arakaki
370 * Takeshi Kanmae
370 * Takeshi Kanmae
371 * tcmulcahy
371 * tcmulcahy
372 * teegaar
372 * teegaar
373 * Thomas Kluyver
373 * Thomas Kluyver
374 * Thomas Robitaille
374 * Thomas Robitaille
375 * Thomas Spura
375 * Thomas Spura
376 * Thomas Weißschuh
376 * Thomas Weißschuh
377 * Timothy O'Donnell
377 * Timothy O'Donnell
378 * Tom Dimiduk
378 * Tom Dimiduk
379 * ugurthemaster
379 * ugurthemaster
380 * urielshaolin
380 * urielshaolin
381 * v923z
381 * v923z
382 * Valentin Haenel
382 * Valentin Haenel
383 * Victor Zverovich
383 * Victor Zverovich
384 * W. Trevor King
384 * W. Trevor King
385 * y-p
385 * y-p
386 * Yoav Ram
386 * Yoav Ram
387 * Zbigniew Jędrzejewski-Szmek
387 * Zbigniew Jędrzejewski-Szmek
388 * Zoltán Vörös
388 * Zoltán Vörös
389
389
390
390
391 We closed a total of 1484 issues, 793 pull requests and 691 regular issues;
391 We closed a total of 1484 issues, 793 pull requests and 691 regular issues;
392 this is the full list (generated with the script
392 this is the full list (generated with the script
393 :file:`tools/github_stats.py`):
393 :file:`tools/github_stats.py`):
394
394
395 Pull Requests (793):
395 Pull Requests (793):
396
396
397 * :ghpull:`3958`: doc update
397 * :ghpull:`3958`: doc update
398 * :ghpull:`3965`: Fix ansi color code for background yellow
398 * :ghpull:`3965`: Fix ansi color code for background yellow
399 * :ghpull:`3964`: Fix casing of message.
399 * :ghpull:`3964`: Fix casing of message.
400 * :ghpull:`3942`: Pass on install docs
400 * :ghpull:`3942`: Pass on install docs
401 * :ghpull:`3962`: exclude IPython.lib.kernel in iptest
401 * :ghpull:`3962`: exclude IPython.lib.kernel in iptest
402 * :ghpull:`3961`: Longpath test fix
402 * :ghpull:`3961`: Longpath test fix
403 * :ghpull:`3905`: Remove references to 0.11 and 0.12 from config/overview.rst
403 * :ghpull:`3905`: Remove references to 0.11 and 0.12 from config/overview.rst
404 * :ghpull:`3951`: nbconvert: fixed latex characters not escaped properly in nbconvert
404 * :ghpull:`3951`: nbconvert: fixed latex characters not escaped properly in nbconvert
405 * :ghpull:`3949`: log fatal error when PDF conversion fails
405 * :ghpull:`3949`: log fatal error when PDF conversion fails
406 * :ghpull:`3947`: nbconvert: Make writer & post-processor aliases case insensitive.
406 * :ghpull:`3947`: nbconvert: Make writer & post-processor aliases case insensitive.
407 * :ghpull:`3938`: Recompile css.
407 * :ghpull:`3938`: Recompile css.
408 * :ghpull:`3948`: sphinx and PDF tweaks
408 * :ghpull:`3948`: sphinx and PDF tweaks
409 * :ghpull:`3943`: nbconvert: Serve post-processor Windows fix
409 * :ghpull:`3943`: nbconvert: Serve post-processor Windows fix
410 * :ghpull:`3934`: nbconvert: fix logic of verbose flag in PDF post processor
410 * :ghpull:`3934`: nbconvert: fix logic of verbose flag in PDF post processor
411 * :ghpull:`3929`: swallow enter event in rename dialog
411 * :ghpull:`3929`: swallow enter event in rename dialog
412 * :ghpull:`3924`: nbconvert: Backport fixes
412 * :ghpull:`3924`: nbconvert: Backport fixes
413 * :ghpull:`3925`: Replace --pylab flag with --matplotlib in usage
413 * :ghpull:`3925`: Replace --pylab flag with --matplotlib in usage
414 * :ghpull:`3910`: Added explicit error message for missing configuration arguments.
414 * :ghpull:`3910`: Added explicit error message for missing configuration arguments.
415 * :ghpull:`3913`: grffile to support spaces in notebook names
415 * :ghpull:`3913`: grffile to support spaces in notebook names
416 * :ghpull:`3918`: added check_for_tornado, closes #3916
416 * :ghpull:`3918`: added check_for_tornado, closes #3916
417 * :ghpull:`3917`: change docs/examples refs to be just examples
417 * :ghpull:`3917`: change docs/examples refs to be just examples
418 * :ghpull:`3908`: what's new tweaks
418 * :ghpull:`3908`: what's new tweaks
419 * :ghpull:`3896`: two column quickhelp dialog, closes #3895
419 * :ghpull:`3896`: two column quickhelp dialog, closes #3895
420 * :ghpull:`3911`: explicitly load python mode before IPython mode
420 * :ghpull:`3911`: explicitly load python mode before IPython mode
421 * :ghpull:`3901`: don't force . relative path, fix #3897
421 * :ghpull:`3901`: don't force . relative path, fix #3897
422 * :ghpull:`3891`: fix #3889
422 * :ghpull:`3891`: fix #3889
423 * :ghpull:`3892`: Fix documentation of Kernel.stop_channels
423 * :ghpull:`3892`: Fix documentation of Kernel.stop_channels
424 * :ghpull:`3888`: posixify paths for Windows latex
424 * :ghpull:`3888`: posixify paths for Windows latex
425 * :ghpull:`3882`: quick fix for #3881
425 * :ghpull:`3882`: quick fix for #3881
426 * :ghpull:`3877`: don't use `shell=True` in PDF export
426 * :ghpull:`3877`: don't use `shell=True` in PDF export
427 * :ghpull:`3878`: minor template loading cleanup
427 * :ghpull:`3878`: minor template loading cleanup
428 * :ghpull:`3855`: nbconvert: Filter tests
428 * :ghpull:`3855`: nbconvert: Filter tests
429 * :ghpull:`3879`: finish 3870
429 * :ghpull:`3879`: finish 3870
430 * :ghpull:`3870`: Fix for converting notebooks that contain unicode characters.
430 * :ghpull:`3870`: Fix for converting notebooks that contain unicode characters.
431 * :ghpull:`3876`: Update parallel_winhpc.rst
431 * :ghpull:`3876`: Update parallel_winhpc.rst
432 * :ghpull:`3872`: removing vim-ipython, since it has it's own repo
432 * :ghpull:`3872`: removing vim-ipython, since it has it's own repo
433 * :ghpull:`3871`: updating docs
433 * :ghpull:`3871`: updating docs
434 * :ghpull:`3873`: remove old examples
434 * :ghpull:`3873`: remove old examples
435 * :ghpull:`3868`: update CodeMirror component to 3.15
435 * :ghpull:`3868`: update CodeMirror component to 3.15
436 * :ghpull:`3865`: Escape filename for pdflatex in nbconvert
436 * :ghpull:`3865`: Escape filename for pdflatex in nbconvert
437 * :ghpull:`3861`: remove old external.js
437 * :ghpull:`3861`: remove old external.js
438 * :ghpull:`3864`: add keyboard shortcut to docs
438 * :ghpull:`3864`: add keyboard shortcut to docs
439 * :ghpull:`3834`: This PR fixes a few issues with nbconvert tests
439 * :ghpull:`3834`: This PR fixes a few issues with nbconvert tests
440 * :ghpull:`3840`: prevent profile_dir from being undefined
440 * :ghpull:`3840`: prevent profile_dir from being undefined
441 * :ghpull:`3859`: Add "An Afternoon Hack" to docs
441 * :ghpull:`3859`: Add "An Afternoon Hack" to docs
442 * :ghpull:`3854`: Catch errors filling readline history on startup
442 * :ghpull:`3854`: Catch errors filling readline history on startup
443 * :ghpull:`3857`: Delete extra auto
443 * :ghpull:`3857`: Delete extra auto
444 * :ghpull:`3845`: nbconvert: Serve from original build directory
444 * :ghpull:`3845`: nbconvert: Serve from original build directory
445 * :ghpull:`3846`: Add basic logging to nbconvert
445 * :ghpull:`3846`: Add basic logging to nbconvert
446 * :ghpull:`3850`: add missing store_history key to Notebook execute_requests
446 * :ghpull:`3850`: add missing store_history key to Notebook execute_requests
447 * :ghpull:`3844`: update payload source
447 * :ghpull:`3844`: update payload source
448 * :ghpull:`3830`: mention metadata / display_data similarity in pyout spec
448 * :ghpull:`3830`: mention metadata / display_data similarity in pyout spec
449 * :ghpull:`3848`: fix incorrect `empty-docstring`
449 * :ghpull:`3848`: fix incorrect `empty-docstring`
450 * :ghpull:`3836`: Parse markdown correctly when mathjax is disabled
450 * :ghpull:`3836`: Parse markdown correctly when mathjax is disabled
451 * :ghpull:`3849`: skip a failing test on windows
451 * :ghpull:`3849`: skip a failing test on windows
452 * :ghpull:`3828`: signature_scheme lives in Session
452 * :ghpull:`3828`: signature_scheme lives in Session
453 * :ghpull:`3831`: update nbconvert doc with new CLI
453 * :ghpull:`3831`: update nbconvert doc with new CLI
454 * :ghpull:`3822`: add output flag to nbconvert
454 * :ghpull:`3822`: add output flag to nbconvert
455 * :ghpull:`3780`: Added serving the output directory if html-based format are selected.
455 * :ghpull:`3780`: Added serving the output directory if html-based format are selected.
456 * :ghpull:`3764`: Cleanup nbconvert templates
456 * :ghpull:`3764`: Cleanup nbconvert templates
457 * :ghpull:`3829`: remove now-duplicate 'this is dev' note
457 * :ghpull:`3829`: remove now-duplicate 'this is dev' note
458 * :ghpull:`3814`: add `ConsoleWidget.execute_on_complete_input` flag
458 * :ghpull:`3814`: add `ConsoleWidget.execute_on_complete_input` flag
459 * :ghpull:`3826`: try rtfd
459 * :ghpull:`3826`: try rtfd
460 * :ghpull:`3821`: add sphinx prolog
460 * :ghpull:`3821`: add sphinx prolog
461 * :ghpull:`3817`: relax timeouts in terminal console and tests
461 * :ghpull:`3817`: relax timeouts in terminal console and tests
462 * :ghpull:`3825`: fix more tests that fail when pandoc is missing
462 * :ghpull:`3825`: fix more tests that fail when pandoc is missing
463 * :ghpull:`3824`: don't set target on internal markdown links
463 * :ghpull:`3824`: don't set target on internal markdown links
464 * :ghpull:`3816`: s/pylab/matplotlib in docs
464 * :ghpull:`3816`: s/pylab/matplotlib in docs
465 * :ghpull:`3812`: Describe differences between start_ipython and embed
465 * :ghpull:`3812`: Describe differences between start_ipython and embed
466 * :ghpull:`3805`: Print View has been removed
466 * :ghpull:`3805`: Print View has been removed
467 * :ghpull:`3820`: Make it clear that 1.0 is not released yet
467 * :ghpull:`3820`: Make it clear that 1.0 is not released yet
468 * :ghpull:`3784`: nbconvert: Export flavors & PDF writer (ipy dev meeting)
468 * :ghpull:`3784`: nbconvert: Export flavors & PDF writer (ipy dev meeting)
469 * :ghpull:`3800`: semantic-versionify version number for non-releases
469 * :ghpull:`3800`: semantic-versionify version number for non-releases
470 * :ghpull:`3802`: Documentation .txt to .rst
470 * :ghpull:`3802`: Documentation .txt to .rst
471 * :ghpull:`3765`: cleanup terminal console iopub handling
471 * :ghpull:`3765`: cleanup terminal console iopub handling
472 * :ghpull:`3720`: Fix for #3719
472 * :ghpull:`3720`: Fix for #3719
473 * :ghpull:`3787`: re-raise KeyboardInterrupt in raw_input
473 * :ghpull:`3787`: re-raise KeyboardInterrupt in raw_input
474 * :ghpull:`3770`: Organizing reveal's templates.
474 * :ghpull:`3770`: Organizing reveal's templates.
475 * :ghpull:`3751`: Use link(2) when possible in nbconvert
475 * :ghpull:`3751`: Use link(2) when possible in nbconvert
476 * :ghpull:`3792`: skip tests that require pandoc
476 * :ghpull:`3792`: skip tests that require pandoc
477 * :ghpull:`3782`: add Importing Notebooks example
477 * :ghpull:`3782`: add Importing Notebooks example
478 * :ghpull:`3752`: nbconvert: Add cwd to sys.path
478 * :ghpull:`3752`: nbconvert: Add cwd to sys.path
479 * :ghpull:`3789`: fix raw_input in qtconsole
479 * :ghpull:`3789`: fix raw_input in qtconsole
480 * :ghpull:`3756`: document the wire protocol
480 * :ghpull:`3756`: document the wire protocol
481 * :ghpull:`3749`: convert IPython syntax to Python syntax in nbconvert python template
481 * :ghpull:`3749`: convert IPython syntax to Python syntax in nbconvert python template
482 * :ghpull:`3793`: Closes #3788
482 * :ghpull:`3793`: Closes #3788
483 * :ghpull:`3794`: Change logo link to ipython.org
483 * :ghpull:`3794`: Change logo link to ipython.org
484 * :ghpull:`3746`: Raise a named exception when pandoc is missing
484 * :ghpull:`3746`: Raise a named exception when pandoc is missing
485 * :ghpull:`3781`: comply with the message spec in the notebook
485 * :ghpull:`3781`: comply with the message spec in the notebook
486 * :ghpull:`3779`: remove bad `if logged_in` preventing new-notebook without login
486 * :ghpull:`3779`: remove bad `if logged_in` preventing new-notebook without login
487 * :ghpull:`3743`: remove notebook read-only view
487 * :ghpull:`3743`: remove notebook read-only view
488 * :ghpull:`3732`: add delay to autosave in beforeunload
488 * :ghpull:`3732`: add delay to autosave in beforeunload
489 * :ghpull:`3761`: Added rm_math_space to markdown cells in the basichtml.tpl to be rendered ok by mathjax after the nbconvertion.
489 * :ghpull:`3761`: Added rm_math_space to markdown cells in the basichtml.tpl to be rendered ok by mathjax after the nbconvertion.
490 * :ghpull:`3758`: nbconvert: Filter names cleanup
490 * :ghpull:`3758`: nbconvert: Filter names cleanup
491 * :ghpull:`3769`: Add configurability to tabcompletion timeout
491 * :ghpull:`3769`: Add configurability to tabcompletion timeout
492 * :ghpull:`3771`: Update px pylab test to match new output of pylab
492 * :ghpull:`3771`: Update px pylab test to match new output of pylab
493 * :ghpull:`3741`: better message when notebook format is not supported
493 * :ghpull:`3741`: better message when notebook format is not supported
494 * :ghpull:`3753`: document Ctrl-C not working in ipython kernel
494 * :ghpull:`3753`: document Ctrl-C not working in ipython kernel
495 * :ghpull:`3766`: handle empty metadata in pyout messages more gracefully.
495 * :ghpull:`3766`: handle empty metadata in pyout messages more gracefully.
496 * :ghpull:`3736`: my attempt to fix #3735
496 * :ghpull:`3736`: my attempt to fix #3735
497 * :ghpull:`3759`: nbconvert: Provide a more useful error for invalid use case.
497 * :ghpull:`3759`: nbconvert: Provide a more useful error for invalid use case.
498 * :ghpull:`3760`: nbconvert: Allow notebook filenames without their extensions
498 * :ghpull:`3760`: nbconvert: Allow notebook filenames without their extensions
499 * :ghpull:`3750`: nbconvert: Add cwd to default templates search path.
499 * :ghpull:`3750`: nbconvert: Add cwd to default templates search path.
500 * :ghpull:`3748`: Update nbconvert docs
500 * :ghpull:`3748`: Update nbconvert docs
501 * :ghpull:`3734`: Nbconvert: Export extracted files into `nbname_files` subdirectory
501 * :ghpull:`3734`: Nbconvert: Export extracted files into `nbname_files` subdirectory
502 * :ghpull:`3733`: Nicer message when pandoc is missing, closes #3730
502 * :ghpull:`3733`: Nicer message when pandoc is missing, closes #3730
503 * :ghpull:`3722`: fix two failing test in IPython.lib
503 * :ghpull:`3722`: fix two failing test in IPython.lib
504 * :ghpull:`3704`: Start what's new for 1.0
504 * :ghpull:`3704`: Start what's new for 1.0
505 * :ghpull:`3705`: Complete rewrite of IPython Notebook documentation: docs/source/interactive/htmlnotebook.txt
505 * :ghpull:`3705`: Complete rewrite of IPython Notebook documentation: docs/source/interactive/htmlnotebook.txt
506 * :ghpull:`3709`: Docs cleanup
506 * :ghpull:`3709`: Docs cleanup
507 * :ghpull:`3716`: raw_input fixes for kernel restarts
507 * :ghpull:`3716`: raw_input fixes for kernel restarts
508 * :ghpull:`3683`: use `%matplotlib` in example notebooks
508 * :ghpull:`3683`: use `%matplotlib` in example notebooks
509 * :ghpull:`3686`: remove quarantine
509 * :ghpull:`3686`: remove quarantine
510 * :ghpull:`3699`: svg2pdf unicode fix
510 * :ghpull:`3699`: svg2pdf unicode fix
511 * :ghpull:`3695`: fix SVG2PDF
511 * :ghpull:`3695`: fix SVG2PDF
512 * :ghpull:`3685`: fix Pager.detach
512 * :ghpull:`3685`: fix Pager.detach
513 * :ghpull:`3675`: document new dependencies
513 * :ghpull:`3675`: document new dependencies
514 * :ghpull:`3690`: Fixing some css minors in full_html and reveal.
514 * :ghpull:`3690`: Fixing some css minors in full_html and reveal.
515 * :ghpull:`3671`: nbconvert tests
515 * :ghpull:`3671`: nbconvert tests
516 * :ghpull:`3692`: Fix rename notebook - show error with invalid name
516 * :ghpull:`3692`: Fix rename notebook - show error with invalid name
517 * :ghpull:`3409`: Prevent qtconsole frontend freeze on lots of output.
517 * :ghpull:`3409`: Prevent qtconsole frontend freeze on lots of output.
518 * :ghpull:`3660`: refocus active cell on dialog close
518 * :ghpull:`3660`: refocus active cell on dialog close
519 * :ghpull:`3598`: Statelessify mathjaxutils
519 * :ghpull:`3598`: Statelessify mathjaxutils
520 * :ghpull:`3673`: enable comment/uncomment selection
520 * :ghpull:`3673`: enable comment/uncomment selection
521 * :ghpull:`3677`: remove special-case in get_home_dir for frozen dists
521 * :ghpull:`3677`: remove special-case in get_home_dir for frozen dists
522 * :ghpull:`3674`: add CONTRIBUTING.md
522 * :ghpull:`3674`: add CONTRIBUTING.md
523 * :ghpull:`3670`: use Popen command list for ipexec
523 * :ghpull:`3670`: use Popen command list for ipexec
524 * :ghpull:`3568`: pylab import adjustments
524 * :ghpull:`3568`: pylab import adjustments
525 * :ghpull:`3559`: add create.Cell and delete.Cell js events
525 * :ghpull:`3559`: add create.Cell and delete.Cell js events
526 * :ghpull:`3606`: push cell magic to the head of the transformer line
526 * :ghpull:`3606`: push cell magic to the head of the transformer line
527 * :ghpull:`3607`: NbConvert: Writers, No YAML, and stuff...
527 * :ghpull:`3607`: NbConvert: Writers, No YAML, and stuff...
528 * :ghpull:`3665`: Pywin32 skips
528 * :ghpull:`3665`: Pywin32 skips
529 * :ghpull:`3669`: set default client_class for QtKernelManager
529 * :ghpull:`3669`: set default client_class for QtKernelManager
530 * :ghpull:`3662`: add strip_encoding_cookie transformer
530 * :ghpull:`3662`: add strip_encoding_cookie transformer
531 * :ghpull:`3641`: increase patience for slow kernel startup in tests
531 * :ghpull:`3641`: increase patience for slow kernel startup in tests
532 * :ghpull:`3651`: remove a bunch of unused `default_config_file` assignments
532 * :ghpull:`3651`: remove a bunch of unused `default_config_file` assignments
533 * :ghpull:`3630`: CSS adjustments
533 * :ghpull:`3630`: CSS adjustments
534 * :ghpull:`3645`: Don't require HistoryManager to have a shell
534 * :ghpull:`3645`: Don't require HistoryManager to have a shell
535 * :ghpull:`3643`: don't assume tested ipython is on the PATH
535 * :ghpull:`3643`: don't assume tested ipython is on the PATH
536 * :ghpull:`3654`: fix single-result AsyncResults
536 * :ghpull:`3654`: fix single-result AsyncResults
537 * :ghpull:`3601`: Markdown in heading cells (take 2)
537 * :ghpull:`3601`: Markdown in heading cells (take 2)
538 * :ghpull:`3652`: Remove old `docs/examples`
538 * :ghpull:`3652`: Remove old `docs/examples`
539 * :ghpull:`3621`: catch any exception appending output
539 * :ghpull:`3621`: catch any exception appending output
540 * :ghpull:`3585`: don't blacklist builtin names
540 * :ghpull:`3585`: don't blacklist builtin names
541 * :ghpull:`3647`: Fix `frontend` deprecation warnings in several examples
541 * :ghpull:`3647`: Fix `frontend` deprecation warnings in several examples
542 * :ghpull:`3649`: fix AsyncResult.get_dict for single result
542 * :ghpull:`3649`: fix AsyncResult.get_dict for single result
543 * :ghpull:`3648`: Fix store magic test
543 * :ghpull:`3648`: Fix store magic test
544 * :ghpull:`3650`: Fix, config_file_name was ignored
544 * :ghpull:`3650`: Fix, config_file_name was ignored
545 * :ghpull:`3640`: Gcf.get_active() can return None
545 * :ghpull:`3640`: Gcf.get_active() can return None
546 * :ghpull:`3571`: Added shorcuts to split cell, merge cell above and merge cell below.
546 * :ghpull:`3571`: Added shorcuts to split cell, merge cell above and merge cell below.
547 * :ghpull:`3635`: Added missing slash to print-pdf call.
547 * :ghpull:`3635`: Added missing slash to print-pdf call.
548 * :ghpull:`3487`: Drop patch for compatibility with pyreadline 1.5
548 * :ghpull:`3487`: Drop patch for compatibility with pyreadline 1.5
549 * :ghpull:`3338`: Allow filename with extension in find_cmd in Windows.
549 * :ghpull:`3338`: Allow filename with extension in find_cmd in Windows.
550 * :ghpull:`3628`: Fix test for Python 3 on Windows.
550 * :ghpull:`3628`: Fix test for Python 3 on Windows.
551 * :ghpull:`3642`: Fix typo in docs
551 * :ghpull:`3642`: Fix typo in docs
552 * :ghpull:`3627`: use DEFAULT_STATIC_FILES_PATH in a test instead of package dir
552 * :ghpull:`3627`: use DEFAULT_STATIC_FILES_PATH in a test instead of package dir
553 * :ghpull:`3624`: fix some unicode in zmqhandlers
553 * :ghpull:`3624`: fix some unicode in zmqhandlers
554 * :ghpull:`3460`: Set calling program to UNKNOWN, when argv not in sys
554 * :ghpull:`3460`: Set calling program to UNKNOWN, when argv not in sys
555 * :ghpull:`3632`: Set calling program to UNKNOWN, when argv not in sys (take #2)
555 * :ghpull:`3632`: Set calling program to UNKNOWN, when argv not in sys (take #2)
556 * :ghpull:`3629`: Use new entry point for python -m IPython
556 * :ghpull:`3629`: Use new entry point for python -m IPython
557 * :ghpull:`3626`: passing cell to showInPager, closes #3625
557 * :ghpull:`3626`: passing cell to showInPager, closes #3625
558 * :ghpull:`3618`: expand terminal color support
558 * :ghpull:`3618`: expand terminal color support
559 * :ghpull:`3623`: raise UsageError for unsupported GUI backends
559 * :ghpull:`3623`: raise UsageError for unsupported GUI backends
560 * :ghpull:`3071`: Add magic function %drun to run code in debugger
560 * :ghpull:`3071`: Add magic function %drun to run code in debugger
561 * :ghpull:`3608`: a nicer error message when using %pylab magic
561 * :ghpull:`3608`: a nicer error message when using %pylab magic
562 * :ghpull:`3592`: add extra_config_file
562 * :ghpull:`3592`: add extra_config_file
563 * :ghpull:`3612`: updated .mailmap
563 * :ghpull:`3612`: updated .mailmap
564 * :ghpull:`3616`: Add examples for interactive use of MPI.
564 * :ghpull:`3616`: Add examples for interactive use of MPI.
565 * :ghpull:`3615`: fix regular expression for ANSI escapes
565 * :ghpull:`3615`: fix regular expression for ANSI escapes
566 * :ghpull:`3586`: Corrected a typo in the format string for strftime the sphinx.py transformer of nbconvert
566 * :ghpull:`3586`: Corrected a typo in the format string for strftime the sphinx.py transformer of nbconvert
567 * :ghpull:`3611`: check for markdown no longer needed, closes #3610
567 * :ghpull:`3611`: check for markdown no longer needed, closes #3610
568 * :ghpull:`3555`: Simplify caching of modules with %run
568 * :ghpull:`3555`: Simplify caching of modules with %run
569 * :ghpull:`3583`: notebook small things
569 * :ghpull:`3583`: notebook small things
570 * :ghpull:`3594`: Fix duplicate completion in notebook
570 * :ghpull:`3594`: Fix duplicate completion in notebook
571 * :ghpull:`3600`: parallel: Improved logging for errors during BatchSystemLauncher.stop
571 * :ghpull:`3600`: parallel: Improved logging for errors during BatchSystemLauncher.stop
572 * :ghpull:`3595`: Revert "allow markdown in heading cells"
572 * :ghpull:`3595`: Revert "allow markdown in heading cells"
573 * :ghpull:`3538`: add IPython.start_ipython
573 * :ghpull:`3538`: add IPython.start_ipython
574 * :ghpull:`3562`: Allow custom nbconvert template loaders
574 * :ghpull:`3562`: Allow custom nbconvert template loaders
575 * :ghpull:`3582`: pandoc adjustments
575 * :ghpull:`3582`: pandoc adjustments
576 * :ghpull:`3560`: Remove max_msg_size
576 * :ghpull:`3560`: Remove max_msg_size
577 * :ghpull:`3591`: Refer to Setuptools instead of Distribute
577 * :ghpull:`3591`: Refer to Setuptools instead of Distribute
578 * :ghpull:`3590`: IPython.sphinxext needs an __init__.py
578 * :ghpull:`3590`: IPython.sphinxext needs an __init__.py
579 * :ghpull:`3581`: Added the possibility to read a custom.css file for tweaking the final html in full_html and reveal templates.
579 * :ghpull:`3581`: Added the possibility to read a custom.css file for tweaking the final html in full_html and reveal templates.
580 * :ghpull:`3576`: Added support for markdown in heading cells when they are nbconverted.
580 * :ghpull:`3576`: Added support for markdown in heading cells when they are nbconverted.
581 * :ghpull:`3575`: tweak `run -d` message to 'continue execution'
581 * :ghpull:`3575`: tweak `run -d` message to 'continue execution'
582 * :ghpull:`3569`: add PYTHONSTARTUP to startup files
582 * :ghpull:`3569`: add PYTHONSTARTUP to startup files
583 * :ghpull:`3567`: Trigger a single event on js app initilized
583 * :ghpull:`3567`: Trigger a single event on js app initilized
584 * :ghpull:`3565`: style.min.css should always exist...
584 * :ghpull:`3565`: style.min.css should always exist...
585 * :ghpull:`3531`: allow markdown in heading cells
585 * :ghpull:`3531`: allow markdown in heading cells
586 * :ghpull:`3577`: Simplify codemirror ipython-mode
586 * :ghpull:`3577`: Simplify codemirror ipython-mode
587 * :ghpull:`3495`: Simplified regexp, and suggestions for clearer regexps.
587 * :ghpull:`3495`: Simplified regexp, and suggestions for clearer regexps.
588 * :ghpull:`3578`: Use adjustbox to specify figure size in nbconvert -> latex
588 * :ghpull:`3578`: Use adjustbox to specify figure size in nbconvert -> latex
589 * :ghpull:`3572`: Skip import irunner test on Windows.
589 * :ghpull:`3572`: Skip import irunner test on Windows.
590 * :ghpull:`3574`: correct static path for CM modes autoload
590 * :ghpull:`3574`: correct static path for CM modes autoload
591 * :ghpull:`3558`: Add IPython.sphinxext
591 * :ghpull:`3558`: Add IPython.sphinxext
592 * :ghpull:`3561`: mention double-control-C to stop notebook server
592 * :ghpull:`3561`: mention double-control-C to stop notebook server
593 * :ghpull:`3566`: fix event names
593 * :ghpull:`3566`: fix event names
594 * :ghpull:`3564`: Remove trivial nbconvert example
594 * :ghpull:`3564`: Remove trivial nbconvert example
595 * :ghpull:`3540`: allow cython cache dir to be deleted
595 * :ghpull:`3540`: allow cython cache dir to be deleted
596 * :ghpull:`3527`: cleanup stale, unused exceptions in parallel.error
596 * :ghpull:`3527`: cleanup stale, unused exceptions in parallel.error
597 * :ghpull:`3529`: ensure raw_input returns str in zmq shell
597 * :ghpull:`3529`: ensure raw_input returns str in zmq shell
598 * :ghpull:`3541`: respect image size metadata in qtconsole
598 * :ghpull:`3541`: respect image size metadata in qtconsole
599 * :ghpull:`3550`: Fixing issue preventing the correct read of images by full_html and reveal exporters.
599 * :ghpull:`3550`: Fixing issue preventing the correct read of images by full_html and reveal exporters.
600 * :ghpull:`3557`: open markdown links in new tabs
600 * :ghpull:`3557`: open markdown links in new tabs
601 * :ghpull:`3556`: remove mention of nonexistent `_margv` in macro
601 * :ghpull:`3556`: remove mention of nonexistent `_margv` in macro
602 * :ghpull:`3552`: set overflow-x: hidden on Firefox only
602 * :ghpull:`3552`: set overflow-x: hidden on Firefox only
603 * :ghpull:`3554`: Fix missing import os in latex exporter.
603 * :ghpull:`3554`: Fix missing import os in latex exporter.
604 * :ghpull:`3546`: Don't hardcode **latex** posix paths in nbconvert
604 * :ghpull:`3546`: Don't hardcode **latex** posix paths in nbconvert
605 * :ghpull:`3551`: fix path prefix in nbconvert
605 * :ghpull:`3551`: fix path prefix in nbconvert
606 * :ghpull:`3533`: Use a CDN to get reveal.js library.
606 * :ghpull:`3533`: Use a CDN to get reveal.js library.
607 * :ghpull:`3498`: When a notebook is written to file, name the metadata name u''.
607 * :ghpull:`3498`: When a notebook is written to file, name the metadata name u''.
608 * :ghpull:`3548`: Change to standard save icon in Notebook toolbar
608 * :ghpull:`3548`: Change to standard save icon in Notebook toolbar
609 * :ghpull:`3539`: Don't hardcode posix paths in nbconvert
609 * :ghpull:`3539`: Don't hardcode posix paths in nbconvert
610 * :ghpull:`3508`: notebook supports raw_input and %debug now
610 * :ghpull:`3508`: notebook supports raw_input and %debug now
611 * :ghpull:`3526`: ensure 'default' is first in cluster profile list
611 * :ghpull:`3526`: ensure 'default' is first in cluster profile list
612 * :ghpull:`3525`: basic timezone info
612 * :ghpull:`3525`: basic timezone info
613 * :ghpull:`3532`: include nbconvert templates in installation
613 * :ghpull:`3532`: include nbconvert templates in installation
614 * :ghpull:`3515`: update CodeMirror component to 3.14
614 * :ghpull:`3515`: update CodeMirror component to 3.14
615 * :ghpull:`3513`: add 'No Checkpoints' to Revert menu
615 * :ghpull:`3513`: add 'No Checkpoints' to Revert menu
616 * :ghpull:`3536`: format positions are required in Python 2.6.x
616 * :ghpull:`3536`: format positions are required in Python 2.6.x
617 * :ghpull:`3521`: Nbconvert fix, silent fail if template doesn't exist
617 * :ghpull:`3521`: Nbconvert fix, silent fail if template doesn't exist
618 * :ghpull:`3530`: update %store magic docstring
618 * :ghpull:`3530`: update %store magic docstring
619 * :ghpull:`3528`: fix local mathjax with custom base_project_url
619 * :ghpull:`3528`: fix local mathjax with custom base_project_url
620 * :ghpull:`3518`: Clear up unused imports
620 * :ghpull:`3518`: Clear up unused imports
621 * :ghpull:`3506`: %store -r restores saved aliases and directory history, as well as variables
621 * :ghpull:`3506`: %store -r restores saved aliases and directory history, as well as variables
622 * :ghpull:`3516`: make css highlight style configurable
622 * :ghpull:`3516`: make css highlight style configurable
623 * :ghpull:`3523`: Exclude frontend shim from docs build
623 * :ghpull:`3523`: Exclude frontend shim from docs build
624 * :ghpull:`3514`: use bootstrap `disabled` instead of `ui-state-disabled`
624 * :ghpull:`3514`: use bootstrap `disabled` instead of `ui-state-disabled`
625 * :ghpull:`3520`: Added relative import of RevealExporter to __init__.py inside exporters module
625 * :ghpull:`3520`: Added relative import of RevealExporter to __init__.py inside exporters module
626 * :ghpull:`3507`: fix HTML capitalization in nbconvert exporter classes
626 * :ghpull:`3507`: fix HTML capitalization in nbconvert exporter classes
627 * :ghpull:`3512`: fix nbconvert filter validation
627 * :ghpull:`3512`: fix nbconvert filter validation
628 * :ghpull:`3511`: Get Tracer working after ipapi.get replaced with get_ipython
628 * :ghpull:`3511`: Get Tracer working after ipapi.get replaced with get_ipython
629 * :ghpull:`3510`: use `window.onbeforeunload=` for nav-away warning
629 * :ghpull:`3510`: use `window.onbeforeunload=` for nav-away warning
630 * :ghpull:`3504`: don't use parent=self in handlers
630 * :ghpull:`3504`: don't use parent=self in handlers
631 * :ghpull:`3500`: Merge nbconvert into IPython
631 * :ghpull:`3500`: Merge nbconvert into IPython
632 * :ghpull:`3478`: restore "unsaved changes" warning on unload
632 * :ghpull:`3478`: restore "unsaved changes" warning on unload
633 * :ghpull:`3493`: add a dialog when the kernel is auto-restarted
633 * :ghpull:`3493`: add a dialog when the kernel is auto-restarted
634 * :ghpull:`3488`: Add test suite for autoreload extension
634 * :ghpull:`3488`: Add test suite for autoreload extension
635 * :ghpull:`3484`: Catch some pathological cases inside oinspect
635 * :ghpull:`3484`: Catch some pathological cases inside oinspect
636 * :ghpull:`3481`: Display R errors without Python traceback
636 * :ghpull:`3481`: Display R errors without Python traceback
637 * :ghpull:`3468`: fix `%magic` output
637 * :ghpull:`3468`: fix `%magic` output
638 * :ghpull:`3430`: add parent to Configurable
638 * :ghpull:`3430`: add parent to Configurable
639 * :ghpull:`3491`: Remove unexpected keyword parameter to remove_kernel
639 * :ghpull:`3491`: Remove unexpected keyword parameter to remove_kernel
640 * :ghpull:`3485`: SymPy has changed its recommended way to initialize printing
640 * :ghpull:`3485`: SymPy has changed its recommended way to initialize printing
641 * :ghpull:`3486`: Add test for non-ascii characters in docstrings
641 * :ghpull:`3486`: Add test for non-ascii characters in docstrings
642 * :ghpull:`3483`: Inputtransformer: Allow classic prompts without space
642 * :ghpull:`3483`: Inputtransformer: Allow classic prompts without space
643 * :ghpull:`3482`: Use an absolute path to iptest, because the tests are not always run from $IPYTHONDIR.
643 * :ghpull:`3482`: Use an absolute path to iptest, because the tests are not always run from $IPYTHONDIR.
644 * :ghpull:`3381`: enable 2x (retina) display
644 * :ghpull:`3381`: enable 2x (retina) display
645 * :ghpull:`3450`: Flatten IPython.frontend
645 * :ghpull:`3450`: Flatten IPython.frontend
646 * :ghpull:`3477`: pass config to subapps
646 * :ghpull:`3477`: pass config to subapps
647 * :ghpull:`3466`: Kernel fails to start when username has non-ascii characters
647 * :ghpull:`3466`: Kernel fails to start when username has non-ascii characters
648 * :ghpull:`3465`: Add HTCondor bindings to IPython.parallel
648 * :ghpull:`3465`: Add HTCondor bindings to IPython.parallel
649 * :ghpull:`3463`: fix typo, closes #3462
649 * :ghpull:`3463`: fix typo, closes #3462
650 * :ghpull:`3456`: Notice for users who disable javascript
650 * :ghpull:`3456`: Notice for users who disable javascript
651 * :ghpull:`3453`: fix cell execution in firefox, closes #3447
651 * :ghpull:`3453`: fix cell execution in firefox, closes #3447
652 * :ghpull:`3393`: [WIP] bootstrapify
652 * :ghpull:`3393`: [WIP] bootstrapify
653 * :ghpull:`3440`: Fix installing mathjax from downloaded file via command line
653 * :ghpull:`3440`: Fix installing mathjax from downloaded file via command line
654 * :ghpull:`3431`: Provide means for starting the Qt console maximized and with the menu bar hidden
654 * :ghpull:`3431`: Provide means for starting the Qt console maximized and with the menu bar hidden
655 * :ghpull:`3425`: base IPClusterApp inherits from BaseIPythonApp
655 * :ghpull:`3425`: base IPClusterApp inherits from BaseIPythonApp
656 * :ghpull:`3433`: Update IPython\external\path\__init__.py
656 * :ghpull:`3433`: Update IPython\external\path\__init__.py
657 * :ghpull:`3298`: Some fixes in IPython Sphinx directive
657 * :ghpull:`3298`: Some fixes in IPython Sphinx directive
658 * :ghpull:`3428`: process escapes in mathjax
658 * :ghpull:`3428`: process escapes in mathjax
659 * :ghpull:`3420`: thansk -> thanks
659 * :ghpull:`3420`: thansk -> thanks
660 * :ghpull:`3416`: Fix doc: "principle" not "principal"
660 * :ghpull:`3416`: Fix doc: "principle" not "principal"
661 * :ghpull:`3413`: more unique filename for test
661 * :ghpull:`3413`: more unique filename for test
662 * :ghpull:`3364`: Inject requirejs in notebook and start using it.
662 * :ghpull:`3364`: Inject requirejs in notebook and start using it.
663 * :ghpull:`3390`: Fix %paste with blank lines
663 * :ghpull:`3390`: Fix %paste with blank lines
664 * :ghpull:`3403`: fix creating config objects from dicts
664 * :ghpull:`3403`: fix creating config objects from dicts
665 * :ghpull:`3401`: rollback #3358
665 * :ghpull:`3401`: rollback #3358
666 * :ghpull:`3373`: make cookie_secret configurable
666 * :ghpull:`3373`: make cookie_secret configurable
667 * :ghpull:`3307`: switch default ws_url logic to js side
667 * :ghpull:`3307`: switch default ws_url logic to js side
668 * :ghpull:`3392`: Restore anchor link on h2-h6
668 * :ghpull:`3392`: Restore anchor link on h2-h6
669 * :ghpull:`3369`: Use different threshold for (auto)scroll in output
669 * :ghpull:`3369`: Use different threshold for (auto)scroll in output
670 * :ghpull:`3370`: normalize unicode notebook filenames
670 * :ghpull:`3370`: normalize unicode notebook filenames
671 * :ghpull:`3372`: base default cookie name on request host+port
671 * :ghpull:`3372`: base default cookie name on request host+port
672 * :ghpull:`3378`: disable CodeMirror drag/drop on Safari
672 * :ghpull:`3378`: disable CodeMirror drag/drop on Safari
673 * :ghpull:`3358`: workaround spurious CodeMirror scrollbars
673 * :ghpull:`3358`: workaround spurious CodeMirror scrollbars
674 * :ghpull:`3371`: make setting the notebook dirty flag an event
674 * :ghpull:`3371`: make setting the notebook dirty flag an event
675 * :ghpull:`3366`: remove long-dead zmq frontend.py and completer.py
675 * :ghpull:`3366`: remove long-dead zmq frontend.py and completer.py
676 * :ghpull:`3382`: cull Session digest history
676 * :ghpull:`3382`: cull Session digest history
677 * :ghpull:`3330`: Fix get_ipython_dir when $HOME is /
677 * :ghpull:`3330`: Fix get_ipython_dir when $HOME is /
678 * :ghpull:`3319`: IPEP 13: user-expressions and user-variables
678 * :ghpull:`3319`: IPEP 13: user-expressions and user-variables
679 * :ghpull:`3384`: comments in tools/gitwash_dumper.py changed (''' to """)
679 * :ghpull:`3384`: comments in tools/gitwash_dumper.py changed (''' to """)
680 * :ghpull:`3387`: Make submodule checks work under Python 3.
680 * :ghpull:`3387`: Make submodule checks work under Python 3.
681 * :ghpull:`3357`: move anchor-link off of heading text
681 * :ghpull:`3357`: move anchor-link off of heading text
682 * :ghpull:`3351`: start basic tests of ipcluster Launchers
682 * :ghpull:`3351`: start basic tests of ipcluster Launchers
683 * :ghpull:`3377`: allow class.__module__ to be None
683 * :ghpull:`3377`: allow class.__module__ to be None
684 * :ghpull:`3340`: skip submodule check in package managers
684 * :ghpull:`3340`: skip submodule check in package managers
685 * :ghpull:`3328`: decode subprocess output in launchers
685 * :ghpull:`3328`: decode subprocess output in launchers
686 * :ghpull:`3368`: Reenable bracket matching
686 * :ghpull:`3368`: Reenable bracket matching
687 * :ghpull:`3356`: Mpr fixes
687 * :ghpull:`3356`: Mpr fixes
688 * :ghpull:`3336`: Use new input transformation API in %time magic
688 * :ghpull:`3336`: Use new input transformation API in %time magic
689 * :ghpull:`3325`: Organize the JS and less files by component.
689 * :ghpull:`3325`: Organize the JS and less files by component.
690 * :ghpull:`3342`: fix test_find_cmd_python
690 * :ghpull:`3342`: fix test_find_cmd_python
691 * :ghpull:`3354`: catch socket.error in utils.localinterfaces
691 * :ghpull:`3354`: catch socket.error in utils.localinterfaces
692 * :ghpull:`3341`: fix default cluster count
692 * :ghpull:`3341`: fix default cluster count
693 * :ghpull:`3286`: don't use `get_ipython` from builtins in library code
693 * :ghpull:`3286`: don't use `get_ipython` from builtins in library code
694 * :ghpull:`3333`: notebookapp: add missing whitespace to warnings
694 * :ghpull:`3333`: notebookapp: add missing whitespace to warnings
695 * :ghpull:`3323`: Strip prompts even if the prompt isn't present on the first line.
695 * :ghpull:`3323`: Strip prompts even if the prompt isn't present on the first line.
696 * :ghpull:`3321`: Reorganize the python/server side of the notebook
696 * :ghpull:`3321`: Reorganize the python/server side of the notebook
697 * :ghpull:`3320`: define `__file__` in config files
697 * :ghpull:`3320`: define `__file__` in config files
698 * :ghpull:`3317`: rename `%%file` to `%%writefile`
698 * :ghpull:`3317`: rename `%%file` to `%%writefile`
699 * :ghpull:`3304`: set unlimited HWM for all relay devices
699 * :ghpull:`3304`: set unlimited HWM for all relay devices
700 * :ghpull:`3315`: Update Sympy_printing extension load
700 * :ghpull:`3315`: Update Sympy_printing extension load
701 * :ghpull:`3310`: further clarify Image docstring
701 * :ghpull:`3310`: further clarify Image docstring
702 * :ghpull:`3285`: load extensions in builtin trap
702 * :ghpull:`3285`: load extensions in builtin trap
703 * :ghpull:`3308`: Speed up AsyncResult._wait_for_outputs(0)
703 * :ghpull:`3308`: Speed up AsyncResult._wait_for_outputs(0)
704 * :ghpull:`3294`: fix callbacks as optional in js kernel.execute
704 * :ghpull:`3294`: fix callbacks as optional in js kernel.execute
705 * :ghpull:`3276`: Fix: "python ABS/PATH/TO/ipython.py" fails
705 * :ghpull:`3276`: Fix: "python ABS/PATH/TO/ipython.py" fails
706 * :ghpull:`3301`: allow python3 tests without python installed
706 * :ghpull:`3301`: allow python3 tests without python installed
707 * :ghpull:`3282`: allow view.map to work with a few more things
707 * :ghpull:`3282`: allow view.map to work with a few more things
708 * :ghpull:`3284`: remove `ipython.py` entry point
708 * :ghpull:`3284`: remove `ipython.py` entry point
709 * :ghpull:`3281`: fix ignored IOPub messages with no parent
709 * :ghpull:`3281`: fix ignored IOPub messages with no parent
710 * :ghpull:`3275`: improve submodule messages / git hooks
710 * :ghpull:`3275`: improve submodule messages / git hooks
711 * :ghpull:`3239`: Allow "x" icon and esc key to close pager in notebook
711 * :ghpull:`3239`: Allow "x" icon and esc key to close pager in notebook
712 * :ghpull:`3290`: Improved heartbeat controller to engine monitoring for long running tasks
712 * :ghpull:`3290`: Improved heartbeat controller to engine monitoring for long running tasks
713 * :ghpull:`3142`: Better error message when CWD doesn't exist on startup
713 * :ghpull:`3142`: Better error message when CWD doesn't exist on startup
714 * :ghpull:`3066`: Add support for relative import to %run -m (fixes #2727)
714 * :ghpull:`3066`: Add support for relative import to %run -m (fixes #2727)
715 * :ghpull:`3269`: protect highlight.js against unknown languages
715 * :ghpull:`3269`: protect highlight.js against unknown languages
716 * :ghpull:`3267`: add missing return
716 * :ghpull:`3267`: add missing return
717 * :ghpull:`3101`: use marked / highlight.js instead of pagedown and prettify
717 * :ghpull:`3101`: use marked / highlight.js instead of pagedown and prettify
718 * :ghpull:`3264`: use https url for submodule
718 * :ghpull:`3264`: use https url for submodule
719 * :ghpull:`3263`: fix set_last_checkpoint when no checkpoint
719 * :ghpull:`3263`: fix set_last_checkpoint when no checkpoint
720 * :ghpull:`3258`: Fix submodule location in setup.py
720 * :ghpull:`3258`: Fix submodule location in setup.py
721 * :ghpull:`3254`: fix a few URLs from previous PR
721 * :ghpull:`3254`: fix a few URLs from previous PR
722 * :ghpull:`3240`: remove js components from the repo
722 * :ghpull:`3240`: remove js components from the repo
723 * :ghpull:`3158`: IPEP 15: autosave the notebook
723 * :ghpull:`3158`: IPEP 15: autosave the notebook
724 * :ghpull:`3252`: move images out of _static folder into _images
724 * :ghpull:`3252`: move images out of _static folder into _images
725 * :ghpull:`3251`: Fix for cell magics in Qt console
725 * :ghpull:`3251`: Fix for cell magics in Qt console
726 * :ghpull:`3250`: Added a simple __html__() method to the HTML class
726 * :ghpull:`3250`: Added a simple __html__() method to the HTML class
727 * :ghpull:`3249`: remove copy of sphinx inheritance_diagram.py
727 * :ghpull:`3249`: remove copy of sphinx inheritance_diagram.py
728 * :ghpull:`3235`: Remove the unused print notebook view
728 * :ghpull:`3235`: Remove the unused print notebook view
729 * :ghpull:`3238`: Improve the design of the tab completion UI
729 * :ghpull:`3238`: Improve the design of the tab completion UI
730 * :ghpull:`3242`: Make changes of Application.log_format effective
730 * :ghpull:`3242`: Make changes of Application.log_format effective
731 * :ghpull:`3219`: Workaround so only one CTRL-C is required for a new prompt in --gui=qt
731 * :ghpull:`3219`: Workaround so only one CTRL-C is required for a new prompt in --gui=qt
732 * :ghpull:`3190`: allow formatters to specify metadata
732 * :ghpull:`3190`: allow formatters to specify metadata
733 * :ghpull:`3231`: improve discovery of public IPs
733 * :ghpull:`3231`: improve discovery of public IPs
734 * :ghpull:`3233`: check prefixes for swallowing kernel args
734 * :ghpull:`3233`: check prefixes for swallowing kernel args
735 * :ghpull:`3234`: Removing old autogrow JS code.
735 * :ghpull:`3234`: Removing old autogrow JS code.
736 * :ghpull:`3232`: Update to CodeMirror 3 and start to ship our components
736 * :ghpull:`3232`: Update to CodeMirror 3 and start to ship our components
737 * :ghpull:`3229`: The HTML output type accidentally got removed from the OutputArea.
737 * :ghpull:`3229`: The HTML output type accidentally got removed from the OutputArea.
738 * :ghpull:`3228`: Typo in IPython.Parallel documentation
738 * :ghpull:`3228`: Typo in IPython.Parallel documentation
739 * :ghpull:`3226`: Text in rename dialog was way too big - making it <p>.
739 * :ghpull:`3226`: Text in rename dialog was way too big - making it <p>.
740 * :ghpull:`3225`: Removing old restuctured text handler and web service.
740 * :ghpull:`3225`: Removing old restuctured text handler and web service.
741 * :ghpull:`3222`: make BlockingKernelClient the default Client
741 * :ghpull:`3222`: make BlockingKernelClient the default Client
742 * :ghpull:`3223`: add missing mathjax_url to new settings dict
742 * :ghpull:`3223`: add missing mathjax_url to new settings dict
743 * :ghpull:`3089`: add stdin to the notebook
743 * :ghpull:`3089`: add stdin to the notebook
744 * :ghpull:`3221`: Remove references to HTMLCell (dead code)
744 * :ghpull:`3221`: Remove references to HTMLCell (dead code)
745 * :ghpull:`3205`: add ignored ``*args`` to HasTraits constructor
745 * :ghpull:`3205`: add ignored ``*args`` to HasTraits constructor
746 * :ghpull:`3088`: cleanup IPython handler settings
746 * :ghpull:`3088`: cleanup IPython handler settings
747 * :ghpull:`3201`: use much faster regexp for ansi coloring
747 * :ghpull:`3201`: use much faster regexp for ansi coloring
748 * :ghpull:`3220`: avoid race condition in profile creation
748 * :ghpull:`3220`: avoid race condition in profile creation
749 * :ghpull:`3011`: IPEP 12: add KernelClient
749 * :ghpull:`3011`: IPEP 12: add KernelClient
750 * :ghpull:`3217`: informative error when trying to load directories
750 * :ghpull:`3217`: informative error when trying to load directories
751 * :ghpull:`3174`: Simple class
751 * :ghpull:`3174`: Simple class
752 * :ghpull:`2979`: CM configurable Take 2
752 * :ghpull:`2979`: CM configurable Take 2
753 * :ghpull:`3215`: Updates storemagic extension to allow for specifying variable name to load
753 * :ghpull:`3215`: Updates storemagic extension to allow for specifying variable name to load
754 * :ghpull:`3181`: backport If-Modified-Since fix from tornado
754 * :ghpull:`3181`: backport If-Modified-Since fix from tornado
755 * :ghpull:`3200`: IFrame (VimeoVideo, ScribdDocument, ...)
755 * :ghpull:`3200`: IFrame (VimeoVideo, ScribdDocument, ...)
756 * :ghpull:`3186`: Fix small inconsistency in nbconvert: etype -> ename
756 * :ghpull:`3186`: Fix small inconsistency in nbconvert: etype -> ename
757 * :ghpull:`3212`: Fix issue #2563, "core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation"
757 * :ghpull:`3212`: Fix issue #2563, "core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation"
758 * :ghpull:`3211`: Fix inheritance_diagram Sphinx extension for Sphinx 1.2
758 * :ghpull:`3211`: Fix inheritance_diagram Sphinx extension for Sphinx 1.2
759 * :ghpull:`3208`: Update link to extensions index
759 * :ghpull:`3208`: Update link to extensions index
760 * :ghpull:`3203`: Separate InputSplitter for transforming whole cells
760 * :ghpull:`3203`: Separate InputSplitter for transforming whole cells
761 * :ghpull:`3189`: Improve completer
761 * :ghpull:`3189`: Improve completer
762 * :ghpull:`3194`: finish up PR #3116
762 * :ghpull:`3194`: finish up PR #3116
763 * :ghpull:`3188`: Add new keycodes
763 * :ghpull:`3188`: Add new keycodes
764 * :ghpull:`2695`: Key the root modules cache by sys.path entries.
764 * :ghpull:`2695`: Key the root modules cache by sys.path entries.
765 * :ghpull:`3182`: clarify %%file docstring
765 * :ghpull:`3182`: clarify %%file docstring
766 * :ghpull:`3163`: BUG: Fix the set and frozenset pretty printer to handle the empty case correctly
766 * :ghpull:`3163`: BUG: Fix the set and frozenset pretty printer to handle the empty case correctly
767 * :ghpull:`3180`: better UsageError for cell magic with no body
767 * :ghpull:`3180`: better UsageError for cell magic with no body
768 * :ghpull:`3184`: Cython cache
768 * :ghpull:`3184`: Cython cache
769 * :ghpull:`3175`: Added missing s
769 * :ghpull:`3175`: Added missing s
770 * :ghpull:`3173`: Little bits of documentation cleanup
770 * :ghpull:`3173`: Little bits of documentation cleanup
771 * :ghpull:`2635`: Improve Windows start menu shortcuts (#2)
771 * :ghpull:`2635`: Improve Windows start menu shortcuts (#2)
772 * :ghpull:`3172`: Add missing import in IPython parallel magics example
772 * :ghpull:`3172`: Add missing import in IPython parallel magics example
773 * :ghpull:`3170`: default application logger shouldn't propagate
773 * :ghpull:`3170`: default application logger shouldn't propagate
774 * :ghpull:`3159`: Autocompletion for zsh
774 * :ghpull:`3159`: Autocompletion for zsh
775 * :ghpull:`3105`: move DEFAULT_STATIC_FILES_PATH to IPython.html
775 * :ghpull:`3105`: move DEFAULT_STATIC_FILES_PATH to IPython.html
776 * :ghpull:`3144`: minor bower tweaks
776 * :ghpull:`3144`: minor bower tweaks
777 * :ghpull:`3141`: Default color output for ls on OSX
777 * :ghpull:`3141`: Default color output for ls on OSX
778 * :ghpull:`3137`: fix dot syntax error in inheritance diagram
778 * :ghpull:`3137`: fix dot syntax error in inheritance diagram
779 * :ghpull:`3072`: raise UnsupportedOperation on iostream.fileno()
779 * :ghpull:`3072`: raise UnsupportedOperation on iostream.fileno()
780 * :ghpull:`3147`: Notebook support for a reverse proxy which handles SSL
780 * :ghpull:`3147`: Notebook support for a reverse proxy which handles SSL
781 * :ghpull:`3152`: make qtconsole size at startup configurable
781 * :ghpull:`3152`: make qtconsole size at startup configurable
782 * :ghpull:`3162`: adding stream kwarg to current.new_output
782 * :ghpull:`3162`: adding stream kwarg to current.new_output
783 * :ghpull:`2981`: IPEP 10: kernel side filtering of display formats
783 * :ghpull:`2981`: IPEP 10: kernel side filtering of display formats
784 * :ghpull:`3058`: add redirect handler for notebooks by name
784 * :ghpull:`3058`: add redirect handler for notebooks by name
785 * :ghpull:`3041`: support non-modules in @require
785 * :ghpull:`3041`: support non-modules in @require
786 * :ghpull:`2447`: Stateful line transformers
786 * :ghpull:`2447`: Stateful line transformers
787 * :ghpull:`3108`: fix some O(N) and O(N^2) operations in parallel.map
787 * :ghpull:`3108`: fix some O(N) and O(N^2) operations in parallel.map
788 * :ghpull:`2791`: forward stdout from forked processes
788 * :ghpull:`2791`: forward stdout from forked processes
789 * :ghpull:`3157`: use Python 3-style for pretty-printed sets
789 * :ghpull:`3157`: use Python 3-style for pretty-printed sets
790 * :ghpull:`3148`: closes #3045, #3123 for tornado < version 3.0
790 * :ghpull:`3148`: closes #3045, #3123 for tornado < version 3.0
791 * :ghpull:`3143`: minor heading-link tweaks
791 * :ghpull:`3143`: minor heading-link tweaks
792 * :ghpull:`3136`: Strip useless ANSI escape codes in notebook
792 * :ghpull:`3136`: Strip useless ANSI escape codes in notebook
793 * :ghpull:`3126`: Prevent errors when pressing arrow keys in an empty notebook
793 * :ghpull:`3126`: Prevent errors when pressing arrow keys in an empty notebook
794 * :ghpull:`3135`: quick dev installation instructions
794 * :ghpull:`3135`: quick dev installation instructions
795 * :ghpull:`2889`: Push pandas dataframes to R magic
795 * :ghpull:`2889`: Push pandas dataframes to R magic
796 * :ghpull:`3068`: Don't monkeypatch doctest during IPython startup.
796 * :ghpull:`3068`: Don't monkeypatch doctest during IPython startup.
797 * :ghpull:`3133`: fix argparse version check
797 * :ghpull:`3133`: fix argparse version check
798 * :ghpull:`3102`: set `spellcheck=false` in CodeCell inputarea
798 * :ghpull:`3102`: set `spellcheck=false` in CodeCell inputarea
799 * :ghpull:`3064`: add anchors to heading cells
799 * :ghpull:`3064`: add anchors to heading cells
800 * :ghpull:`3097`: PyQt 4.10: use self._document = self.document()
800 * :ghpull:`3097`: PyQt 4.10: use self._document = self.document()
801 * :ghpull:`3117`: propagate automagic change to shell
801 * :ghpull:`3117`: propagate automagic change to shell
802 * :ghpull:`3118`: don't give up on weird os names
802 * :ghpull:`3118`: don't give up on weird os names
803 * :ghpull:`3115`: Fix example
803 * :ghpull:`3115`: Fix example
804 * :ghpull:`2640`: fix quarantine/ipy_editors.py
804 * :ghpull:`2640`: fix quarantine/ipy_editors.py
805 * :ghpull:`3070`: Add info make target that was missing in old Sphinx
805 * :ghpull:`3070`: Add info make target that was missing in old Sphinx
806 * :ghpull:`3082`: A few small patches to image handling
806 * :ghpull:`3082`: A few small patches to image handling
807 * :ghpull:`3078`: fix regular expression for detecting links in stdout
807 * :ghpull:`3078`: fix regular expression for detecting links in stdout
808 * :ghpull:`3054`: restore default behavior for automatic cluster size
808 * :ghpull:`3054`: restore default behavior for automatic cluster size
809 * :ghpull:`3073`: fix ipython usage text
809 * :ghpull:`3073`: fix ipython usage text
810 * :ghpull:`3083`: fix DisplayMagics.html docstring
810 * :ghpull:`3083`: fix DisplayMagics.html docstring
811 * :ghpull:`3080`: noted sub_channel being renamed to iopub_channel
811 * :ghpull:`3080`: noted sub_channel being renamed to iopub_channel
812 * :ghpull:`3079`: actually use IPKernelApp.kernel_class
812 * :ghpull:`3079`: actually use IPKernelApp.kernel_class
813 * :ghpull:`3076`: Improve notebook.js documentation
813 * :ghpull:`3076`: Improve notebook.js documentation
814 * :ghpull:`3063`: add missing `%%html` magic
814 * :ghpull:`3063`: add missing `%%html` magic
815 * :ghpull:`3075`: check for SIGUSR1 before using it, closes #3074
815 * :ghpull:`3075`: check for SIGUSR1 before using it, closes #3074
816 * :ghpull:`3051`: add width:100% to vbox for webkit / FF consistency
816 * :ghpull:`3051`: add width:100% to vbox for webkit / FF consistency
817 * :ghpull:`2999`: increase registration timeout
817 * :ghpull:`2999`: increase registration timeout
818 * :ghpull:`2997`: fix DictDB default size limit
818 * :ghpull:`2997`: fix DictDB default size limit
819 * :ghpull:`3033`: on resume, print server info again
819 * :ghpull:`3033`: on resume, print server info again
820 * :ghpull:`3062`: test double pyximport
820 * :ghpull:`3062`: test double pyximport
821 * :ghpull:`3046`: cast kernel cwd to bytes on Python 2 on Windows
821 * :ghpull:`3046`: cast kernel cwd to bytes on Python 2 on Windows
822 * :ghpull:`3038`: remove xml from notebook magic docstrings
822 * :ghpull:`3038`: remove xml from notebook magic docstrings
823 * :ghpull:`3032`: fix time format to international time format
823 * :ghpull:`3032`: fix time format to international time format
824 * :ghpull:`3022`: Fix test for Windows
824 * :ghpull:`3022`: Fix test for Windows
825 * :ghpull:`3024`: changed instances of 'outout' to 'output' in alt texts
825 * :ghpull:`3024`: changed instances of 'outout' to 'output' in alt texts
826 * :ghpull:`3013`: py3 workaround for reload in cythonmagic
826 * :ghpull:`3013`: py3 workaround for reload in cythonmagic
827 * :ghpull:`2961`: time magic: shorten unnecessary output on windows
827 * :ghpull:`2961`: time magic: shorten unnecessary output on windows
828 * :ghpull:`2987`: fix local files examples in markdown
828 * :ghpull:`2987`: fix local files examples in markdown
829 * :ghpull:`2998`: fix css in .output_area pre
829 * :ghpull:`2998`: fix css in .output_area pre
830 * :ghpull:`3003`: add $include /etc/inputrc to suggested ~/.inputrc
830 * :ghpull:`3003`: add $include /etc/inputrc to suggested ~/.inputrc
831 * :ghpull:`2957`: Refactor qt import logic. Fixes #2955
831 * :ghpull:`2957`: Refactor qt import logic. Fixes #2955
832 * :ghpull:`2994`: expanduser on %%file targets
832 * :ghpull:`2994`: expanduser on %%file targets
833 * :ghpull:`2983`: fix run-all (that-> this)
833 * :ghpull:`2983`: fix run-all (that-> this)
834 * :ghpull:`2964`: fix count when testing composite error output
834 * :ghpull:`2964`: fix count when testing composite error output
835 * :ghpull:`2967`: shows entire session history when only startsess is given
835 * :ghpull:`2967`: shows entire session history when only startsess is given
836 * :ghpull:`2942`: Move CM IPython theme out of codemirror folder
836 * :ghpull:`2942`: Move CM IPython theme out of codemirror folder
837 * :ghpull:`2929`: Cleanup cell insertion
837 * :ghpull:`2929`: Cleanup cell insertion
838 * :ghpull:`2933`: Minordocupdate
838 * :ghpull:`2933`: Minordocupdate
839 * :ghpull:`2968`: fix notebook deletion.
839 * :ghpull:`2968`: fix notebook deletion.
840 * :ghpull:`2966`: Added assert msg to extract_hist_ranges()
840 * :ghpull:`2966`: Added assert msg to extract_hist_ranges()
841 * :ghpull:`2959`: Add command to trim the history database.
841 * :ghpull:`2959`: Add command to trim the history database.
842 * :ghpull:`2681`: Don't enable pylab mode, when matplotlib is not importable
842 * :ghpull:`2681`: Don't enable pylab mode, when matplotlib is not importable
843 * :ghpull:`2901`: Fix inputhook_wx on osx
843 * :ghpull:`2901`: Fix inputhook_wx on osx
844 * :ghpull:`2871`: truncate potentially long CompositeErrors
844 * :ghpull:`2871`: truncate potentially long CompositeErrors
845 * :ghpull:`2951`: use istype on lists/tuples
845 * :ghpull:`2951`: use istype on lists/tuples
846 * :ghpull:`2946`: fix qtconsole history logic for end-of-line
846 * :ghpull:`2946`: fix qtconsole history logic for end-of-line
847 * :ghpull:`2954`: fix logic for append_javascript
847 * :ghpull:`2954`: fix logic for append_javascript
848 * :ghpull:`2941`: fix baseUrl
848 * :ghpull:`2941`: fix baseUrl
849 * :ghpull:`2903`: Specify toggle value on cell line number
849 * :ghpull:`2903`: Specify toggle value on cell line number
850 * :ghpull:`2911`: display order in output area configurable
850 * :ghpull:`2911`: display order in output area configurable
851 * :ghpull:`2897`: Dont rely on BaseProjectUrl data in body tag
851 * :ghpull:`2897`: Don't rely on BaseProjectUrl data in body tag
852 * :ghpull:`2894`: Cm configurable
852 * :ghpull:`2894`: Cm configurable
853 * :ghpull:`2927`: next release will be 1.0
853 * :ghpull:`2927`: next release will be 1.0
854 * :ghpull:`2932`: Simplify using notebook static files from external code
854 * :ghpull:`2932`: Simplify using notebook static files from external code
855 * :ghpull:`2915`: added small config section to notebook docs page
855 * :ghpull:`2915`: added small config section to notebook docs page
856 * :ghpull:`2924`: safe_run_module: Silence SystemExit codes 0 and None.
856 * :ghpull:`2924`: safe_run_module: Silence SystemExit codes 0 and None.
857 * :ghpull:`2906`: Unpatch/Monkey patch CM
857 * :ghpull:`2906`: Unpatch/Monkey patch CM
858 * :ghpull:`2921`: add menu item for undo delete cell
858 * :ghpull:`2921`: add menu item for undo delete cell
859 * :ghpull:`2917`: Don't add logging handler if one already exists.
859 * :ghpull:`2917`: Don't add logging handler if one already exists.
860 * :ghpull:`2910`: Respect DB_IP and DB_PORT in mongodb tests
860 * :ghpull:`2910`: Respect DB_IP and DB_PORT in mongodb tests
861 * :ghpull:`2926`: Don't die if stderr/stdout do not support set_parent() #2925
861 * :ghpull:`2926`: Don't die if stderr/stdout do not support set_parent() #2925
862 * :ghpull:`2885`: get monospace pager back
862 * :ghpull:`2885`: get monospace pager back
863 * :ghpull:`2876`: fix celltoolbar layout on FF
863 * :ghpull:`2876`: fix celltoolbar layout on FF
864 * :ghpull:`2904`: Skip remaining IPC test on Windows
864 * :ghpull:`2904`: Skip remaining IPC test on Windows
865 * :ghpull:`2908`: fix last remaining KernelApp reference
865 * :ghpull:`2908`: fix last remaining KernelApp reference
866 * :ghpull:`2905`: fix a few remaining KernelApp/IPKernelApp changes
866 * :ghpull:`2905`: fix a few remaining KernelApp/IPKernelApp changes
867 * :ghpull:`2900`: Don't assume test case for %time will finish in 0 time
867 * :ghpull:`2900`: Don't assume test case for %time will finish in 0 time
868 * :ghpull:`2893`: exclude fabfile from tests
868 * :ghpull:`2893`: exclude fabfile from tests
869 * :ghpull:`2884`: Correct import for kernelmanager on Windows
869 * :ghpull:`2884`: Correct import for kernelmanager on Windows
870 * :ghpull:`2882`: Utils cleanup
870 * :ghpull:`2882`: Utils cleanup
871 * :ghpull:`2883`: Don't call ast.fix_missing_locations unless the AST could have been modified
871 * :ghpull:`2883`: Don't call ast.fix_missing_locations unless the AST could have been modified
872 * :ghpull:`2855`: time(it) magic: Implement minutes/hour formatting and "%%time" cell magic
872 * :ghpull:`2855`: time(it) magic: Implement minutes/hour formatting and "%%time" cell magic
873 * :ghpull:`2874`: Empty cell warnings
873 * :ghpull:`2874`: Empty cell warnings
874 * :ghpull:`2819`: tweak history prefix search (up/^p) in qtconsole
874 * :ghpull:`2819`: tweak history prefix search (up/^p) in qtconsole
875 * :ghpull:`2868`: Import performance
875 * :ghpull:`2868`: Import performance
876 * :ghpull:`2877`: minor css fixes
876 * :ghpull:`2877`: minor css fixes
877 * :ghpull:`2880`: update examples docs with kernel move
877 * :ghpull:`2880`: update examples docs with kernel move
878 * :ghpull:`2878`: Pass host environment on to kernel
878 * :ghpull:`2878`: Pass host environment on to kernel
879 * :ghpull:`2599`: func_kw_complete for builtin and cython with embededsignature=True using docstring
879 * :ghpull:`2599`: func_kw_complete for builtin and cython with embededsignature=True using docstring
880 * :ghpull:`2792`: Add key "unique" to history_request protocol
880 * :ghpull:`2792`: Add key "unique" to history_request protocol
881 * :ghpull:`2872`: fix payload keys
881 * :ghpull:`2872`: fix payload keys
882 * :ghpull:`2869`: Fixing styling of toolbar selects on FF.
882 * :ghpull:`2869`: Fixing styling of toolbar selects on FF.
883 * :ghpull:`2708`: Less css
883 * :ghpull:`2708`: Less css
884 * :ghpull:`2854`: Move kernel code into IPython.kernel
884 * :ghpull:`2854`: Move kernel code into IPython.kernel
885 * :ghpull:`2864`: Fix %run -t -N<N> TypeError
885 * :ghpull:`2864`: Fix %run -t -N<N> TypeError
886 * :ghpull:`2852`: future pyzmq compatibility
886 * :ghpull:`2852`: future pyzmq compatibility
887 * :ghpull:`2863`: whatsnew/version0.9.txt: Fix '~./ipython' -> '~/.ipython' typo
887 * :ghpull:`2863`: whatsnew/version0.9.txt: Fix '~./ipython' -> '~/.ipython' typo
888 * :ghpull:`2861`: add missing KernelManager to ConsoleApp class list
888 * :ghpull:`2861`: add missing KernelManager to ConsoleApp class list
889 * :ghpull:`2850`: Consolidate host IP detection in utils.localinterfaces
889 * :ghpull:`2850`: Consolidate host IP detection in utils.localinterfaces
890 * :ghpull:`2859`: Correct docstring of ipython.py
890 * :ghpull:`2859`: Correct docstring of ipython.py
891 * :ghpull:`2831`: avoid string version comparisons in external.qt
891 * :ghpull:`2831`: avoid string version comparisons in external.qt
892 * :ghpull:`2844`: this should address the failure in #2732
892 * :ghpull:`2844`: this should address the failure in #2732
893 * :ghpull:`2849`: utils/data: Use list comprehension for uniq_stable()
893 * :ghpull:`2849`: utils/data: Use list comprehension for uniq_stable()
894 * :ghpull:`2839`: add jinja to install docs / setup.py
894 * :ghpull:`2839`: add jinja to install docs / setup.py
895 * :ghpull:`2841`: Miscellaneous docs fixes
895 * :ghpull:`2841`: Miscellaneous docs fixes
896 * :ghpull:`2811`: Still more KernelManager cleanup
896 * :ghpull:`2811`: Still more KernelManager cleanup
897 * :ghpull:`2820`: add '=' to greedy completer delims
897 * :ghpull:`2820`: add '=' to greedy completer delims
898 * :ghpull:`2818`: log user tracebacks in the kernel (INFO-level)
898 * :ghpull:`2818`: log user tracebacks in the kernel (INFO-level)
899 * :ghpull:`2828`: Clean up notebook Javascript
899 * :ghpull:`2828`: Clean up notebook Javascript
900 * :ghpull:`2829`: avoid comparison error in dictdb hub history
900 * :ghpull:`2829`: avoid comparison error in dictdb hub history
901 * :ghpull:`2830`: BUG: Opening parenthesis after non-callable raises ValueError
901 * :ghpull:`2830`: BUG: Opening parenthesis after non-callable raises ValueError
902 * :ghpull:`2718`: try to fallback to pysqlite2.dbapi2 as sqlite3 in core.history
902 * :ghpull:`2718`: try to fallback to pysqlite2.dbapi2 as sqlite3 in core.history
903 * :ghpull:`2816`: in %edit, don't save "last_call" unless last call succeeded
903 * :ghpull:`2816`: in %edit, don't save "last_call" unless last call succeeded
904 * :ghpull:`2817`: change ol format order
904 * :ghpull:`2817`: change ol format order
905 * :ghpull:`2537`: Organize example notebooks
905 * :ghpull:`2537`: Organize example notebooks
906 * :ghpull:`2815`: update release/authors
906 * :ghpull:`2815`: update release/authors
907 * :ghpull:`2808`: improve patience for slow Hub in client tests
907 * :ghpull:`2808`: improve patience for slow Hub in client tests
908 * :ghpull:`2812`: remove nonfunctional `-la` short arg in cython magic
908 * :ghpull:`2812`: remove nonfunctional `-la` short arg in cython magic
909 * :ghpull:`2810`: remove dead utils.upgradedir
909 * :ghpull:`2810`: remove dead utils.upgradedir
910 * :ghpull:`1671`: __future__ environments
910 * :ghpull:`1671`: __future__ environments
911 * :ghpull:`2804`: skip ipc tests on Windows
911 * :ghpull:`2804`: skip ipc tests on Windows
912 * :ghpull:`2789`: Fixing styling issues with CellToolbar.
912 * :ghpull:`2789`: Fixing styling issues with CellToolbar.
913 * :ghpull:`2805`: fix KeyError creating ZMQStreams in notebook
913 * :ghpull:`2805`: fix KeyError creating ZMQStreams in notebook
914 * :ghpull:`2775`: General cleanup of kernel manager code.
914 * :ghpull:`2775`: General cleanup of kernel manager code.
915 * :ghpull:`2340`: Initial Code to reduce parallel.Client caching
915 * :ghpull:`2340`: Initial Code to reduce parallel.Client caching
916 * :ghpull:`2799`: Exit code
916 * :ghpull:`2799`: Exit code
917 * :ghpull:`2800`: use `type(obj) is cls` as switch when canning
917 * :ghpull:`2800`: use `type(obj) is cls` as switch when canning
918 * :ghpull:`2801`: Fix a breakpoint bug
918 * :ghpull:`2801`: Fix a breakpoint bug
919 * :ghpull:`2795`: Remove outdated code from extensions.autoreload
919 * :ghpull:`2795`: Remove outdated code from extensions.autoreload
920 * :ghpull:`2796`: P3K: fix cookie parsing under Python 3.x (+ duplicate import is removed)
920 * :ghpull:`2796`: P3K: fix cookie parsing under Python 3.x (+ duplicate import is removed)
921 * :ghpull:`2724`: In-process kernel support (take 3)
921 * :ghpull:`2724`: In-process kernel support (take 3)
922 * :ghpull:`2687`: [WIP] Metaui slideshow
922 * :ghpull:`2687`: [WIP] Metaui slideshow
923 * :ghpull:`2788`: Chrome frame awareness
923 * :ghpull:`2788`: Chrome frame awareness
924 * :ghpull:`2649`: Add version_request/reply messaging protocol
924 * :ghpull:`2649`: Add version_request/reply messaging protocol
925 * :ghpull:`2753`: add `%%px --local` for local execution
925 * :ghpull:`2753`: add `%%px --local` for local execution
926 * :ghpull:`2783`: Prefilter shouldn't touch execution_count
926 * :ghpull:`2783`: Prefilter shouldn't touch execution_count
927 * :ghpull:`2333`: UI For Metadata
927 * :ghpull:`2333`: UI For Metadata
928 * :ghpull:`2396`: create a ipynbv3 json schema and a validator
928 * :ghpull:`2396`: create a ipynbv3 json schema and a validator
929 * :ghpull:`2757`: check for complete pyside presence before trying to import
929 * :ghpull:`2757`: check for complete pyside presence before trying to import
930 * :ghpull:`2782`: Allow the %run magic with '-b' to specify a file.
930 * :ghpull:`2782`: Allow the %run magic with '-b' to specify a file.
931 * :ghpull:`2778`: P3K: fix DeprecationWarning under Python 3.x
931 * :ghpull:`2778`: P3K: fix DeprecationWarning under Python 3.x
932 * :ghpull:`2776`: remove non-functional View.kill method
932 * :ghpull:`2776`: remove non-functional View.kill method
933 * :ghpull:`2755`: can interactively defined classes
933 * :ghpull:`2755`: can interactively defined classes
934 * :ghpull:`2774`: Removing unused code in the notebook MappingKernelManager.
934 * :ghpull:`2774`: Removing unused code in the notebook MappingKernelManager.
935 * :ghpull:`2773`: Fixed minor typo causing AttributeError to be thrown.
935 * :ghpull:`2773`: Fixed minor typo causing AttributeError to be thrown.
936 * :ghpull:`2609`: Add 'unique' option to history_request messaging protocol
936 * :ghpull:`2609`: Add 'unique' option to history_request messaging protocol
937 * :ghpull:`2769`: Allow shutdown when no engines are registered
937 * :ghpull:`2769`: Allow shutdown when no engines are registered
938 * :ghpull:`2766`: Define __file__ when we %edit a real file.
938 * :ghpull:`2766`: Define __file__ when we %edit a real file.
939 * :ghpull:`2476`: allow %edit <variable> to work when interactively defined
939 * :ghpull:`2476`: allow %edit <variable> to work when interactively defined
940 * :ghpull:`2763`: Reset readline delimiters after loading rmagic.
940 * :ghpull:`2763`: Reset readline delimiters after loading rmagic.
941 * :ghpull:`2460`: Better handling of `__file__` when running scripts.
941 * :ghpull:`2460`: Better handling of `__file__` when running scripts.
942 * :ghpull:`2617`: Fix for `units` argument. Adds a `res` argument.
942 * :ghpull:`2617`: Fix for `units` argument. Adds a `res` argument.
943 * :ghpull:`2738`: Unicode content crashes the pager (console)
943 * :ghpull:`2738`: Unicode content crashes the pager (console)
944 * :ghpull:`2749`: Tell Travis CI to test on Python 3.3 as well
944 * :ghpull:`2749`: Tell Travis CI to test on Python 3.3 as well
945 * :ghpull:`2744`: Don't show 'try %paste' message while using magics
945 * :ghpull:`2744`: Don't show 'try %paste' message while using magics
946 * :ghpull:`2728`: shift tab for tooltip
946 * :ghpull:`2728`: shift tab for tooltip
947 * :ghpull:`2741`: Add note to `%cython` Black-Scholes example warning of missing erf.
947 * :ghpull:`2741`: Add note to `%cython` Black-Scholes example warning of missing erf.
948 * :ghpull:`2743`: BUG: Octavemagic inline plots not working on Windows: Fixed
948 * :ghpull:`2743`: BUG: Octavemagic inline plots not working on Windows: Fixed
949 * :ghpull:`2740`: Following #2737 this error is now a name error
949 * :ghpull:`2740`: Following #2737 this error is now a name error
950 * :ghpull:`2737`: Rmagic: error message when moving an non-existant variable from python to R
950 * :ghpull:`2737`: Rmagic: error message when moving an non-existant variable from python to R
951 * :ghpull:`2723`: diverse fixes for project url
951 * :ghpull:`2723`: diverse fixes for project url
952 * :ghpull:`2731`: %Rpush: Look for variables in the local scope first.
952 * :ghpull:`2731`: %Rpush: Look for variables in the local scope first.
953 * :ghpull:`2544`: Infinite loop when multiple debuggers have been attached.
953 * :ghpull:`2544`: Infinite loop when multiple debuggers have been attached.
954 * :ghpull:`2726`: Add qthelp docs creation
954 * :ghpull:`2726`: Add qthelp docs creation
955 * :ghpull:`2730`: added blockquote CSS
955 * :ghpull:`2730`: added blockquote CSS
956 * :ghpull:`2729`: Fix Read the doc build, Again
956 * :ghpull:`2729`: Fix Read the doc build, Again
957 * :ghpull:`2446`: [alternate 2267] Offline mathjax
957 * :ghpull:`2446`: [alternate 2267] Offline mathjax
958 * :ghpull:`2716`: remove unexisting headings level
958 * :ghpull:`2716`: remove unexisting headings level
959 * :ghpull:`2717`: One liner to fix debugger printing stack traces when lines of context are larger than source.
959 * :ghpull:`2717`: One liner to fix debugger printing stack traces when lines of context are larger than source.
960 * :ghpull:`2713`: Doc bugfix: user_ns is not an attribute of Magic objects.
960 * :ghpull:`2713`: Doc bugfix: user_ns is not an attribute of Magic objects.
961 * :ghpull:`2690`: Fix 'import '... completion for py3 & egg files.
961 * :ghpull:`2690`: Fix 'import '... completion for py3 & egg files.
962 * :ghpull:`2691`: Document OpenMP in %%cython magic
962 * :ghpull:`2691`: Document OpenMP in %%cython magic
963 * :ghpull:`2699`: fix jinja2 rendering for password protected notebooks
963 * :ghpull:`2699`: fix jinja2 rendering for password protected notebooks
964 * :ghpull:`2700`: Skip notebook testing if jinja2 is not available.
964 * :ghpull:`2700`: Skip notebook testing if jinja2 is not available.
965 * :ghpull:`2692`: Add %%cython magics to generated documentation.
965 * :ghpull:`2692`: Add %%cython magics to generated documentation.
966 * :ghpull:`2685`: Fix pretty print of types when `__module__` is not available.
966 * :ghpull:`2685`: Fix pretty print of types when `__module__` is not available.
967 * :ghpull:`2686`: Fix tox.ini
967 * :ghpull:`2686`: Fix tox.ini
968 * :ghpull:`2604`: Backslashes are misinterpreted as escape-sequences by the R-interpreter.
968 * :ghpull:`2604`: Backslashes are misinterpreted as escape-sequences by the R-interpreter.
969 * :ghpull:`2689`: fix error in doc (arg->kwarg) and pep-8
969 * :ghpull:`2689`: fix error in doc (arg->kwarg) and pep-8
970 * :ghpull:`2683`: for downloads, replaced window.open with window.location.assign
970 * :ghpull:`2683`: for downloads, replaced window.open with window.location.assign
971 * :ghpull:`2659`: small bugs in js are fixed
971 * :ghpull:`2659`: small bugs in js are fixed
972 * :ghpull:`2363`: Refactor notebook templates to use Jinja2
972 * :ghpull:`2363`: Refactor notebook templates to use Jinja2
973 * :ghpull:`2662`: qtconsole: wrap argument list in tooltip to match width of text body
973 * :ghpull:`2662`: qtconsole: wrap argument list in tooltip to match width of text body
974 * :ghpull:`2328`: addition of classes to generate a link or list of links from files local to the IPython HTML notebook
974 * :ghpull:`2328`: addition of classes to generate a link or list of links from files local to the IPython HTML notebook
975 * :ghpull:`2668`: pylab_not_importable: Catch all exceptions, not just RuntimeErrors.
975 * :ghpull:`2668`: pylab_not_importable: Catch all exceptions, not just RuntimeErrors.
976 * :ghpull:`2663`: Fix issue #2660: parsing of help and version arguments
976 * :ghpull:`2663`: Fix issue #2660: parsing of help and version arguments
977 * :ghpull:`2656`: Fix irunner tests when $PYTHONSTARTUP is set
977 * :ghpull:`2656`: Fix irunner tests when $PYTHONSTARTUP is set
978 * :ghpull:`2312`: Add bracket matching to code cells in notebook
978 * :ghpull:`2312`: Add bracket matching to code cells in notebook
979 * :ghpull:`2571`: Start to document Javascript
979 * :ghpull:`2571`: Start to document Javascript
980 * :ghpull:`2641`: undefinied that -> this
980 * :ghpull:`2641`: undefinied that -> this
981 * :ghpull:`2638`: Fix %paste in Python 3 on Mac
981 * :ghpull:`2638`: Fix %paste in Python 3 on Mac
982 * :ghpull:`2301`: Ast transfomers
982 * :ghpull:`2301`: Ast transfomers
983 * :ghpull:`2616`: Revamp API docs
983 * :ghpull:`2616`: Revamp API docs
984 * :ghpull:`2572`: Make 'Paste Above' the default paste behavior.
984 * :ghpull:`2572`: Make 'Paste Above' the default paste behavior.
985 * :ghpull:`2574`: Fix #2244
985 * :ghpull:`2574`: Fix #2244
986 * :ghpull:`2582`: Fix displaying history when output cache is disabled.
986 * :ghpull:`2582`: Fix displaying history when output cache is disabled.
987 * :ghpull:`2591`: Fix for Issue #2584
987 * :ghpull:`2591`: Fix for Issue #2584
988 * :ghpull:`2526`: Don't kill paramiko tunnels when receiving ^C
988 * :ghpull:`2526`: Don't kill paramiko tunnels when receiving ^C
989 * :ghpull:`2559`: Add psource, pfile, pinfo2 commands to ipdb.
989 * :ghpull:`2559`: Add psource, pfile, pinfo2 commands to ipdb.
990 * :ghpull:`2546`: use 4 Pythons to build 4 Windows installers
990 * :ghpull:`2546`: use 4 Pythons to build 4 Windows installers
991 * :ghpull:`2561`: Fix display of plain text containing multiple carriage returns before line feed
991 * :ghpull:`2561`: Fix display of plain text containing multiple carriage returns before line feed
992 * :ghpull:`2549`: Add a simple 'undo' for cell deletion.
992 * :ghpull:`2549`: Add a simple 'undo' for cell deletion.
993 * :ghpull:`2525`: Add event to kernel execution/shell reply.
993 * :ghpull:`2525`: Add event to kernel execution/shell reply.
994 * :ghpull:`2554`: Avoid stopping in ipdb until we reach the main script.
994 * :ghpull:`2554`: Avoid stopping in ipdb until we reach the main script.
995 * :ghpull:`2404`: Option to limit search result in history magic command
995 * :ghpull:`2404`: Option to limit search result in history magic command
996 * :ghpull:`2294`: inputhook_qt4: Use QEventLoop instead of starting up the QCoreApplication
996 * :ghpull:`2294`: inputhook_qt4: Use QEventLoop instead of starting up the QCoreApplication
997 * :ghpull:`2233`: Refactored Drag and Drop Support in Qt Console
997 * :ghpull:`2233`: Refactored Drag and Drop Support in Qt Console
998 * :ghpull:`1747`: switch between hsplit and vsplit paging (request for feedback)
998 * :ghpull:`1747`: switch between hsplit and vsplit paging (request for feedback)
999 * :ghpull:`2530`: Adding time offsets to the video
999 * :ghpull:`2530`: Adding time offsets to the video
1000 * :ghpull:`2542`: Allow starting IPython as `python -m IPython`.
1000 * :ghpull:`2542`: Allow starting IPython as `python -m IPython`.
1001 * :ghpull:`2534`: Do not unescape backslashes in Windows (shellglob)
1001 * :ghpull:`2534`: Do not unescape backslashes in Windows (shellglob)
1002 * :ghpull:`2517`: Improved MathJax, bug fixes
1002 * :ghpull:`2517`: Improved MathJax, bug fixes
1003 * :ghpull:`2511`: trigger default remote_profile_dir when profile_dir is set
1003 * :ghpull:`2511`: trigger default remote_profile_dir when profile_dir is set
1004 * :ghpull:`2491`: color is supported in ironpython
1004 * :ghpull:`2491`: color is supported in ironpython
1005 * :ghpull:`2462`: Track which extensions are loaded
1005 * :ghpull:`2462`: Track which extensions are loaded
1006 * :ghpull:`2464`: Locate URLs in text output and convert them to hyperlinks.
1006 * :ghpull:`2464`: Locate URLs in text output and convert them to hyperlinks.
1007 * :ghpull:`2490`: add ZMQInteractiveShell to IPEngineApp class list
1007 * :ghpull:`2490`: add ZMQInteractiveShell to IPEngineApp class list
1008 * :ghpull:`2498`: Don't catch tab press when something selected
1008 * :ghpull:`2498`: Don't catch tab press when something selected
1009 * :ghpull:`2527`: Run All Above and Run All Below
1009 * :ghpull:`2527`: Run All Above and Run All Below
1010 * :ghpull:`2513`: add GitHub uploads to release script
1010 * :ghpull:`2513`: add GitHub uploads to release script
1011 * :ghpull:`2529`: Windows aware tests for shellglob
1011 * :ghpull:`2529`: Windows aware tests for shellglob
1012 * :ghpull:`2478`: Fix doctest_run_option_parser for Windows
1012 * :ghpull:`2478`: Fix doctest_run_option_parser for Windows
1013 * :ghpull:`2519`: clear In[ ] prompt numbers again
1013 * :ghpull:`2519`: clear In[ ] prompt numbers again
1014 * :ghpull:`2467`: Clickable links
1014 * :ghpull:`2467`: Clickable links
1015 * :ghpull:`2500`: Add `encoding` attribute to `OutStream` class.
1015 * :ghpull:`2500`: Add `encoding` attribute to `OutStream` class.
1016 * :ghpull:`2349`: ENH: added StackExchange-style MathJax filtering
1016 * :ghpull:`2349`: ENH: added StackExchange-style MathJax filtering
1017 * :ghpull:`2503`: Fix traceback handling of SyntaxErrors without line numbers.
1017 * :ghpull:`2503`: Fix traceback handling of SyntaxErrors without line numbers.
1018 * :ghpull:`2492`: add missing 'qtconsole' extras_require
1018 * :ghpull:`2492`: add missing 'qtconsole' extras_require
1019 * :ghpull:`2480`: Add deprecation warnings for sympyprinting
1019 * :ghpull:`2480`: Add deprecation warnings for sympyprinting
1020 * :ghpull:`2334`: Make the ipengine monitor the ipcontroller heartbeat and die if the ipcontroller goes down
1020 * :ghpull:`2334`: Make the ipengine monitor the ipcontroller heartbeat and die if the ipcontroller goes down
1021 * :ghpull:`2479`: use new _winapi instead of removed _subprocess
1021 * :ghpull:`2479`: use new _winapi instead of removed _subprocess
1022 * :ghpull:`2474`: fix bootstrap name conflicts
1022 * :ghpull:`2474`: fix bootstrap name conflicts
1023 * :ghpull:`2469`: Treat __init__.pyc same as __init__.py in module_list
1023 * :ghpull:`2469`: Treat __init__.pyc same as __init__.py in module_list
1024 * :ghpull:`2165`: Add -g option to %run to glob expand arguments
1024 * :ghpull:`2165`: Add -g option to %run to glob expand arguments
1025 * :ghpull:`2468`: Tell git to ignore __pycache__ directories.
1025 * :ghpull:`2468`: Tell git to ignore __pycache__ directories.
1026 * :ghpull:`2421`: Some notebook tweaks.
1026 * :ghpull:`2421`: Some notebook tweaks.
1027 * :ghpull:`2291`: Remove old plugin system
1027 * :ghpull:`2291`: Remove old plugin system
1028 * :ghpull:`2127`: Ability to build toolbar in JS
1028 * :ghpull:`2127`: Ability to build toolbar in JS
1029 * :ghpull:`2445`: changes for ironpython
1029 * :ghpull:`2445`: changes for ironpython
1030 * :ghpull:`2420`: Pass ipython_dir to __init__() method of TerminalInteractiveShell's superclass.
1030 * :ghpull:`2420`: Pass ipython_dir to __init__() method of TerminalInteractiveShell's superclass.
1031 * :ghpull:`2432`: Revert #1831, the `__file__` injection in safe_execfile / safe_execfile_ipy.
1031 * :ghpull:`2432`: Revert #1831, the `__file__` injection in safe_execfile / safe_execfile_ipy.
1032 * :ghpull:`2216`: Autochange highlight with cell magics
1032 * :ghpull:`2216`: Autochange highlight with cell magics
1033 * :ghpull:`1946`: Add image message handler in ZMQTerminalInteractiveShell
1033 * :ghpull:`1946`: Add image message handler in ZMQTerminalInteractiveShell
1034 * :ghpull:`2424`: skip find_cmd when setting up script magics
1034 * :ghpull:`2424`: skip find_cmd when setting up script magics
1035 * :ghpull:`2389`: Catch sqlite DatabaseErrors in more places when reading the history database
1035 * :ghpull:`2389`: Catch sqlite DatabaseErrors in more places when reading the history database
1036 * :ghpull:`2395`: Don't catch ImportError when trying to unpack module functions
1036 * :ghpull:`2395`: Don't catch ImportError when trying to unpack module functions
1037 * :ghpull:`1868`: enable IPC transport for kernels
1037 * :ghpull:`1868`: enable IPC transport for kernels
1038 * :ghpull:`2437`: don't let log cleanup prevent engine start
1038 * :ghpull:`2437`: don't let log cleanup prevent engine start
1039 * :ghpull:`2441`: `sys.maxsize` is the maximum length of a container.
1039 * :ghpull:`2441`: `sys.maxsize` is the maximum length of a container.
1040 * :ghpull:`2442`: allow iptest to be interrupted
1040 * :ghpull:`2442`: allow iptest to be interrupted
1041 * :ghpull:`2240`: fix message built for engine dying during task
1041 * :ghpull:`2240`: fix message built for engine dying during task
1042 * :ghpull:`2369`: Block until kernel termination after sending a kill signal
1042 * :ghpull:`2369`: Block until kernel termination after sending a kill signal
1043 * :ghpull:`2439`: Py3k: Octal (0777 -> 0o777)
1043 * :ghpull:`2439`: Py3k: Octal (0777 -> 0o777)
1044 * :ghpull:`2326`: Detachable pager in notebook.
1044 * :ghpull:`2326`: Detachable pager in notebook.
1045 * :ghpull:`2377`: Fix installation of man pages in Python 3
1045 * :ghpull:`2377`: Fix installation of man pages in Python 3
1046 * :ghpull:`2407`: add IPython version to message headers
1046 * :ghpull:`2407`: add IPython version to message headers
1047 * :ghpull:`2408`: Fix Issue #2366
1047 * :ghpull:`2408`: Fix Issue #2366
1048 * :ghpull:`2405`: clarify TaskScheduler.hwm doc
1048 * :ghpull:`2405`: clarify TaskScheduler.hwm doc
1049 * :ghpull:`2399`: IndentationError display
1049 * :ghpull:`2399`: IndentationError display
1050 * :ghpull:`2400`: Add scroll_to_cell(cell_number) to the notebook
1050 * :ghpull:`2400`: Add scroll_to_cell(cell_number) to the notebook
1051 * :ghpull:`2401`: unmock read-the-docs modules
1051 * :ghpull:`2401`: unmock read-the-docs modules
1052 * :ghpull:`2311`: always perform requested trait assignments
1052 * :ghpull:`2311`: always perform requested trait assignments
1053 * :ghpull:`2393`: New option `n` to limit history search hits
1053 * :ghpull:`2393`: New option `n` to limit history search hits
1054 * :ghpull:`2386`: Adapt inline backend to changes in matplotlib
1054 * :ghpull:`2386`: Adapt inline backend to changes in matplotlib
1055 * :ghpull:`2392`: Remove suspicious double quote
1055 * :ghpull:`2392`: Remove suspicious double quote
1056 * :ghpull:`2387`: Added -L library search path to cythonmagic cell magic
1056 * :ghpull:`2387`: Added -L library search path to cythonmagic cell magic
1057 * :ghpull:`2370`: qtconsole: Create a prompt newline by inserting a new block (w/o formatting)
1057 * :ghpull:`2370`: qtconsole: Create a prompt newline by inserting a new block (w/o formatting)
1058 * :ghpull:`1715`: Fix for #1688, traceback-unicode issue
1058 * :ghpull:`1715`: Fix for #1688, traceback-unicode issue
1059 * :ghpull:`2378`: use Singleton.instance() for embed() instead of manual global
1059 * :ghpull:`2378`: use Singleton.instance() for embed() instead of manual global
1060 * :ghpull:`2373`: fix missing imports in core.interactiveshell
1060 * :ghpull:`2373`: fix missing imports in core.interactiveshell
1061 * :ghpull:`2368`: remove notification widget leftover
1061 * :ghpull:`2368`: remove notification widget leftover
1062 * :ghpull:`2327`: Parallel: Support get/set of nested objects in view (e.g. dv['a.b'])
1062 * :ghpull:`2327`: Parallel: Support get/set of nested objects in view (e.g. dv['a.b'])
1063 * :ghpull:`2362`: Clean up ProgressBar class in example notebook
1063 * :ghpull:`2362`: Clean up ProgressBar class in example notebook
1064 * :ghpull:`2346`: Extra xterm identification in set_term_title
1064 * :ghpull:`2346`: Extra xterm identification in set_term_title
1065 * :ghpull:`2352`: Notebook: Store the username in a cookie whose name is unique.
1065 * :ghpull:`2352`: Notebook: Store the username in a cookie whose name is unique.
1066 * :ghpull:`2358`: add backport_pr to tools
1066 * :ghpull:`2358`: add backport_pr to tools
1067 * :ghpull:`2365`: fix names of notebooks for download/save
1067 * :ghpull:`2365`: fix names of notebooks for download/save
1068 * :ghpull:`2364`: make clients use 'location' properly (fixes #2361)
1068 * :ghpull:`2364`: make clients use 'location' properly (fixes #2361)
1069 * :ghpull:`2354`: Refactor notebook templates to use Jinja2
1069 * :ghpull:`2354`: Refactor notebook templates to use Jinja2
1070 * :ghpull:`2339`: add bash completion example
1070 * :ghpull:`2339`: add bash completion example
1071 * :ghpull:`2345`: Remove references to 'version' no longer in argparse. Github issue #2343.
1071 * :ghpull:`2345`: Remove references to 'version' no longer in argparse. Github issue #2343.
1072 * :ghpull:`2347`: adjust division error message checking to account for Python 3
1072 * :ghpull:`2347`: adjust division error message checking to account for Python 3
1073 * :ghpull:`2305`: RemoteError._render_traceback_ calls self.render_traceback
1073 * :ghpull:`2305`: RemoteError._render_traceback_ calls self.render_traceback
1074 * :ghpull:`2338`: Normalize line endings for ipexec_validate, fix for #2315.
1074 * :ghpull:`2338`: Normalize line endings for ipexec_validate, fix for #2315.
1075 * :ghpull:`2192`: Introduce Notification Area
1075 * :ghpull:`2192`: Introduce Notification Area
1076 * :ghpull:`2329`: Better error messages for common magic commands.
1076 * :ghpull:`2329`: Better error messages for common magic commands.
1077 * :ghpull:`2337`: ENH: added StackExchange-style MathJax filtering
1077 * :ghpull:`2337`: ENH: added StackExchange-style MathJax filtering
1078 * :ghpull:`2331`: update css for qtconsole in doc
1078 * :ghpull:`2331`: update css for qtconsole in doc
1079 * :ghpull:`2317`: adding cluster_id to parallel.Client.__init__
1079 * :ghpull:`2317`: adding cluster_id to parallel.Client.__init__
1080 * :ghpull:`2130`: Add -l option to %R magic to allow passing in of local namespace
1080 * :ghpull:`2130`: Add -l option to %R magic to allow passing in of local namespace
1081 * :ghpull:`2196`: Fix for bad command line argument to latex
1081 * :ghpull:`2196`: Fix for bad command line argument to latex
1082 * :ghpull:`2300`: bug fix: was crashing when sqlite3 is not installed
1082 * :ghpull:`2300`: bug fix: was crashing when sqlite3 is not installed
1083 * :ghpull:`2184`: Expose store_history to execute_request messages.
1083 * :ghpull:`2184`: Expose store_history to execute_request messages.
1084 * :ghpull:`2308`: Add welcome_message option to enable_pylab
1084 * :ghpull:`2308`: Add welcome_message option to enable_pylab
1085 * :ghpull:`2302`: Fix variable expansion on 'self'
1085 * :ghpull:`2302`: Fix variable expansion on 'self'
1086 * :ghpull:`2299`: Remove code from prefilter that duplicates functionality in inputsplitter
1086 * :ghpull:`2299`: Remove code from prefilter that duplicates functionality in inputsplitter
1087 * :ghpull:`2295`: allow pip install from github repository directly
1087 * :ghpull:`2295`: allow pip install from github repository directly
1088 * :ghpull:`2280`: fix SSH passwordless check for OpenSSH
1088 * :ghpull:`2280`: fix SSH passwordless check for OpenSSH
1089 * :ghpull:`2290`: nbmanager
1089 * :ghpull:`2290`: nbmanager
1090 * :ghpull:`2288`: s/assertEquals/assertEqual (again)
1090 * :ghpull:`2288`: s/assertEquals/assertEqual (again)
1091 * :ghpull:`2287`: Removed outdated dev docs.
1091 * :ghpull:`2287`: Removed outdated dev docs.
1092 * :ghpull:`2218`: Use redirect for new notebooks
1092 * :ghpull:`2218`: Use redirect for new notebooks
1093 * :ghpull:`2277`: nb: up/down arrow keys move to begin/end of line at top/bottom of cell
1093 * :ghpull:`2277`: nb: up/down arrow keys move to begin/end of line at top/bottom of cell
1094 * :ghpull:`2045`: Refactoring notebook managers and adding Azure backed storage.
1094 * :ghpull:`2045`: Refactoring notebook managers and adding Azure backed storage.
1095 * :ghpull:`2271`: use display instead of send_figure in inline backend hooks
1095 * :ghpull:`2271`: use display instead of send_figure in inline backend hooks
1096 * :ghpull:`2278`: allow disabling SQLite history
1096 * :ghpull:`2278`: allow disabling SQLite history
1097 * :ghpull:`2225`: Add "--annotate" option to `%%cython` magic.
1097 * :ghpull:`2225`: Add "--annotate" option to `%%cython` magic.
1098 * :ghpull:`2246`: serialize individual args/kwargs rather than the containers
1098 * :ghpull:`2246`: serialize individual args/kwargs rather than the containers
1099 * :ghpull:`2274`: CLN: Use name to id mapping of notebooks instead of searching.
1099 * :ghpull:`2274`: CLN: Use name to id mapping of notebooks instead of searching.
1100 * :ghpull:`2270`: SSHLauncher tweaks
1100 * :ghpull:`2270`: SSHLauncher tweaks
1101 * :ghpull:`2269`: add missing location when disambiguating controller IP
1101 * :ghpull:`2269`: add missing location when disambiguating controller IP
1102 * :ghpull:`2263`: Allow docs to build on http://readthedocs.io/
1102 * :ghpull:`2263`: Allow docs to build on http://readthedocs.io/
1103 * :ghpull:`2256`: Adding data publication example notebook.
1103 * :ghpull:`2256`: Adding data publication example notebook.
1104 * :ghpull:`2255`: better flush iopub with AsyncResults
1104 * :ghpull:`2255`: better flush iopub with AsyncResults
1105 * :ghpull:`2261`: Fix: longest_substr([]) -> ''
1105 * :ghpull:`2261`: Fix: longest_substr([]) -> ''
1106 * :ghpull:`2260`: fix mpr again
1106 * :ghpull:`2260`: fix mpr again
1107 * :ghpull:`2242`: Document globbing in `%history -g <pattern>`.
1107 * :ghpull:`2242`: Document globbing in `%history -g <pattern>`.
1108 * :ghpull:`2250`: fix html in notebook example
1108 * :ghpull:`2250`: fix html in notebook example
1109 * :ghpull:`2245`: Fix regression in embed() from pull-request #2096.
1109 * :ghpull:`2245`: Fix regression in embed() from pull-request #2096.
1110 * :ghpull:`2248`: track sha of master in test_pr messages
1110 * :ghpull:`2248`: track sha of master in test_pr messages
1111 * :ghpull:`2238`: Fast tests
1111 * :ghpull:`2238`: Fast tests
1112 * :ghpull:`2211`: add data publication message
1112 * :ghpull:`2211`: add data publication message
1113 * :ghpull:`2236`: minor test_pr tweaks
1113 * :ghpull:`2236`: minor test_pr tweaks
1114 * :ghpull:`2231`: Improve Image format validation and add html width,height
1114 * :ghpull:`2231`: Improve Image format validation and add html width,height
1115 * :ghpull:`2232`: Reapply monkeypatch to inspect.findsource()
1115 * :ghpull:`2232`: Reapply monkeypatch to inspect.findsource()
1116 * :ghpull:`2235`: remove spurious print statement from setupbase.py
1116 * :ghpull:`2235`: remove spurious print statement from setupbase.py
1117 * :ghpull:`2222`: adjust how canning deals with import strings
1117 * :ghpull:`2222`: adjust how canning deals with import strings
1118 * :ghpull:`2224`: fix css typo
1118 * :ghpull:`2224`: fix css typo
1119 * :ghpull:`2223`: Custom tracebacks
1119 * :ghpull:`2223`: Custom tracebacks
1120 * :ghpull:`2214`: use KernelApp.exec_lines/files in IPEngineApp
1120 * :ghpull:`2214`: use KernelApp.exec_lines/files in IPEngineApp
1121 * :ghpull:`2199`: Wrap JS published by %%javascript in try/catch
1121 * :ghpull:`2199`: Wrap JS published by %%javascript in try/catch
1122 * :ghpull:`2212`: catch errors in markdown javascript
1122 * :ghpull:`2212`: catch errors in markdown javascript
1123 * :ghpull:`2190`: Update code mirror 2.22 to 2.32
1123 * :ghpull:`2190`: Update code mirror 2.22 to 2.32
1124 * :ghpull:`2200`: documentation build broken in bb429da5b
1124 * :ghpull:`2200`: documentation build broken in bb429da5b
1125 * :ghpull:`2194`: clean nan/inf in json_clean
1125 * :ghpull:`2194`: clean nan/inf in json_clean
1126 * :ghpull:`2198`: fix mpr for earlier git version
1126 * :ghpull:`2198`: fix mpr for earlier git version
1127 * :ghpull:`2175`: add FileFindHandler for Notebook static files
1127 * :ghpull:`2175`: add FileFindHandler for Notebook static files
1128 * :ghpull:`1990`: can func_defaults
1128 * :ghpull:`1990`: can func_defaults
1129 * :ghpull:`2069`: start improving serialization in parallel code
1129 * :ghpull:`2069`: start improving serialization in parallel code
1130 * :ghpull:`2202`: Create a unique & temporary IPYTHONDIR for each testing group.
1130 * :ghpull:`2202`: Create a unique & temporary IPYTHONDIR for each testing group.
1131 * :ghpull:`2204`: Work around lack of os.kill in win32.
1131 * :ghpull:`2204`: Work around lack of os.kill in win32.
1132 * :ghpull:`2148`: win32 iptest: Use subprocess.Popen() instead of os.system().
1132 * :ghpull:`2148`: win32 iptest: Use subprocess.Popen() instead of os.system().
1133 * :ghpull:`2179`: Pylab switch
1133 * :ghpull:`2179`: Pylab switch
1134 * :ghpull:`2124`: Add an API for registering magic aliases.
1134 * :ghpull:`2124`: Add an API for registering magic aliases.
1135 * :ghpull:`2169`: ipdb: pdef, pdoc, pinfo magics all broken
1135 * :ghpull:`2169`: ipdb: pdef, pdoc, pinfo magics all broken
1136 * :ghpull:`2174`: Ensure consistent indentation in `%magic`.
1136 * :ghpull:`2174`: Ensure consistent indentation in `%magic`.
1137 * :ghpull:`1930`: add size-limiting to the DictDB backend
1137 * :ghpull:`1930`: add size-limiting to the DictDB backend
1138 * :ghpull:`2189`: Fix IPython.lib.latextools for Python 3
1138 * :ghpull:`2189`: Fix IPython.lib.latextools for Python 3
1139 * :ghpull:`2186`: removed references to h5py dependence in octave magic documentation
1139 * :ghpull:`2186`: removed references to h5py dependence in octave magic documentation
1140 * :ghpull:`2183`: Include the kernel object in the event object passed to kernel events
1140 * :ghpull:`2183`: Include the kernel object in the event object passed to kernel events
1141 * :ghpull:`2185`: added test for %store, fixed storemagic
1141 * :ghpull:`2185`: added test for %store, fixed storemagic
1142 * :ghpull:`2138`: Use breqn.sty in dvipng backend if possible
1142 * :ghpull:`2138`: Use breqn.sty in dvipng backend if possible
1143 * :ghpull:`2182`: handle undefined param in notebooklist
1143 * :ghpull:`2182`: handle undefined param in notebooklist
1144 * :ghpull:`1831`: fix #1814 set __file__ when running .ipy files
1144 * :ghpull:`1831`: fix #1814 set __file__ when running .ipy files
1145 * :ghpull:`2051`: Add a metadata attribute to messages
1145 * :ghpull:`2051`: Add a metadata attribute to messages
1146 * :ghpull:`1471`: simplify IPython.parallel connections and enable Controller Resume
1146 * :ghpull:`1471`: simplify IPython.parallel connections and enable Controller Resume
1147 * :ghpull:`2181`: add %%javascript, %%svg, and %%latex display magics
1147 * :ghpull:`2181`: add %%javascript, %%svg, and %%latex display magics
1148 * :ghpull:`2116`: different images in 00_notebook-tour
1148 * :ghpull:`2116`: different images in 00_notebook-tour
1149 * :ghpull:`2092`: %prun: Restore `stats.stream` after running `print_stream`.
1149 * :ghpull:`2092`: %prun: Restore `stats.stream` after running `print_stream`.
1150 * :ghpull:`2159`: show message on notebook list if server is unreachable
1150 * :ghpull:`2159`: show message on notebook list if server is unreachable
1151 * :ghpull:`2176`: fix git mpr
1151 * :ghpull:`2176`: fix git mpr
1152 * :ghpull:`2152`: [qtconsole] Namespace not empty at startup
1152 * :ghpull:`2152`: [qtconsole] Namespace not empty at startup
1153 * :ghpull:`2177`: remove numpy install from travis/tox scripts
1153 * :ghpull:`2177`: remove numpy install from travis/tox scripts
1154 * :ghpull:`2090`: New keybinding for code cell execution + cell insertion
1154 * :ghpull:`2090`: New keybinding for code cell execution + cell insertion
1155 * :ghpull:`2160`: Updating the parallel options pricing example
1155 * :ghpull:`2160`: Updating the parallel options pricing example
1156 * :ghpull:`2168`: expand line in cell magics
1156 * :ghpull:`2168`: expand line in cell magics
1157 * :ghpull:`2170`: Fix tab completion with IPython.embed_kernel().
1157 * :ghpull:`2170`: Fix tab completion with IPython.embed_kernel().
1158 * :ghpull:`2096`: embed(): Default to the future compiler flags of the calling frame.
1158 * :ghpull:`2096`: embed(): Default to the future compiler flags of the calling frame.
1159 * :ghpull:`2163`: fix 'remote_profie_dir' typo in SSH launchers
1159 * :ghpull:`2163`: fix 'remote_profie_dir' typo in SSH launchers
1160 * :ghpull:`2158`: [2to3 compat ] Tuple params in func defs
1160 * :ghpull:`2158`: [2to3 compat ] Tuple params in func defs
1161 * :ghpull:`2089`: Fix unittest DeprecationWarnings
1161 * :ghpull:`2089`: Fix unittest DeprecationWarnings
1162 * :ghpull:`2142`: Refactor test_pr.py
1162 * :ghpull:`2142`: Refactor test_pr.py
1163 * :ghpull:`2140`: 2to3: Apply `has_key` fixer.
1163 * :ghpull:`2140`: 2to3: Apply `has_key` fixer.
1164 * :ghpull:`2131`: Add option append (-a) to %save
1164 * :ghpull:`2131`: Add option append (-a) to %save
1165 * :ghpull:`2117`: use explicit url in notebook example
1165 * :ghpull:`2117`: use explicit url in notebook example
1166 * :ghpull:`2133`: Tell git that ``*.py`` files contain Python code, for use in word-diffs.
1166 * :ghpull:`2133`: Tell git that ``*.py`` files contain Python code, for use in word-diffs.
1167 * :ghpull:`2134`: Apply 2to3 `next` fix.
1167 * :ghpull:`2134`: Apply 2to3 `next` fix.
1168 * :ghpull:`2126`: ipcluster broken with any batch launcher (PBS/LSF/SGE)
1168 * :ghpull:`2126`: ipcluster broken with any batch launcher (PBS/LSF/SGE)
1169 * :ghpull:`2104`: Windows make file for Sphinx documentation
1169 * :ghpull:`2104`: Windows make file for Sphinx documentation
1170 * :ghpull:`2074`: Make BG color of inline plot configurable
1170 * :ghpull:`2074`: Make BG color of inline plot configurable
1171 * :ghpull:`2123`: BUG: Look up the `_repr_pretty_` method on the class within the MRO rath...
1171 * :ghpull:`2123`: BUG: Look up the `_repr_pretty_` method on the class within the MRO rath...
1172 * :ghpull:`2100`: [in progress] python 2 and 3 compatibility without 2to3, second try
1172 * :ghpull:`2100`: [in progress] python 2 and 3 compatibility without 2to3, second try
1173 * :ghpull:`2128`: open notebook copy in different tabs
1173 * :ghpull:`2128`: open notebook copy in different tabs
1174 * :ghpull:`2073`: allows password and prefix for notebook
1174 * :ghpull:`2073`: allows password and prefix for notebook
1175 * :ghpull:`1993`: Print View
1175 * :ghpull:`1993`: Print View
1176 * :ghpull:`2086`: re-aliad %ed to %edit in qtconsole
1176 * :ghpull:`2086`: re-aliad %ed to %edit in qtconsole
1177 * :ghpull:`2110`: Fixes and improvements to the input splitter
1177 * :ghpull:`2110`: Fixes and improvements to the input splitter
1178 * :ghpull:`2101`: fix completer deletting newline
1178 * :ghpull:`2101`: fix completer deletting newline
1179 * :ghpull:`2102`: Fix logging on interactive shell.
1179 * :ghpull:`2102`: Fix logging on interactive shell.
1180 * :ghpull:`2088`: Fix (some) Python 3.2 ResourceWarnings
1180 * :ghpull:`2088`: Fix (some) Python 3.2 ResourceWarnings
1181 * :ghpull:`2064`: conform to pep 3110
1181 * :ghpull:`2064`: conform to pep 3110
1182 * :ghpull:`2076`: Skip notebook 'static' dir in test suite.
1182 * :ghpull:`2076`: Skip notebook 'static' dir in test suite.
1183 * :ghpull:`2063`: Remove umlauts so py3 installations on LANG=C systems succeed.
1183 * :ghpull:`2063`: Remove umlauts so py3 installations on LANG=C systems succeed.
1184 * :ghpull:`2068`: record sysinfo in sdist
1184 * :ghpull:`2068`: record sysinfo in sdist
1185 * :ghpull:`2067`: update tools/release_windows.py
1185 * :ghpull:`2067`: update tools/release_windows.py
1186 * :ghpull:`2065`: Fix parentheses typo
1186 * :ghpull:`2065`: Fix parentheses typo
1187 * :ghpull:`2062`: Remove duplicates and auto-generated files from repo.
1187 * :ghpull:`2062`: Remove duplicates and auto-generated files from repo.
1188 * :ghpull:`2061`: use explicit tuple in exception
1188 * :ghpull:`2061`: use explicit tuple in exception
1189 * :ghpull:`2060`: change minus to \- or \(hy in manpages
1189 * :ghpull:`2060`: change minus to \- or \(hy in manpages
1190
1190
1191 Issues (691):
1191 Issues (691):
1192
1192
1193 * :ghissue:`3940`: Install process documentation overhaul
1193 * :ghissue:`3940`: Install process documentation overhaul
1194 * :ghissue:`3946`: The PDF option for `--post` should work with lowercase
1194 * :ghissue:`3946`: The PDF option for `--post` should work with lowercase
1195 * :ghissue:`3957`: Notebook help page broken in Firefox
1195 * :ghissue:`3957`: Notebook help page broken in Firefox
1196 * :ghissue:`3894`: nbconvert test failure
1196 * :ghissue:`3894`: nbconvert test failure
1197 * :ghissue:`3887`: 1.0.0a1 shows blank screen in both firefox and chrome (windows 7)
1197 * :ghissue:`3887`: 1.0.0a1 shows blank screen in both firefox and chrome (windows 7)
1198 * :ghissue:`3703`: `nbconvert`: Output options -- names and documentataion
1198 * :ghissue:`3703`: `nbconvert`: Output options -- names and documentataion
1199 * :ghissue:`3931`: Tab completion not working during debugging in the notebook
1199 * :ghissue:`3931`: Tab completion not working during debugging in the notebook
1200 * :ghissue:`3936`: Ipcluster plugin is not working with Ipython 1.0dev
1200 * :ghissue:`3936`: Ipcluster plugin is not working with Ipython 1.0dev
1201 * :ghissue:`3941`: IPython Notebook kernel crash on Win7x64
1201 * :ghissue:`3941`: IPython Notebook kernel crash on Win7x64
1202 * :ghissue:`3926`: Ending Notebook renaming dialog with return creates new-line
1202 * :ghissue:`3926`: Ending Notebook renaming dialog with return creates new-line
1203 * :ghissue:`3932`: Incorrect empty docstring
1203 * :ghissue:`3932`: Incorrect empty docstring
1204 * :ghissue:`3928`: Passing variables to script from the workspace
1204 * :ghissue:`3928`: Passing variables to script from the workspace
1205 * :ghissue:`3774`: Notebooks with spaces in their names breaks nbconvert latex graphics
1205 * :ghissue:`3774`: Notebooks with spaces in their names breaks nbconvert latex graphics
1206 * :ghissue:`3916`: tornado needs its own check
1206 * :ghissue:`3916`: tornado needs its own check
1207 * :ghissue:`3915`: Link to Parallel examples "found on GitHub" broken in docs
1207 * :ghissue:`3915`: Link to Parallel examples "found on GitHub" broken in docs
1208 * :ghissue:`3895`: Keyboard shortcuts box in notebook doesn't fit the screen
1208 * :ghissue:`3895`: Keyboard shortcuts box in notebook doesn't fit the screen
1209 * :ghissue:`3912`: IPython.utils fails automated test for RC1 1.0.0
1209 * :ghissue:`3912`: IPython.utils fails automated test for RC1 1.0.0
1210 * :ghissue:`3636`: Code cell missing highlight on load
1210 * :ghissue:`3636`: Code cell missing highlight on load
1211 * :ghissue:`3897`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex --post PDF" POST processing action fails because of a bad parameter
1211 * :ghissue:`3897`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex --post PDF" POST processing action fails because of a bad parameter
1212 * :ghissue:`3900`: python3 install syntax errors (OS X 10.8.4)
1212 * :ghissue:`3900`: python3 install syntax errors (OS X 10.8.4)
1213 * :ghissue:`3899`: nbconvert to latex fails on notebooks with spaces in file name
1213 * :ghissue:`3899`: nbconvert to latex fails on notebooks with spaces in file name
1214 * :ghissue:`3881`: Temporary Working Directory Test Fails
1214 * :ghissue:`3881`: Temporary Working Directory Test Fails
1215 * :ghissue:`2750`: A way to freeze code cells in the notebook
1215 * :ghissue:`2750`: A way to freeze code cells in the notebook
1216 * :ghissue:`3893`: Resize Local Image Files in Notebook doesn't work
1216 * :ghissue:`3893`: Resize Local Image Files in Notebook doesn't work
1217 * :ghissue:`3823`: nbconvert on windows: tex and paths
1217 * :ghissue:`3823`: nbconvert on windows: tex and paths
1218 * :ghissue:`3885`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex" write "\" instead of "/" to reference file path in the .tex file
1218 * :ghissue:`3885`: under Windows, "ipython3 nbconvert "C:/blabla/first_try.ipynb" --to latex" write "\" instead of "/" to reference file path in the .tex file
1219 * :ghissue:`3889`: test_qt fails due to assertion error 'qt4' != 'qt'
1219 * :ghissue:`3889`: test_qt fails due to assertion error 'qt4' != 'qt'
1220 * :ghissue:`3890`: double post, disregard this issue
1220 * :ghissue:`3890`: double post, disregard this issue
1221 * :ghissue:`3689`: nbconvert, remaining tests
1221 * :ghissue:`3689`: nbconvert, remaining tests
1222 * :ghissue:`3874`: Up/Down keys don't work to "Search previous command history" (besides Ctrl-p/Ctrl-n)
1222 * :ghissue:`3874`: Up/Down keys don't work to "Search previous command history" (besides Ctrl-p/Ctrl-n)
1223 * :ghissue:`3853`: CodeMirror locks up in the notebook
1223 * :ghissue:`3853`: CodeMirror locks up in the notebook
1224 * :ghissue:`3862`: can only connect to an ipcluster started with v1.0.0-dev (master branch) using an older ipython (v0.13.2), but cannot connect using ipython (v1.0.0-dev)
1224 * :ghissue:`3862`: can only connect to an ipcluster started with v1.0.0-dev (master branch) using an older ipython (v0.13.2), but cannot connect using ipython (v1.0.0-dev)
1225 * :ghissue:`3869`: custom css not working.
1225 * :ghissue:`3869`: custom css not working.
1226 * :ghissue:`2960`: Keyboard shortcuts
1226 * :ghissue:`2960`: Keyboard shortcuts
1227 * :ghissue:`3795`: ipcontroller process goes to 100% CPU, ignores connection requests
1227 * :ghissue:`3795`: ipcontroller process goes to 100% CPU, ignores connection requests
1228 * :ghissue:`3553`: Ipython and pylab crashes in windows and canopy
1228 * :ghissue:`3553`: Ipython and pylab crashes in windows and canopy
1229 * :ghissue:`3837`: Cannot set custom mathjax url, crash notebook server.
1229 * :ghissue:`3837`: Cannot set custom mathjax url, crash notebook server.
1230 * :ghissue:`3808`: "Naming" releases ?
1230 * :ghissue:`3808`: "Naming" releases ?
1231 * :ghissue:`2431`: TypeError: must be string without null bytes, not str
1231 * :ghissue:`2431`: TypeError: must be string without null bytes, not str
1232 * :ghissue:`3856`: `?` at end of comment causes line to execute
1232 * :ghissue:`3856`: `?` at end of comment causes line to execute
1233 * :ghissue:`3731`: nbconvert: add logging for the different steps of nbconvert
1233 * :ghissue:`3731`: nbconvert: add logging for the different steps of nbconvert
1234 * :ghissue:`3835`: Markdown cells do not render correctly when mathjax is disabled
1234 * :ghissue:`3835`: Markdown cells do not render correctly when mathjax is disabled
1235 * :ghissue:`3843`: nbconvert to rst: leftover "In[ ]"
1235 * :ghissue:`3843`: nbconvert to rst: leftover "In[ ]"
1236 * :ghissue:`3799`: nbconvert: Ability to specify name of output file
1236 * :ghissue:`3799`: nbconvert: Ability to specify name of output file
1237 * :ghissue:`3726`: Document when IPython.start_ipython() should be used versus IPython.embed()
1237 * :ghissue:`3726`: Document when IPython.start_ipython() should be used versus IPython.embed()
1238 * :ghissue:`3778`: Add no more readonly view in what's new
1238 * :ghissue:`3778`: Add no more readonly view in what's new
1239 * :ghissue:`3754`: No Print View in Notebook in 1.0dev
1239 * :ghissue:`3754`: No Print View in Notebook in 1.0dev
1240 * :ghissue:`3798`: IPython 0.12.1 Crashes on autocompleting sqlalchemy.func.row_number properties
1240 * :ghissue:`3798`: IPython 0.12.1 Crashes on autocompleting sqlalchemy.func.row_number properties
1241 * :ghissue:`3811`: Opening notebook directly from the command line with multi-directory support installed
1241 * :ghissue:`3811`: Opening notebook directly from the command line with multi-directory support installed
1242 * :ghissue:`3775`: Annoying behavior when clicking on cell after execution (Ctrl+Enter)
1242 * :ghissue:`3775`: Annoying behavior when clicking on cell after execution (Ctrl+Enter)
1243 * :ghissue:`3809`: Possible to add some bpython features?
1243 * :ghissue:`3809`: Possible to add some bpython features?
1244 * :ghissue:`3810`: Printing the contents of an image file messes up shell text
1244 * :ghissue:`3810`: Printing the contents of an image file messes up shell text
1245 * :ghissue:`3702`: `nbconvert`: Default help message should be that of --help
1245 * :ghissue:`3702`: `nbconvert`: Default help message should be that of --help
1246 * :ghissue:`3735`: Nbconvert 1.0.0a1 does not take into account the pdf extensions in graphs
1246 * :ghissue:`3735`: Nbconvert 1.0.0a1 does not take into account the pdf extensions in graphs
1247 * :ghissue:`3719`: Bad strftime format, for windows, in nbconvert exporter
1247 * :ghissue:`3719`: Bad strftime format, for windows, in nbconvert exporter
1248 * :ghissue:`3786`: Zmq errors appearing with `Ctrl-C` in console/qtconsole
1248 * :ghissue:`3786`: Zmq errors appearing with `Ctrl-C` in console/qtconsole
1249 * :ghissue:`3019`: disappearing scrollbar on tooltip in Chrome 24 on Ubuntu 12.04
1249 * :ghissue:`3019`: disappearing scrollbar on tooltip in Chrome 24 on Ubuntu 12.04
1250 * :ghissue:`3785`: ipdb completely broken in Qt console
1250 * :ghissue:`3785`: ipdb completely broken in Qt console
1251 * :ghissue:`3796`: Document the meaning of milestone/issues-tags for users.
1251 * :ghissue:`3796`: Document the meaning of milestone/issues-tags for users.
1252 * :ghissue:`3788`: Do not auto show tooltip if docstring empty.
1252 * :ghissue:`3788`: Do not auto show tooltip if docstring empty.
1253 * :ghissue:`1366`: [Web page] No link to front page from documentation
1253 * :ghissue:`1366`: [Web page] No link to front page from documentation
1254 * :ghissue:`3739`: nbconvert (to slideshow) misses some of the math in markdown cells
1254 * :ghissue:`3739`: nbconvert (to slideshow) misses some of the math in markdown cells
1255 * :ghissue:`3768`: increase and make timeout configurable in console completion.
1255 * :ghissue:`3768`: increase and make timeout configurable in console completion.
1256 * :ghissue:`3724`: ipcluster only running on one cpu
1256 * :ghissue:`3724`: ipcluster only running on one cpu
1257 * :ghissue:`1592`: better message for unsupported nbformat
1257 * :ghissue:`1592`: better message for unsupported nbformat
1258 * :ghissue:`2049`: Can not stop "ipython kernel" on windows
1258 * :ghissue:`2049`: Can not stop "ipython kernel" on windows
1259 * :ghissue:`3757`: Need direct entry point to given notebook
1259 * :ghissue:`3757`: Need direct entry point to given notebook
1260 * :ghissue:`3745`: ImportError: cannot import name check_linecache_ipython
1260 * :ghissue:`3745`: ImportError: cannot import name check_linecache_ipython
1261 * :ghissue:`3701`: `nbconvert`: Final output file should be in same directory as input file
1261 * :ghissue:`3701`: `nbconvert`: Final output file should be in same directory as input file
1262 * :ghissue:`3738`: history -o works but history with -n produces identical results
1262 * :ghissue:`3738`: history -o works but history with -n produces identical results
1263 * :ghissue:`3740`: error when attempting to run 'make' in docs directory
1263 * :ghissue:`3740`: error when attempting to run 'make' in docs directory
1264 * :ghissue:`3737`: ipython nbconvert crashes with ValueError: Invalid format string.
1264 * :ghissue:`3737`: ipython nbconvert crashes with ValueError: Invalid format string.
1265 * :ghissue:`3730`: nbconvert: unhelpful error when pandoc isn't installed
1265 * :ghissue:`3730`: nbconvert: unhelpful error when pandoc isn't installed
1266 * :ghissue:`3718`: markdown cell cursor misaligned in notebook
1266 * :ghissue:`3718`: markdown cell cursor misaligned in notebook
1267 * :ghissue:`3710`: mutiple input fields for %debug in the notebook after resetting the kernel
1267 * :ghissue:`3710`: mutiple input fields for %debug in the notebook after resetting the kernel
1268 * :ghissue:`3713`: PyCharm has problems with IPython working inside PyPy created by virtualenv
1268 * :ghissue:`3713`: PyCharm has problems with IPython working inside PyPy created by virtualenv
1269 * :ghissue:`3712`: Code completion: Complete on dictionary keys
1269 * :ghissue:`3712`: Code completion: Complete on dictionary keys
1270 * :ghissue:`3680`: --pylab and --matplotlib flag
1270 * :ghissue:`3680`: --pylab and --matplotlib flag
1271 * :ghissue:`3698`: nbconvert: Unicode error with minus sign
1271 * :ghissue:`3698`: nbconvert: Unicode error with minus sign
1272 * :ghissue:`3693`: nbconvert does not process SVGs into PDFs
1272 * :ghissue:`3693`: nbconvert does not process SVGs into PDFs
1273 * :ghissue:`3688`: nbconvert, figures not extracting with Python 3.x
1273 * :ghissue:`3688`: nbconvert, figures not extracting with Python 3.x
1274 * :ghissue:`3542`: note new dependencies in docs / setup.py
1274 * :ghissue:`3542`: note new dependencies in docs / setup.py
1275 * :ghissue:`2556`: [pagedown] do not target_blank anchor link
1275 * :ghissue:`2556`: [pagedown] do not target_blank anchor link
1276 * :ghissue:`3684`: bad message when %pylab fails due import *other* than matplotlib
1276 * :ghissue:`3684`: bad message when %pylab fails due import *other* than matplotlib
1277 * :ghissue:`3682`: ipython notebook pylab inline import_all=False
1277 * :ghissue:`3682`: ipython notebook pylab inline import_all=False
1278 * :ghissue:`3596`: MathjaxUtils race condition?
1278 * :ghissue:`3596`: MathjaxUtils race condition?
1279 * :ghissue:`1540`: Comment/uncomment selection in notebook
1279 * :ghissue:`1540`: Comment/uncomment selection in notebook
1280 * :ghissue:`2702`: frozen setup: permission denied for default ipython_dir
1280 * :ghissue:`2702`: frozen setup: permission denied for default ipython_dir
1281 * :ghissue:`3672`: allow_none on Number-like traits.
1281 * :ghissue:`3672`: allow_none on Number-like traits.
1282 * :ghissue:`2411`: add CONTRIBUTING.md
1282 * :ghissue:`2411`: add CONTRIBUTING.md
1283 * :ghissue:`481`: IPython terminal issue with Qt4Agg on XP SP3
1283 * :ghissue:`481`: IPython terminal issue with Qt4Agg on XP SP3
1284 * :ghissue:`2664`: How to preserve user variables from import clashing?
1284 * :ghissue:`2664`: How to preserve user variables from import clashing?
1285 * :ghissue:`3436`: enable_pylab(import_all=False) still imports np
1285 * :ghissue:`3436`: enable_pylab(import_all=False) still imports np
1286 * :ghissue:`2630`: lib.pylabtools.figsize : NameError when using Qt4Agg backend and %pylab magic.
1286 * :ghissue:`2630`: lib.pylabtools.figsize : NameError when using Qt4Agg backend and %pylab magic.
1287 * :ghissue:`3154`: Notebook: no event triggered when a Cell is created
1287 * :ghissue:`3154`: Notebook: no event triggered when a Cell is created
1288 * :ghissue:`3579`: Nbconvert: SVG are not transformed to PDF anymore
1288 * :ghissue:`3579`: Nbconvert: SVG are not transformed to PDF anymore
1289 * :ghissue:`3604`: MathJax rendering problem in `%%latex` cell
1289 * :ghissue:`3604`: MathJax rendering problem in `%%latex` cell
1290 * :ghissue:`3668`: AttributeError: 'BlockingKernelClient' object has no attribute 'started_channels'
1290 * :ghissue:`3668`: AttributeError: 'BlockingKernelClient' object has no attribute 'started_channels'
1291 * :ghissue:`3245`: SyntaxError: encoding declaration in Unicode string
1291 * :ghissue:`3245`: SyntaxError: encoding declaration in Unicode string
1292 * :ghissue:`3639`: %pylab inline in IPYTHON notebook throws "RuntimeError: Cannot activate multiple GUI eventloops"
1292 * :ghissue:`3639`: %pylab inline in IPYTHON notebook throws "RuntimeError: Cannot activate multiple GUI eventloops"
1293 * :ghissue:`3663`: frontend deprecation warnings
1293 * :ghissue:`3663`: frontend deprecation warnings
1294 * :ghissue:`3661`: run -m not behaving like python -m
1294 * :ghissue:`3661`: run -m not behaving like python -m
1295 * :ghissue:`3597`: re-do PR #3531 - allow markdown in Header cell
1295 * :ghissue:`3597`: re-do PR #3531 - allow markdown in Header cell
1296 * :ghissue:`3053`: Markdown in header cells is not rendered
1296 * :ghissue:`3053`: Markdown in header cells is not rendered
1297 * :ghissue:`3655`: IPython finding its way into pasted strings.
1297 * :ghissue:`3655`: IPython finding its way into pasted strings.
1298 * :ghissue:`3620`: uncaught errors in HTML output
1298 * :ghissue:`3620`: uncaught errors in HTML output
1299 * :ghissue:`3646`: get_dict() error
1299 * :ghissue:`3646`: get_dict() error
1300 * :ghissue:`3004`: `%load_ext rmagic` fails when legacy ipy_user_conf.py is installed (in ipython 0.13.1 / OSX 10.8)
1300 * :ghissue:`3004`: `%load_ext rmagic` fails when legacy ipy_user_conf.py is installed (in ipython 0.13.1 / OSX 10.8)
1301 * :ghissue:`3638`: setp() issue in ipython notebook with figure references
1301 * :ghissue:`3638`: setp() issue in ipython notebook with figure references
1302 * :ghissue:`3634`: nbconvert reveal to pdf conversion ignores styling, prints only a single page.
1302 * :ghissue:`3634`: nbconvert reveal to pdf conversion ignores styling, prints only a single page.
1303 * :ghissue:`1307`: Remove pyreadline workarounds, we now require pyreadline >= 1.7.1
1303 * :ghissue:`1307`: Remove pyreadline workarounds, we now require pyreadline >= 1.7.1
1304 * :ghissue:`3316`: find_cmd test failure on Windows
1304 * :ghissue:`3316`: find_cmd test failure on Windows
1305 * :ghissue:`3494`: input() in notebook doesn't work in Python 3
1305 * :ghissue:`3494`: input() in notebook doesn't work in Python 3
1306 * :ghissue:`3427`: Deprecate `$` as mathjax delimiter
1306 * :ghissue:`3427`: Deprecate `$` as mathjax delimiter
1307 * :ghissue:`3625`: Pager does not open from button
1307 * :ghissue:`3625`: Pager does not open from button
1308 * :ghissue:`3149`: Miscellaneous small nbconvert feedback
1308 * :ghissue:`3149`: Miscellaneous small nbconvert feedback
1309 * :ghissue:`3617`: 256 color escapes support
1309 * :ghissue:`3617`: 256 color escapes support
1310 * :ghissue:`3609`: %pylab inline blows up for single process ipython
1310 * :ghissue:`3609`: %pylab inline blows up for single process ipython
1311 * :ghissue:`2934`: Publish the Interactive MPI Demo Notebook
1311 * :ghissue:`2934`: Publish the Interactive MPI Demo Notebook
1312 * :ghissue:`3614`: ansi escapes broken in master (ls --color)
1312 * :ghissue:`3614`: ansi escapes broken in master (ls --color)
1313 * :ghissue:`3610`: If you don't have markdown, python setup.py install says no pygments
1313 * :ghissue:`3610`: If you don't have markdown, python setup.py install says no pygments
1314 * :ghissue:`3547`: %run modules clobber each other
1314 * :ghissue:`3547`: %run modules clobber each other
1315 * :ghissue:`3602`: import_item fails when one tries to use DottedObjectName instead of a string
1315 * :ghissue:`3602`: import_item fails when one tries to use DottedObjectName instead of a string
1316 * :ghissue:`3563`: Duplicate tab completions in the notebook
1316 * :ghissue:`3563`: Duplicate tab completions in the notebook
1317 * :ghissue:`3599`: Problems trying to run IPython on python3 without installing...
1317 * :ghissue:`3599`: Problems trying to run IPython on python3 without installing...
1318 * :ghissue:`2937`: too long completion in notebook
1318 * :ghissue:`2937`: too long completion in notebook
1319 * :ghissue:`3479`: Write empty name for the notebooks
1319 * :ghissue:`3479`: Write empty name for the notebooks
1320 * :ghissue:`3505`: nbconvert: Failure in specifying user filter
1320 * :ghissue:`3505`: nbconvert: Failure in specifying user filter
1321 * :ghissue:`1537`: think a bit about namespaces
1321 * :ghissue:`1537`: think a bit about namespaces
1322 * :ghissue:`3124`: Long multiline strings in Notebook
1322 * :ghissue:`3124`: Long multiline strings in Notebook
1323 * :ghissue:`3464`: run -d message unclear
1323 * :ghissue:`3464`: run -d message unclear
1324 * :ghissue:`2706`: IPython 0.13.1 ignoring $PYTHONSTARTUP
1324 * :ghissue:`2706`: IPython 0.13.1 ignoring $PYTHONSTARTUP
1325 * :ghissue:`3587`: LaTeX escaping bug in nbconvert when exporting to HTML
1325 * :ghissue:`3587`: LaTeX escaping bug in nbconvert when exporting to HTML
1326 * :ghissue:`3213`: Long running notebook died with a coredump
1326 * :ghissue:`3213`: Long running notebook died with a coredump
1327 * :ghissue:`3580`: Running ipython with pypy on windows
1327 * :ghissue:`3580`: Running ipython with pypy on windows
1328 * :ghissue:`3573`: custom.js not working
1328 * :ghissue:`3573`: custom.js not working
1329 * :ghissue:`3544`: IPython.lib test failure on Windows
1329 * :ghissue:`3544`: IPython.lib test failure on Windows
1330 * :ghissue:`3352`: Install Sphinx extensions
1330 * :ghissue:`3352`: Install Sphinx extensions
1331 * :ghissue:`2971`: [notebook]user needs to press ctrl-c twice to stop notebook server should be put into terminal window
1331 * :ghissue:`2971`: [notebook]user needs to press ctrl-c twice to stop notebook server should be put into terminal window
1332 * :ghissue:`2413`: ipython3 qtconsole fails to install: ipython 0.13 has no such extra feature 'qtconsole'
1332 * :ghissue:`2413`: ipython3 qtconsole fails to install: ipython 0.13 has no such extra feature 'qtconsole'
1333 * :ghissue:`2618`: documentation is incorrect for install process
1333 * :ghissue:`2618`: documentation is incorrect for install process
1334 * :ghissue:`2595`: mac 10.8 qtconsole export history
1334 * :ghissue:`2595`: mac 10.8 qtconsole export history
1335 * :ghissue:`2586`: cannot store aliases
1335 * :ghissue:`2586`: cannot store aliases
1336 * :ghissue:`2714`: ipython qtconsole print unittest messages in console instead his own window.
1336 * :ghissue:`2714`: ipython qtconsole print unittest messages in console instead his own window.
1337 * :ghissue:`2669`: cython magic failing to work with openmp.
1337 * :ghissue:`2669`: cython magic failing to work with openmp.
1338 * :ghissue:`3256`: Vagrant pandas instance of iPython Notebook does not respect additional plotting arguments
1338 * :ghissue:`3256`: Vagrant pandas instance of iPython Notebook does not respect additional plotting arguments
1339 * :ghissue:`3010`: cython magic fail if cache dir is deleted while in session
1339 * :ghissue:`3010`: cython magic fail if cache dir is deleted while in session
1340 * :ghissue:`2044`: prune unused names from parallel.error
1340 * :ghissue:`2044`: prune unused names from parallel.error
1341 * :ghissue:`1145`: Online help utility broken in QtConsole
1341 * :ghissue:`1145`: Online help utility broken in QtConsole
1342 * :ghissue:`3439`: Markdown links no longer open in new window (with change from pagedown to marked)
1342 * :ghissue:`3439`: Markdown links no longer open in new window (with change from pagedown to marked)
1343 * :ghissue:`3476`: _margv for macros seems to be missing
1343 * :ghissue:`3476`: _margv for macros seems to be missing
1344 * :ghissue:`3499`: Add reveal.js library (version 2.4.0) inside IPython
1344 * :ghissue:`3499`: Add reveal.js library (version 2.4.0) inside IPython
1345 * :ghissue:`2771`: Wiki Migration to GitHub
1345 * :ghissue:`2771`: Wiki Migration to GitHub
1346 * :ghissue:`2887`: ipcontroller purging some engines during connect
1346 * :ghissue:`2887`: ipcontroller purging some engines during connect
1347 * :ghissue:`626`: Enable Resuming Controller
1347 * :ghissue:`626`: Enable Resuming Controller
1348 * :ghissue:`2824`: Kernel restarting after message "Kernel XXXX failed to respond to heartbeat"
1348 * :ghissue:`2824`: Kernel restarting after message "Kernel XXXX failed to respond to heartbeat"
1349 * :ghissue:`2823`: %%cython magic gives ImportError: dlopen(long_file_name.so, 2): image not found
1349 * :ghissue:`2823`: %%cython magic gives ImportError: dlopen(long_file_name.so, 2): image not found
1350 * :ghissue:`2891`: In IPython for Python 3, system site-packages comes before user site-packages
1350 * :ghissue:`2891`: In IPython for Python 3, system site-packages comes before user site-packages
1351 * :ghissue:`2928`: Add magic "watch" function (example)
1351 * :ghissue:`2928`: Add magic "watch" function (example)
1352 * :ghissue:`2931`: Problem rendering pandas dataframe in Firefox for Windows
1352 * :ghissue:`2931`: Problem rendering pandas dataframe in Firefox for Windows
1353 * :ghissue:`2939`: [notebook] Figure legend not shown in inline backend if ouside the box of the axes
1353 * :ghissue:`2939`: [notebook] Figure legend not shown in inline backend if ouside the box of the axes
1354 * :ghissue:`2972`: [notebook] in Markdown mode, press Enter key at the end of <some http link>, the next line is indented unexpectly
1354 * :ghissue:`2972`: [notebook] in Markdown mode, press Enter key at the end of <some http link>, the next line is indented unexpectly
1355 * :ghissue:`3069`: Instructions for installing IPython notebook on Windows
1355 * :ghissue:`3069`: Instructions for installing IPython notebook on Windows
1356 * :ghissue:`3444`: Encoding problem: cannot use if user's name is not ascii?
1356 * :ghissue:`3444`: Encoding problem: cannot use if user's name is not ascii?
1357 * :ghissue:`3335`: Reenable bracket matching
1357 * :ghissue:`3335`: Reenable bracket matching
1358 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
1358 * :ghissue:`3386`: Magic %paste not working in Python 3.3.2. TypeError: Type str doesn't support the buffer API
1359 * :ghissue:`3543`: Exception shutting down kernel from notebook dashboard (0.13.1)
1359 * :ghissue:`3543`: Exception shutting down kernel from notebook dashboard (0.13.1)
1360 * :ghissue:`3549`: Codecell size changes with selection
1360 * :ghissue:`3549`: Codecell size changes with selection
1361 * :ghissue:`3445`: Adding newlines in %%latex cell
1361 * :ghissue:`3445`: Adding newlines in %%latex cell
1362 * :ghissue:`3237`: [notebook] Can't close a notebook without errors
1362 * :ghissue:`3237`: [notebook] Can't close a notebook without errors
1363 * :ghissue:`2916`: colon invokes auto(un)indent in markdown cells
1363 * :ghissue:`2916`: colon invokes auto(un)indent in markdown cells
1364 * :ghissue:`2167`: Indent and dedent in htmlnotebook
1364 * :ghissue:`2167`: Indent and dedent in htmlnotebook
1365 * :ghissue:`3545`: Notebook save button icon not clear
1365 * :ghissue:`3545`: Notebook save button icon not clear
1366 * :ghissue:`3534`: nbconvert incompatible with Windows?
1366 * :ghissue:`3534`: nbconvert incompatible with Windows?
1367 * :ghissue:`3489`: Update example notebook that raw_input is allowed
1367 * :ghissue:`3489`: Update example notebook that raw_input is allowed
1368 * :ghissue:`3396`: Notebook checkpoint time is displayed an hour out
1368 * :ghissue:`3396`: Notebook checkpoint time is displayed an hour out
1369 * :ghissue:`3261`: Empty revert to checkpoint menu if no checkpoint...
1369 * :ghissue:`3261`: Empty revert to checkpoint menu if no checkpoint...
1370 * :ghissue:`2984`: "print" magic does not work in Python 3
1370 * :ghissue:`2984`: "print" magic does not work in Python 3
1371 * :ghissue:`3524`: Issues with pyzmq and ipython on EPD update
1371 * :ghissue:`3524`: Issues with pyzmq and ipython on EPD update
1372 * :ghissue:`2434`: %store magic not auto-restoring
1372 * :ghissue:`2434`: %store magic not auto-restoring
1373 * :ghissue:`2720`: base_url and static path
1373 * :ghissue:`2720`: base_url and static path
1374 * :ghissue:`2234`: Update various low resolution graphics for retina displays
1374 * :ghissue:`2234`: Update various low resolution graphics for retina displays
1375 * :ghissue:`2842`: Remember passwords for pw-protected notebooks
1375 * :ghissue:`2842`: Remember passwords for pw-protected notebooks
1376 * :ghissue:`3244`: qtconsole: ValueError('close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderr',)
1376 * :ghissue:`3244`: qtconsole: ValueError('close_fds is not supported on Windows platforms if you redirect stdin/stdout/stderr',)
1377 * :ghissue:`2215`: AsyncResult.wait(0) can hang waiting for the client to get results?
1377 * :ghissue:`2215`: AsyncResult.wait(0) can hang waiting for the client to get results?
1378 * :ghissue:`2268`: provide mean to retrieve static data path
1378 * :ghissue:`2268`: provide mean to retrieve static data path
1379 * :ghissue:`1905`: Expose UI for worksheets within each notebook
1379 * :ghissue:`1905`: Expose UI for worksheets within each notebook
1380 * :ghissue:`2380`: Qt inputhook prevents modal dialog boxes from displaying
1380 * :ghissue:`2380`: Qt inputhook prevents modal dialog boxes from displaying
1381 * :ghissue:`3185`: prettify on double //
1381 * :ghissue:`3185`: prettify on double //
1382 * :ghissue:`2821`: Test failure: IPython.parallel.tests.test_client.test_resubmit_header
1382 * :ghissue:`2821`: Test failure: IPython.parallel.tests.test_client.test_resubmit_header
1383 * :ghissue:`2475`: [Notebook] Line is deindented when typing eg a colon in markdown mode
1383 * :ghissue:`2475`: [Notebook] Line is deindented when typing eg a colon in markdown mode
1384 * :ghissue:`2470`: Do not destroy valid notebooks
1384 * :ghissue:`2470`: Do not destroy valid notebooks
1385 * :ghissue:`860`: Allow the standalone export of a notebook to HTML
1385 * :ghissue:`860`: Allow the standalone export of a notebook to HTML
1386 * :ghissue:`2652`: notebook with qt backend crashes at save image location popup
1386 * :ghissue:`2652`: notebook with qt backend crashes at save image location popup
1387 * :ghissue:`1587`: Improve kernel restarting in the notebook
1387 * :ghissue:`1587`: Improve kernel restarting in the notebook
1388 * :ghissue:`2710`: Saving a plot in Mac OS X backend crashes IPython
1388 * :ghissue:`2710`: Saving a plot in Mac OS X backend crashes IPython
1389 * :ghissue:`2596`: notebook "Last saved:" is misleading on file opening.
1389 * :ghissue:`2596`: notebook "Last saved:" is misleading on file opening.
1390 * :ghissue:`2671`: TypeError :NoneType when executed "ipython qtconsole" in windows console
1390 * :ghissue:`2671`: TypeError :NoneType when executed "ipython qtconsole" in windows console
1391 * :ghissue:`2703`: Notebook scrolling breaks after pager is shown
1391 * :ghissue:`2703`: Notebook scrolling breaks after pager is shown
1392 * :ghissue:`2803`: KernelManager and KernelClient should be two separate objects
1392 * :ghissue:`2803`: KernelManager and KernelClient should be two separate objects
1393 * :ghissue:`2693`: TerminalIPythonApp configuration fails without ipython_config.py
1393 * :ghissue:`2693`: TerminalIPythonApp configuration fails without ipython_config.py
1394 * :ghissue:`2531`: IPython 0.13.1 python 2 32-bit installer includes 64-bit ipython*.exe launchers in the scripts folder
1394 * :ghissue:`2531`: IPython 0.13.1 python 2 32-bit installer includes 64-bit ipython*.exe launchers in the scripts folder
1395 * :ghissue:`2520`: Control-C kills port forwarding
1395 * :ghissue:`2520`: Control-C kills port forwarding
1396 * :ghissue:`2279`: Setting `__file__` to None breaks Mayavi import
1396 * :ghissue:`2279`: Setting `__file__` to None breaks Mayavi import
1397 * :ghissue:`2161`: When logged into notebook, long titles are incorrectly positioned
1397 * :ghissue:`2161`: When logged into notebook, long titles are incorrectly positioned
1398 * :ghissue:`1292`: Notebook, Print view should not be editable...
1398 * :ghissue:`1292`: Notebook, Print view should not be editable...
1399 * :ghissue:`1731`: test parallel launchers
1399 * :ghissue:`1731`: test parallel launchers
1400 * :ghissue:`3227`: Improve documentation of ipcontroller and possible BUG
1400 * :ghissue:`3227`: Improve documentation of ipcontroller and possible BUG
1401 * :ghissue:`2896`: IPController very unstable
1401 * :ghissue:`2896`: IPController very unstable
1402 * :ghissue:`3517`: documentation build broken in head
1402 * :ghissue:`3517`: documentation build broken in head
1403 * :ghissue:`3522`: UnicodeDecodeError: 'ascii' codec can't decode byte on Pycharm on Windows
1403 * :ghissue:`3522`: UnicodeDecodeError: 'ascii' codec can't decode byte on Pycharm on Windows
1404 * :ghissue:`3448`: Please include MathJax fonts with IPython Notebook
1404 * :ghissue:`3448`: Please include MathJax fonts with IPython Notebook
1405 * :ghissue:`3519`: IPython Parallel map mysteriously turns pandas Series into numpy ndarray
1405 * :ghissue:`3519`: IPython Parallel map mysteriously turns pandas Series into numpy ndarray
1406 * :ghissue:`3345`: IPython embedded shells ask if I want to exit, but I set confirm_exit = False
1406 * :ghissue:`3345`: IPython embedded shells ask if I want to exit, but I set confirm_exit = False
1407 * :ghissue:`3509`: IPython won't close without asking "Are you sure?" in Firefox
1407 * :ghissue:`3509`: IPython won't close without asking "Are you sure?" in Firefox
1408 * :ghissue:`3471`: Notebook jinja2/markupsafe depedencies in manual
1408 * :ghissue:`3471`: Notebook jinja2/markupsafe depedencies in manual
1409 * :ghissue:`3502`: Notebook broken in master
1409 * :ghissue:`3502`: Notebook broken in master
1410 * :ghissue:`3302`: autoreload does not work in ipython 0.13.x, python 3.3
1410 * :ghissue:`3302`: autoreload does not work in ipython 0.13.x, python 3.3
1411 * :ghissue:`3475`: no warning when leaving/closing notebook on master without saved changes
1411 * :ghissue:`3475`: no warning when leaving/closing notebook on master without saved changes
1412 * :ghissue:`3490`: No obvious feedback when kernel crashes
1412 * :ghissue:`3490`: No obvious feedback when kernel crashes
1413 * :ghissue:`1912`: Move all autoreload tests to their own group
1413 * :ghissue:`1912`: Move all autoreload tests to their own group
1414 * :ghissue:`2577`: sh.py and ipython for python 3.3
1414 * :ghissue:`2577`: sh.py and ipython for python 3.3
1415 * :ghissue:`3467`: %magic doesn't work
1415 * :ghissue:`3467`: %magic doesn't work
1416 * :ghissue:`3501`: Editing markdown cells that wrap has off-by-one errors in cursor positioning
1416 * :ghissue:`3501`: Editing markdown cells that wrap has off-by-one errors in cursor positioning
1417 * :ghissue:`3492`: IPython for Python3
1417 * :ghissue:`3492`: IPython for Python3
1418 * :ghissue:`3474`: unexpected keyword argument to remove_kernel
1418 * :ghissue:`3474`: unexpected keyword argument to remove_kernel
1419 * :ghissue:`2283`: TypeError when using '?' after a string in a %logstart session
1419 * :ghissue:`2283`: TypeError when using '?' after a string in a %logstart session
1420 * :ghissue:`2787`: rmagic and pandas DataFrame
1420 * :ghissue:`2787`: rmagic and pandas DataFrame
1421 * :ghissue:`2605`: Ellipsis literal triggers AttributeError
1421 * :ghissue:`2605`: Ellipsis literal triggers AttributeError
1422 * :ghissue:`1179`: Test unicode source in pinfo
1422 * :ghissue:`1179`: Test unicode source in pinfo
1423 * :ghissue:`2055`: drop Python 3.1 support
1423 * :ghissue:`2055`: drop Python 3.1 support
1424 * :ghissue:`2293`: IPEP 2: Input transformations
1424 * :ghissue:`2293`: IPEP 2: Input transformations
1425 * :ghissue:`2790`: %paste and %cpaste not removing "..." lines
1425 * :ghissue:`2790`: %paste and %cpaste not removing "..." lines
1426 * :ghissue:`3480`: Testing fails because iptest.py cannot be found
1426 * :ghissue:`3480`: Testing fails because iptest.py cannot be found
1427 * :ghissue:`2580`: will not run within PIL build directory
1427 * :ghissue:`2580`: will not run within PIL build directory
1428 * :ghissue:`2797`: RMagic, Dataframe Conversion Problem
1428 * :ghissue:`2797`: RMagic, Dataframe Conversion Problem
1429 * :ghissue:`2838`: Empty lines disappear from triple-quoted literals.
1429 * :ghissue:`2838`: Empty lines disappear from triple-quoted literals.
1430 * :ghissue:`3050`: Broken link on IPython.core.display page
1430 * :ghissue:`3050`: Broken link on IPython.core.display page
1431 * :ghissue:`3473`: Config not passed down to subcommands
1431 * :ghissue:`3473`: Config not passed down to subcommands
1432 * :ghissue:`3462`: Setting log_format in config file results in error (and no format changes)
1432 * :ghissue:`3462`: Setting log_format in config file results in error (and no format changes)
1433 * :ghissue:`3311`: Notebook (occasionally) not working on windows (Sophos AV)
1433 * :ghissue:`3311`: Notebook (occasionally) not working on windows (Sophos AV)
1434 * :ghissue:`3461`: Cursor positioning off by a character in auto-wrapped lines
1434 * :ghissue:`3461`: Cursor positioning off by a character in auto-wrapped lines
1435 * :ghissue:`3454`: _repr_html_ error
1435 * :ghissue:`3454`: _repr_html_ error
1436 * :ghissue:`3457`: Space in long Paragraph Markdown cell with Chinese or Japanese
1436 * :ghissue:`3457`: Space in long Paragraph Markdown cell with Chinese or Japanese
1437 * :ghissue:`3447`: Run Cell Does not Work
1437 * :ghissue:`3447`: Run Cell Does not Work
1438 * :ghissue:`1373`: Last lines in long cells are hidden
1438 * :ghissue:`1373`: Last lines in long cells are hidden
1439 * :ghissue:`1504`: Revisit serialization in IPython.parallel
1439 * :ghissue:`1504`: Revisit serialization in IPython.parallel
1440 * :ghissue:`1459`: Can't connect to 2 HTTPS notebook servers on the same host
1440 * :ghissue:`1459`: Can't connect to 2 HTTPS notebook servers on the same host
1441 * :ghissue:`678`: Input prompt stripping broken with multiline data structures
1441 * :ghissue:`678`: Input prompt stripping broken with multiline data structures
1442 * :ghissue:`3001`: IPython.notebook.dirty flag is not set when a cell has unsaved changes
1442 * :ghissue:`3001`: IPython.notebook.dirty flag is not set when a cell has unsaved changes
1443 * :ghissue:`3077`: Multiprocessing semantics in parallel.view.map
1443 * :ghissue:`3077`: Multiprocessing semantics in parallel.view.map
1444 * :ghissue:`3056`: links across notebooks
1444 * :ghissue:`3056`: links across notebooks
1445 * :ghissue:`3120`: Tornado 3.0
1445 * :ghissue:`3120`: Tornado 3.0
1446 * :ghissue:`3156`: update pretty to use Python 3 style for sets
1446 * :ghissue:`3156`: update pretty to use Python 3 style for sets
1447 * :ghissue:`3197`: Can't escape multiple dollar signs in a markdown cell
1447 * :ghissue:`3197`: Can't escape multiple dollar signs in a markdown cell
1448 * :ghissue:`3309`: `Image()` signature/doc improvements
1448 * :ghissue:`3309`: `Image()` signature/doc improvements
1449 * :ghissue:`3415`: Bug in IPython/external/path/__init__.py
1449 * :ghissue:`3415`: Bug in IPython/external/path/__init__.py
1450 * :ghissue:`3446`: Feature suggestion: Download matplotlib figure to client browser
1450 * :ghissue:`3446`: Feature suggestion: Download matplotlib figure to client browser
1451 * :ghissue:`3295`: autoexported notebooks: only export explicitly marked cells
1451 * :ghissue:`3295`: autoexported notebooks: only export explicitly marked cells
1452 * :ghissue:`3442`: Notebook: Summary table extracted from markdown headers
1452 * :ghissue:`3442`: Notebook: Summary table extracted from markdown headers
1453 * :ghissue:`3438`: Zooming notebook in chrome is broken in master
1453 * :ghissue:`3438`: Zooming notebook in chrome is broken in master
1454 * :ghissue:`1378`: Implement autosave in notebook
1454 * :ghissue:`1378`: Implement autosave in notebook
1455 * :ghissue:`3437`: Highlighting matching parentheses
1455 * :ghissue:`3437`: Highlighting matching parentheses
1456 * :ghissue:`3435`: module search segfault
1456 * :ghissue:`3435`: module search segfault
1457 * :ghissue:`3424`: ipcluster --version
1457 * :ghissue:`3424`: ipcluster --version
1458 * :ghissue:`3434`: 0.13.2 Ipython/genutils.py doesn't exist
1458 * :ghissue:`3434`: 0.13.2 Ipython/genutils.py doesn't exist
1459 * :ghissue:`3426`: Feature request: Save by cell and not by line #: IPython %save magic
1459 * :ghissue:`3426`: Feature request: Save by cell and not by line #: IPython %save magic
1460 * :ghissue:`3412`: Non Responsive Kernel: Running a Django development server from an IPython Notebook
1460 * :ghissue:`3412`: Non Responsive Kernel: Running a Django development server from an IPython Notebook
1461 * :ghissue:`3408`: Save cell toolbar and slide type metadata in notebooks
1461 * :ghissue:`3408`: Save cell toolbar and slide type metadata in notebooks
1462 * :ghissue:`3246`: %paste regression with blank lines
1462 * :ghissue:`3246`: %paste regression with blank lines
1463 * :ghissue:`3404`: Weird error with $variable and grep in command line magic (!command)
1463 * :ghissue:`3404`: Weird error with $variable and grep in command line magic (!command)
1464 * :ghissue:`3405`: Key auto-completion in dictionaries?
1464 * :ghissue:`3405`: Key auto-completion in dictionaries?
1465 * :ghissue:`3259`: Codemirror linenumber css broken
1465 * :ghissue:`3259`: Codemirror linenumber css broken
1466 * :ghissue:`3397`: Vertical text misalignment in Markdown cells
1466 * :ghissue:`3397`: Vertical text misalignment in Markdown cells
1467 * :ghissue:`3391`: Revert #3358 once fix integrated into CM
1467 * :ghissue:`3391`: Revert #3358 once fix integrated into CM
1468 * :ghissue:`3360`: Error 500 while saving IPython notebook
1468 * :ghissue:`3360`: Error 500 while saving IPython notebook
1469 * :ghissue:`3375`: Frequent Safari/Webkit crashes
1469 * :ghissue:`3375`: Frequent Safari/Webkit crashes
1470 * :ghissue:`3365`: zmq frontend
1470 * :ghissue:`3365`: zmq frontend
1471 * :ghissue:`2654`: User_expression issues
1471 * :ghissue:`2654`: User_expression issues
1472 * :ghissue:`3389`: Store history as plain text
1472 * :ghissue:`3389`: Store history as plain text
1473 * :ghissue:`3388`: Ipython parallel: open TCP connection created for each result returned from engine
1473 * :ghissue:`3388`: Ipython parallel: open TCP connection created for each result returned from engine
1474 * :ghissue:`3385`: setup.py failure on Python 3
1474 * :ghissue:`3385`: setup.py failure on Python 3
1475 * :ghissue:`3376`: Setting `__module__` to None breaks pretty printing
1475 * :ghissue:`3376`: Setting `__module__` to None breaks pretty printing
1476 * :ghissue:`3374`: ipython qtconsole does not display the prompt on OSX
1476 * :ghissue:`3374`: ipython qtconsole does not display the prompt on OSX
1477 * :ghissue:`3380`: simple call to kernel
1477 * :ghissue:`3380`: simple call to kernel
1478 * :ghissue:`3379`: TaskRecord key 'started' not set
1478 * :ghissue:`3379`: TaskRecord key 'started' not set
1479 * :ghissue:`3241`: notebook connection time out
1479 * :ghissue:`3241`: notebook connection time out
1480 * :ghissue:`3334`: magic interpreter interpretes non magic commands?
1480 * :ghissue:`3334`: magic interpreter interpretes non magic commands?
1481 * :ghissue:`3326`: python3.3: Type error when launching SGE cluster in IPython notebook
1481 * :ghissue:`3326`: python3.3: Type error when launching SGE cluster in IPython notebook
1482 * :ghissue:`3349`: pip3 doesn't run 2to3?
1482 * :ghissue:`3349`: pip3 doesn't run 2to3?
1483 * :ghissue:`3347`: Longlist support in ipdb
1483 * :ghissue:`3347`: Longlist support in ipdb
1484 * :ghissue:`3343`: Make pip install / easy_install faster
1484 * :ghissue:`3343`: Make pip install / easy_install faster
1485 * :ghissue:`3337`: git submodules broke nightly PPA builds
1485 * :ghissue:`3337`: git submodules broke nightly PPA builds
1486 * :ghissue:`3206`: Copy/Paste Regression in QtConsole
1486 * :ghissue:`3206`: Copy/Paste Regression in QtConsole
1487 * :ghissue:`3329`: Buggy linewrap in Mac OSX Terminal (Mountain Lion)
1487 * :ghissue:`3329`: Buggy linewrap in Mac OSX Terminal (Mountain Lion)
1488 * :ghissue:`3327`: Qt version check broken
1488 * :ghissue:`3327`: Qt version check broken
1489 * :ghissue:`3303`: parallel tasks never finish under heavy load
1489 * :ghissue:`3303`: parallel tasks never finish under heavy load
1490 * :ghissue:`1381`: '\\' for equation continuations require an extra '\' in markdown cells
1490 * :ghissue:`1381`: '\\' for equation continuations require an extra '\' in markdown cells
1491 * :ghissue:`3314`: Error launching iPython
1491 * :ghissue:`3314`: Error launching iPython
1492 * :ghissue:`3306`: Test failure when running on a Vagrant VM
1492 * :ghissue:`3306`: Test failure when running on a Vagrant VM
1493 * :ghissue:`3280`: IPython.utils.process.getoutput returns stderr
1493 * :ghissue:`3280`: IPython.utils.process.getoutput returns stderr
1494 * :ghissue:`3299`: variables named _ or __ exhibit incorrect behavior
1494 * :ghissue:`3299`: variables named _ or __ exhibit incorrect behavior
1495 * :ghissue:`3196`: add an "x" or similar to htmlnotebook pager
1495 * :ghissue:`3196`: add an "x" or similar to htmlnotebook pager
1496 * :ghissue:`3293`: Several 404 errors for js files Firefox
1496 * :ghissue:`3293`: Several 404 errors for js files Firefox
1497 * :ghissue:`3292`: syntax highlighting in chrome on OSX 10.8.3
1497 * :ghissue:`3292`: syntax highlighting in chrome on OSX 10.8.3
1498 * :ghissue:`3288`: Latest dev version hangs on page load
1498 * :ghissue:`3288`: Latest dev version hangs on page load
1499 * :ghissue:`3283`: ipython dev retains directory information after directory change
1499 * :ghissue:`3283`: ipython dev retains directory information after directory change
1500 * :ghissue:`3279`: custom.css is not overridden in the dev IPython (1.0)
1500 * :ghissue:`3279`: custom.css is not overridden in the dev IPython (1.0)
1501 * :ghissue:`2727`: %run -m doesn't support relative imports
1501 * :ghissue:`2727`: %run -m doesn't support relative imports
1502 * :ghissue:`3268`: GFM triple backquote and unknown language
1502 * :ghissue:`3268`: GFM triple backquote and unknown language
1503 * :ghissue:`3273`: Suppressing all plot related outputs
1503 * :ghissue:`3273`: Suppressing all plot related outputs
1504 * :ghissue:`3272`: Backspace while completing load previous page
1504 * :ghissue:`3272`: Backspace while completing load previous page
1505 * :ghissue:`3260`: Js error in savewidget
1505 * :ghissue:`3260`: Js error in savewidget
1506 * :ghissue:`3247`: scrollbar in notebook when not needed?
1506 * :ghissue:`3247`: scrollbar in notebook when not needed?
1507 * :ghissue:`3243`: notebook: option to view json source from browser
1507 * :ghissue:`3243`: notebook: option to view json source from browser
1508 * :ghissue:`3265`: 404 errors when running IPython 1.0dev
1508 * :ghissue:`3265`: 404 errors when running IPython 1.0dev
1509 * :ghissue:`3257`: setup.py not finding submodules
1509 * :ghissue:`3257`: setup.py not finding submodules
1510 * :ghissue:`3253`: Incorrect Qt and PySide version comparison
1510 * :ghissue:`3253`: Incorrect Qt and PySide version comparison
1511 * :ghissue:`3248`: Cell magics broken in Qt console
1511 * :ghissue:`3248`: Cell magics broken in Qt console
1512 * :ghissue:`3012`: Problems with the less based style.min.css
1512 * :ghissue:`3012`: Problems with the less based style.min.css
1513 * :ghissue:`2390`: Image width/height don't work in embedded images
1513 * :ghissue:`2390`: Image width/height don't work in embedded images
1514 * :ghissue:`3236`: cannot set TerminalIPythonApp.log_format
1514 * :ghissue:`3236`: cannot set TerminalIPythonApp.log_format
1515 * :ghissue:`3214`: notebook kernel dies if started with invalid parameter
1515 * :ghissue:`3214`: notebook kernel dies if started with invalid parameter
1516 * :ghissue:`2980`: Remove HTMLCell ?
1516 * :ghissue:`2980`: Remove HTMLCell ?
1517 * :ghissue:`3128`: qtconsole hangs on importing pylab (using X forwarding)
1517 * :ghissue:`3128`: qtconsole hangs on importing pylab (using X forwarding)
1518 * :ghissue:`3198`: Hitting recursive depth causing all notebook pages to hang
1518 * :ghissue:`3198`: Hitting recursive depth causing all notebook pages to hang
1519 * :ghissue:`3218`: race conditions in profile directory creation
1519 * :ghissue:`3218`: race conditions in profile directory creation
1520 * :ghissue:`3177`: OverflowError execption in handlers.py
1520 * :ghissue:`3177`: OverflowError execption in handlers.py
1521 * :ghissue:`2563`: core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation
1521 * :ghissue:`2563`: core.profiledir.check_startup_dir() doesn't work inside py2exe'd installation
1522 * :ghissue:`3207`: [Feature] folders for ipython notebook dashboard
1522 * :ghissue:`3207`: [Feature] folders for ipython notebook dashboard
1523 * :ghissue:`3178`: cell magics do not work with empty lines after #2447
1523 * :ghissue:`3178`: cell magics do not work with empty lines after #2447
1524 * :ghissue:`3204`: Default plot() colors unsuitable for red-green colorblind users
1524 * :ghissue:`3204`: Default plot() colors unsuitable for red-green colorblind users
1525 * :ghissue:`1789`: ``:\n/*foo`` turns into ``:\n*(foo)`` in triple-quoted strings.
1525 * :ghissue:`1789`: ``:\n/*foo`` turns into ``:\n*(foo)`` in triple-quoted strings.
1526 * :ghissue:`3202`: File cell magic fails with blank lines
1526 * :ghissue:`3202`: File cell magic fails with blank lines
1527 * :ghissue:`3199`: %%cython -a stopped working?
1527 * :ghissue:`3199`: %%cython -a stopped working?
1528 * :ghissue:`2688`: obsolete imports in import autocompletion
1528 * :ghissue:`2688`: obsolete imports in import autocompletion
1529 * :ghissue:`3192`: Python2, Unhandled exception, __builtin__.True = False
1529 * :ghissue:`3192`: Python2, Unhandled exception, __builtin__.True = False
1530 * :ghissue:`3179`: script magic error message loop
1530 * :ghissue:`3179`: script magic error message loop
1531 * :ghissue:`3009`: use XDG_CACHE_HOME for cython objects
1531 * :ghissue:`3009`: use XDG_CACHE_HOME for cython objects
1532 * :ghissue:`3059`: Bugs in 00_notebook_tour example.
1532 * :ghissue:`3059`: Bugs in 00_notebook_tour example.
1533 * :ghissue:`3104`: Integrate a javascript file manager into the notebook front end
1533 * :ghissue:`3104`: Integrate a javascript file manager into the notebook front end
1534 * :ghissue:`3176`: Particular equation not rendering (notebook)
1534 * :ghissue:`3176`: Particular equation not rendering (notebook)
1535 * :ghissue:`1133`: [notebook] readonly and upload files/UI
1535 * :ghissue:`1133`: [notebook] readonly and upload files/UI
1536 * :ghissue:`2975`: [notebook] python file and cell toolbar
1536 * :ghissue:`2975`: [notebook] python file and cell toolbar
1537 * :ghissue:`3017`: SciPy.weave broken in IPython notebook/ qtconsole
1537 * :ghissue:`3017`: SciPy.weave broken in IPython notebook/ qtconsole
1538 * :ghissue:`3161`: paste macro not reading spaces correctly
1538 * :ghissue:`3161`: paste macro not reading spaces correctly
1539 * :ghissue:`2835`: %paste not working on WinXpSP3/ipython-0.13.1.py2-win32-PROPER.exe/python27
1539 * :ghissue:`2835`: %paste not working on WinXpSP3/ipython-0.13.1.py2-win32-PROPER.exe/python27
1540 * :ghissue:`2628`: Make transformers work for lines following decorators
1540 * :ghissue:`2628`: Make transformers work for lines following decorators
1541 * :ghissue:`2612`: Multiline String containing ":\n?foo\n" confuses interpreter to replace ?foo with get_ipython().magic(u'pinfo foo')
1541 * :ghissue:`2612`: Multiline String containing ":\n?foo\n" confuses interpreter to replace ?foo with get_ipython().magic(u'pinfo foo')
1542 * :ghissue:`2539`: Request: Enable cell magics inside of .ipy scripts
1542 * :ghissue:`2539`: Request: Enable cell magics inside of .ipy scripts
1543 * :ghissue:`2507`: Multiline string does not work (includes `...`) with doctest type input in IPython notebook
1543 * :ghissue:`2507`: Multiline string does not work (includes `...`) with doctest type input in IPython notebook
1544 * :ghissue:`2164`: Request: Line breaks in line magic command
1544 * :ghissue:`2164`: Request: Line breaks in line magic command
1545 * :ghissue:`3106`: poor parallel performance with many jobs
1545 * :ghissue:`3106`: poor parallel performance with many jobs
1546 * :ghissue:`2438`: print inside multiprocessing crashes Ipython kernel
1546 * :ghissue:`2438`: print inside multiprocessing crashes Ipython kernel
1547 * :ghissue:`3155`: Bad md5 hash for package 0.13.2
1547 * :ghissue:`3155`: Bad md5 hash for package 0.13.2
1548 * :ghissue:`3045`: [Notebook] Ipython Kernel does not start if disconnected from internet(/network?)
1548 * :ghissue:`3045`: [Notebook] Ipython Kernel does not start if disconnected from internet(/network?)
1549 * :ghissue:`3146`: Using celery in python 3.3
1549 * :ghissue:`3146`: Using celery in python 3.3
1550 * :ghissue:`3145`: The notebook viewer is down
1550 * :ghissue:`3145`: The notebook viewer is down
1551 * :ghissue:`2385`: grep --color not working well with notebook
1551 * :ghissue:`2385`: grep --color not working well with notebook
1552 * :ghissue:`3131`: Quickly install from source in a clean virtualenv?
1552 * :ghissue:`3131`: Quickly install from source in a clean virtualenv?
1553 * :ghissue:`3139`: Rolling log for ipython
1553 * :ghissue:`3139`: Rolling log for ipython
1554 * :ghissue:`3127`: notebook with pylab=inline appears to call figure.draw twice
1554 * :ghissue:`3127`: notebook with pylab=inline appears to call figure.draw twice
1555 * :ghissue:`3129`: Walking up and down the call stack
1555 * :ghissue:`3129`: Walking up and down the call stack
1556 * :ghissue:`3123`: Notebook crashed if unplugged ethernet cable
1556 * :ghissue:`3123`: Notebook crashed if unplugged ethernet cable
1557 * :ghissue:`3121`: NB should use normalize.css? was #3049
1557 * :ghissue:`3121`: NB should use normalize.css? was #3049
1558 * :ghissue:`3087`: Disable spellchecking in notebook
1558 * :ghissue:`3087`: Disable spellchecking in notebook
1559 * :ghissue:`3084`: ipython pyqt 4.10 incompatibilty, QTextBlockUserData
1559 * :ghissue:`3084`: ipython pyqt 4.10 incompatibilty, QTextBlockUserData
1560 * :ghissue:`3113`: Fails to install under Jython 2.7 beta
1560 * :ghissue:`3113`: Fails to install under Jython 2.7 beta
1561 * :ghissue:`3110`: Render of h4 headers is not correct in notebook (error in renderedhtml.css)
1561 * :ghissue:`3110`: Render of h4 headers is not correct in notebook (error in renderedhtml.css)
1562 * :ghissue:`3109`: BUG: read_csv: dtype={'id' : np.str}: Datatype not understood
1562 * :ghissue:`3109`: BUG: read_csv: dtype={'id' : np.str}: Datatype not understood
1563 * :ghissue:`3107`: Autocompletion of object attributes in arrays
1563 * :ghissue:`3107`: Autocompletion of object attributes in arrays
1564 * :ghissue:`3103`: Reset locale setting in qtconsole
1564 * :ghissue:`3103`: Reset locale setting in qtconsole
1565 * :ghissue:`3090`: python3.3 Entry Point not found
1565 * :ghissue:`3090`: python3.3 Entry Point not found
1566 * :ghissue:`3081`: UnicodeDecodeError when using Image(data="some.jpeg")
1566 * :ghissue:`3081`: UnicodeDecodeError when using Image(data="some.jpeg")
1567 * :ghissue:`2834`: url regexp only finds one link
1567 * :ghissue:`2834`: url regexp only finds one link
1568 * :ghissue:`3091`: qtconsole breaks doctest.testmod() in Python 3.3
1568 * :ghissue:`3091`: qtconsole breaks doctest.testmod() in Python 3.3
1569 * :ghissue:`3074`: SIGUSR1 not available on Windows
1569 * :ghissue:`3074`: SIGUSR1 not available on Windows
1570 * :ghissue:`2996`: registration::purging stalled registration high occurrence in small clusters
1570 * :ghissue:`2996`: registration::purging stalled registration high occurrence in small clusters
1571 * :ghissue:`3065`: diff-ability of notebooks
1571 * :ghissue:`3065`: diff-ability of notebooks
1572 * :ghissue:`3067`: Crash with pygit2
1572 * :ghissue:`3067`: Crash with pygit2
1573 * :ghissue:`3061`: Bug handling Ellipsis
1573 * :ghissue:`3061`: Bug handling Ellipsis
1574 * :ghissue:`3049`: NB css inconsistent behavior between ff and webkit
1574 * :ghissue:`3049`: NB css inconsistent behavior between ff and webkit
1575 * :ghissue:`3039`: unicode errors when opening a new notebook
1575 * :ghissue:`3039`: unicode errors when opening a new notebook
1576 * :ghissue:`3048`: Installning ipython qtConsole should be easyer att Windows
1576 * :ghissue:`3048`: Installning ipython qtConsole should be easyer att Windows
1577 * :ghissue:`3042`: Profile creation fails on 0.13.2 branch
1577 * :ghissue:`3042`: Profile creation fails on 0.13.2 branch
1578 * :ghissue:`3035`: docstring typo/inconsistency: mention of an xml notebook format?
1578 * :ghissue:`3035`: docstring typo/inconsistency: mention of an xml notebook format?
1579 * :ghissue:`3031`: HDF5 library segfault (possibly due to mismatching headers?)
1579 * :ghissue:`3031`: HDF5 library segfault (possibly due to mismatching headers?)
1580 * :ghissue:`2991`: In notebook importing sympy closes ipython kernel
1580 * :ghissue:`2991`: In notebook importing sympy closes ipython kernel
1581 * :ghissue:`3027`: f.__globals__ causes an error in Python 3.3
1581 * :ghissue:`3027`: f.__globals__ causes an error in Python 3.3
1582 * :ghissue:`3020`: Failing test test_interactiveshell.TestAstTransform on Windows
1582 * :ghissue:`3020`: Failing test test_interactiveshell.TestAstTransform on Windows
1583 * :ghissue:`3023`: alt text for "click to expand output" has typo in alt text
1583 * :ghissue:`3023`: alt text for "click to expand output" has typo in alt text
1584 * :ghissue:`2963`: %history to print all input history of a previous session when line range is omitted
1584 * :ghissue:`2963`: %history to print all input history of a previous session when line range is omitted
1585 * :ghissue:`3018`: IPython installed within virtualenv. WARNING "Please install IPython inside the virtualtenv"
1585 * :ghissue:`3018`: IPython installed within virtualenv. WARNING "Please install IPython inside the virtualtenv"
1586 * :ghissue:`2484`: Completion in Emacs *Python* buffer causes prompt to be increased.
1586 * :ghissue:`2484`: Completion in Emacs *Python* buffer causes prompt to be increased.
1587 * :ghissue:`3014`: Ctrl-C finishes notebook immediately
1587 * :ghissue:`3014`: Ctrl-C finishes notebook immediately
1588 * :ghissue:`3007`: cython_pyximport reload broken in python3
1588 * :ghissue:`3007`: cython_pyximport reload broken in python3
1589 * :ghissue:`2955`: Incompatible Qt imports when running inprocess_qtconsole
1589 * :ghissue:`2955`: Incompatible Qt imports when running inprocess_qtconsole
1590 * :ghissue:`3006`: [IPython 0.13.1] The check of PyQt version is wrong
1590 * :ghissue:`3006`: [IPython 0.13.1] The check of PyQt version is wrong
1591 * :ghissue:`3005`: Renaming a notebook to an existing notebook name overwrites the other file
1591 * :ghissue:`3005`: Renaming a notebook to an existing notebook name overwrites the other file
1592 * :ghissue:`2940`: Abort trap in IPython Notebook after installing matplotlib
1592 * :ghissue:`2940`: Abort trap in IPython Notebook after installing matplotlib
1593 * :ghissue:`3000`: issue #3000
1593 * :ghissue:`3000`: issue #3000
1594 * :ghissue:`2995`: ipython_directive.py fails on multiline when prompt number < 100
1594 * :ghissue:`2995`: ipython_directive.py fails on multiline when prompt number < 100
1595 * :ghissue:`2993`: File magic (%%file) does not work with paths beginning with tilde (e.g., ~/anaconda/stuff.txt)
1595 * :ghissue:`2993`: File magic (%%file) does not work with paths beginning with tilde (e.g., ~/anaconda/stuff.txt)
1596 * :ghissue:`2992`: Cell-based input for console and qt frontends?
1596 * :ghissue:`2992`: Cell-based input for console and qt frontends?
1597 * :ghissue:`2425`: Liaise with Spyder devs to integrate newer IPython
1597 * :ghissue:`2425`: Liaise with Spyder devs to integrate newer IPython
1598 * :ghissue:`2986`: requesting help in a loop can damage a notebook
1598 * :ghissue:`2986`: requesting help in a loop can damage a notebook
1599 * :ghissue:`2978`: v1.0-dev build errors on Arch with Python 3.
1599 * :ghissue:`2978`: v1.0-dev build errors on Arch with Python 3.
1600 * :ghissue:`2557`: [refactor] Insert_cell_at_index()
1600 * :ghissue:`2557`: [refactor] Insert_cell_at_index()
1601 * :ghissue:`2969`: ipython command does not work in terminal
1601 * :ghissue:`2969`: ipython command does not work in terminal
1602 * :ghissue:`2762`: OSX wxPython (osx_cocoa, 64bit) command "%gui wx" blocks the interpreter
1602 * :ghissue:`2762`: OSX wxPython (osx_cocoa, 64bit) command "%gui wx" blocks the interpreter
1603 * :ghissue:`2956`: Silent importing of submodules differs from standard Python3.2 interpreter's behavior
1603 * :ghissue:`2956`: Silent importing of submodules differs from standard Python3.2 interpreter's behavior
1604 * :ghissue:`2943`: Up arrow key history search gets stuck in QTConsole
1604 * :ghissue:`2943`: Up arrow key history search gets stuck in QTConsole
1605 * :ghissue:`2953`: using 'nonlocal' declaration in global scope causes ipython3 crash
1605 * :ghissue:`2953`: using 'nonlocal' declaration in global scope causes ipython3 crash
1606 * :ghissue:`2952`: qtconsole ignores exec_lines
1606 * :ghissue:`2952`: qtconsole ignores exec_lines
1607 * :ghissue:`2949`: ipython crashes due to atexit()
1607 * :ghissue:`2949`: ipython crashes due to atexit()
1608 * :ghissue:`2947`: From rmagic to an R console
1608 * :ghissue:`2947`: From rmagic to an R console
1609 * :ghissue:`2938`: docstring pane not showing in notebook
1609 * :ghissue:`2938`: docstring pane not showing in notebook
1610 * :ghissue:`2936`: Tornado assumes invalid signature for parse_qs on Python 3.1
1610 * :ghissue:`2936`: Tornado assumes invalid signature for parse_qs on Python 3.1
1611 * :ghissue:`2935`: unable to find python after easy_install / pip install
1611 * :ghissue:`2935`: unable to find python after easy_install / pip install
1612 * :ghissue:`2920`: Add undo-cell deletion menu
1612 * :ghissue:`2920`: Add undo-cell deletion menu
1613 * :ghissue:`2914`: BUG:saving a modified .py file after loading a module kills the kernel
1613 * :ghissue:`2914`: BUG:saving a modified .py file after loading a module kills the kernel
1614 * :ghissue:`2925`: BUG: kernel dies if user sets sys.stderr or sys.stdout to a file object
1614 * :ghissue:`2925`: BUG: kernel dies if user sets sys.stderr or sys.stdout to a file object
1615 * :ghissue:`2909`: LaTeX sometimes fails to render in markdown cells with some curly bracket + underscore combinations
1615 * :ghissue:`2909`: LaTeX sometimes fails to render in markdown cells with some curly bracket + underscore combinations
1616 * :ghissue:`2898`: Skip ipc tests on Windows
1616 * :ghissue:`2898`: Skip ipc tests on Windows
1617 * :ghissue:`2902`: ActiveState attempt to build ipython 0.12.1 for python 3.2.2 for Mac OS failed
1617 * :ghissue:`2902`: ActiveState attempt to build ipython 0.12.1 for python 3.2.2 for Mac OS failed
1618 * :ghissue:`2899`: Test failure in IPython.core.tests.test_magic.test_time
1618 * :ghissue:`2899`: Test failure in IPython.core.tests.test_magic.test_time
1619 * :ghissue:`2890`: Test failure when fabric not installed
1619 * :ghissue:`2890`: Test failure when fabric not installed
1620 * :ghissue:`2892`: IPython tab completion bug for paths
1620 * :ghissue:`2892`: IPython tab completion bug for paths
1621 * :ghissue:`1340`: Allow input cells to be collapsed
1621 * :ghissue:`1340`: Allow input cells to be collapsed
1622 * :ghissue:`2881`: ? command in notebook does not show help in Safari
1622 * :ghissue:`2881`: ? command in notebook does not show help in Safari
1623 * :ghissue:`2751`: %%timeit should use minutes to format running time in long running cells
1623 * :ghissue:`2751`: %%timeit should use minutes to format running time in long running cells
1624 * :ghissue:`2879`: When importing a module with a wrong name, ipython crashes
1624 * :ghissue:`2879`: When importing a module with a wrong name, ipython crashes
1625 * :ghissue:`2862`: %%timeit should warn of empty contents
1625 * :ghissue:`2862`: %%timeit should warn of empty contents
1626 * :ghissue:`2485`: History navigation breaks in qtconsole
1626 * :ghissue:`2485`: History navigation breaks in qtconsole
1627 * :ghissue:`2785`: gevent input hook
1627 * :ghissue:`2785`: gevent input hook
1628 * :ghissue:`2843`: Sliently running code in clipboard (with paste, cpaste and variants)
1628 * :ghissue:`2843`: Sliently running code in clipboard (with paste, cpaste and variants)
1629 * :ghissue:`2784`: %run -t -N<N> error
1629 * :ghissue:`2784`: %run -t -N<N> error
1630 * :ghissue:`2732`: Test failure with FileLinks class on Windows
1630 * :ghissue:`2732`: Test failure with FileLinks class on Windows
1631 * :ghissue:`2860`: ipython help notebook -> KeyError: 'KernelManager'
1631 * :ghissue:`2860`: ipython help notebook -> KeyError: 'KernelManager'
1632 * :ghissue:`2858`: Where is the installed `ipython` script?
1632 * :ghissue:`2858`: Where is the installed `ipython` script?
1633 * :ghissue:`2856`: Edit code entered from ipython in external editor
1633 * :ghissue:`2856`: Edit code entered from ipython in external editor
1634 * :ghissue:`2722`: IPC transport option not taking effect ?
1634 * :ghissue:`2722`: IPC transport option not taking effect ?
1635 * :ghissue:`2473`: Better error messages in ipengine/ipcontroller
1635 * :ghissue:`2473`: Better error messages in ipengine/ipcontroller
1636 * :ghissue:`2836`: Cannot send builtin module definitions to IP engines
1636 * :ghissue:`2836`: Cannot send builtin module definitions to IP engines
1637 * :ghissue:`2833`: Any reason not to use super() ?
1637 * :ghissue:`2833`: Any reason not to use super() ?
1638 * :ghissue:`2781`: Cannot interrupt infinite loops in the notebook
1638 * :ghissue:`2781`: Cannot interrupt infinite loops in the notebook
1639 * :ghissue:`2150`: clippath_demo.py in matplotlib example does not work with inline backend
1639 * :ghissue:`2150`: clippath_demo.py in matplotlib example does not work with inline backend
1640 * :ghissue:`2634`: Numbered list in notebook markdown cell renders with Roman numerals instead of numbers
1640 * :ghissue:`2634`: Numbered list in notebook markdown cell renders with Roman numerals instead of numbers
1641 * :ghissue:`2230`: IPython crashing during startup with "AttributeError: 'NoneType' object has no attribute 'rstrip'"
1641 * :ghissue:`2230`: IPython crashing during startup with "AttributeError: 'NoneType' object has no attribute 'rstrip'"
1642 * :ghissue:`2483`: nbviewer bug? with multi-file gists
1642 * :ghissue:`2483`: nbviewer bug? with multi-file gists
1643 * :ghissue:`2466`: mistyping `ed -p` breaks `ed -p`
1643 * :ghissue:`2466`: mistyping `ed -p` breaks `ed -p`
1644 * :ghissue:`2477`: Glob expansion tests fail on Windows
1644 * :ghissue:`2477`: Glob expansion tests fail on Windows
1645 * :ghissue:`2622`: doc issue: notebooks that ship with Ipython .13 are written for python 2.x
1645 * :ghissue:`2622`: doc issue: notebooks that ship with Ipython .13 are written for python 2.x
1646 * :ghissue:`2626`: Add "Cell -> Run All Keep Going" for notebooks
1646 * :ghissue:`2626`: Add "Cell -> Run All Keep Going" for notebooks
1647 * :ghissue:`1223`: Show last modification date of each notebook
1647 * :ghissue:`1223`: Show last modification date of each notebook
1648 * :ghissue:`2621`: user request: put link to example notebooks in Dashboard
1648 * :ghissue:`2621`: user request: put link to example notebooks in Dashboard
1649 * :ghissue:`2564`: grid blanks plots in ipython pylab inline mode (interactive)
1649 * :ghissue:`2564`: grid blanks plots in ipython pylab inline mode (interactive)
1650 * :ghissue:`2532`: Django shell (IPython) gives NameError on dict comprehensions
1650 * :ghissue:`2532`: Django shell (IPython) gives NameError on dict comprehensions
1651 * :ghissue:`2188`: ipython crashes on ctrl-c
1651 * :ghissue:`2188`: ipython crashes on ctrl-c
1652 * :ghissue:`2391`: Request: nbformat API to load/save without changing version
1652 * :ghissue:`2391`: Request: nbformat API to load/save without changing version
1653 * :ghissue:`2355`: Restart kernel message even though kernel is perfectly alive
1653 * :ghissue:`2355`: Restart kernel message even though kernel is perfectly alive
1654 * :ghissue:`2306`: Garbled input text after reverse search on Mac OS X
1654 * :ghissue:`2306`: Garbled input text after reverse search on Mac OS X
1655 * :ghissue:`2297`: ipdb with separate kernel/client pushing stdout to kernel process only
1655 * :ghissue:`2297`: ipdb with separate kernel/client pushing stdout to kernel process only
1656 * :ghissue:`2180`: Have [kernel busy] overridden only by [kernel idle]
1656 * :ghissue:`2180`: Have [kernel busy] overridden only by [kernel idle]
1657 * :ghissue:`1188`: Pylab with OSX backend keyboard focus issue and hang
1657 * :ghissue:`1188`: Pylab with OSX backend keyboard focus issue and hang
1658 * :ghissue:`2107`: test_octavemagic.py[everything] fails
1658 * :ghissue:`2107`: test_octavemagic.py[everything] fails
1659 * :ghissue:`1212`: Better understand/document browser compatibility
1659 * :ghissue:`1212`: Better understand/document browser compatibility
1660 * :ghissue:`1585`: Refactor notebook templates to use Jinja2 and make each page a separate directory
1660 * :ghissue:`1585`: Refactor notebook templates to use Jinja2 and make each page a separate directory
1661 * :ghissue:`1443`: xticks scaling factor partially obscured with qtconsole and inline plotting
1661 * :ghissue:`1443`: xticks scaling factor partially obscured with qtconsole and inline plotting
1662 * :ghissue:`1209`: can't make %result work as in doc.
1662 * :ghissue:`1209`: can't make %result work as in doc.
1663 * :ghissue:`1200`: IPython 0.12 Windows install fails on Vista
1663 * :ghissue:`1200`: IPython 0.12 Windows install fails on Vista
1664 * :ghissue:`1127`: Interactive test scripts for Qt/nb issues
1664 * :ghissue:`1127`: Interactive test scripts for Qt/nb issues
1665 * :ghissue:`959`: Matplotlib figures hide
1665 * :ghissue:`959`: Matplotlib figures hide
1666 * :ghissue:`2071`: win32 installer issue on Windows XP
1666 * :ghissue:`2071`: win32 installer issue on Windows XP
1667 * :ghissue:`2610`: ZMQInteractiveShell.colors being ignored
1667 * :ghissue:`2610`: ZMQInteractiveShell.colors being ignored
1668 * :ghissue:`2505`: Markdown Cell incorrectly highlighting after "<"
1668 * :ghissue:`2505`: Markdown Cell incorrectly highlighting after "<"
1669 * :ghissue:`165`: Installer fails to create Start Menu entries on Windows
1669 * :ghissue:`165`: Installer fails to create Start Menu entries on Windows
1670 * :ghissue:`2356`: failing traceback in terminal ipython for first exception
1670 * :ghissue:`2356`: failing traceback in terminal ipython for first exception
1671 * :ghissue:`2145`: Have dashboad show when server disconect
1671 * :ghissue:`2145`: Have dashboad show when server disconect
1672 * :ghissue:`2098`: Do not crash on kernel shutdow if json file is missing
1672 * :ghissue:`2098`: Do not crash on kernel shutdow if json file is missing
1673 * :ghissue:`2813`: Offline MathJax is broken on 0.14dev
1673 * :ghissue:`2813`: Offline MathJax is broken on 0.14dev
1674 * :ghissue:`2807`: Test failure: IPython.parallel.tests.test_client.TestClient.test_purge_everything
1674 * :ghissue:`2807`: Test failure: IPython.parallel.tests.test_client.TestClient.test_purge_everything
1675 * :ghissue:`2486`: Readline's history search in ipython console does not clear properly after cancellation with Ctrl+C
1675 * :ghissue:`2486`: Readline's history search in ipython console does not clear properly after cancellation with Ctrl+C
1676 * :ghissue:`2709`: Cython -la doesn't work
1676 * :ghissue:`2709`: Cython -la doesn't work
1677 * :ghissue:`2767`: What is IPython.utils.upgradedir ?
1677 * :ghissue:`2767`: What is IPython.utils.upgradedir ?
1678 * :ghissue:`2210`: Placing matplotlib legend outside axis bounds causes inline display to clip it
1678 * :ghissue:`2210`: Placing matplotlib legend outside axis bounds causes inline display to clip it
1679 * :ghissue:`2553`: IPython Notebooks not robust against client failures
1679 * :ghissue:`2553`: IPython Notebooks not robust against client failures
1680 * :ghissue:`2536`: ImageDraw in Ipython notebook not drawing lines
1680 * :ghissue:`2536`: ImageDraw in Ipython notebook not drawing lines
1681 * :ghissue:`2264`: Feature request: Versioning messaging protocol
1681 * :ghissue:`2264`: Feature request: Versioning messaging protocol
1682 * :ghissue:`2589`: Creation of ~300+ MPI-spawned engines causes instability in ipcluster
1682 * :ghissue:`2589`: Creation of ~300+ MPI-spawned engines causes instability in ipcluster
1683 * :ghissue:`2672`: notebook: inline option without pylab
1683 * :ghissue:`2672`: notebook: inline option without pylab
1684 * :ghissue:`2673`: Indefinite Articles & Traitlets
1684 * :ghissue:`2673`: Indefinite Articles & Traitlets
1685 * :ghissue:`2705`: Notebook crashes Safari with select and drag
1685 * :ghissue:`2705`: Notebook crashes Safari with select and drag
1686 * :ghissue:`2721`: dreload kills ipython when it hits zmq
1686 * :ghissue:`2721`: dreload kills ipython when it hits zmq
1687 * :ghissue:`2806`: ipython.parallel doesn't discover globals under Python 3.3
1687 * :ghissue:`2806`: ipython.parallel doesn't discover globals under Python 3.3
1688 * :ghissue:`2794`: _exit_code behaves differently in terminal vs ZMQ frontends
1688 * :ghissue:`2794`: _exit_code behaves differently in terminal vs ZMQ frontends
1689 * :ghissue:`2793`: IPython.parallel issue with pushing pandas TimeSeries
1689 * :ghissue:`2793`: IPython.parallel issue with pushing pandas TimeSeries
1690 * :ghissue:`1085`: In process kernel for Qt frontend
1690 * :ghissue:`1085`: In process kernel for Qt frontend
1691 * :ghissue:`2760`: IndexError: list index out of range with Python 3.2
1691 * :ghissue:`2760`: IndexError: list index out of range with Python 3.2
1692 * :ghissue:`2780`: Save and load notebooks from github
1692 * :ghissue:`2780`: Save and load notebooks from github
1693 * :ghissue:`2772`: AttributeError: 'Client' object has no attribute 'kill'
1693 * :ghissue:`2772`: AttributeError: 'Client' object has no attribute 'kill'
1694 * :ghissue:`2754`: Fail to send class definitions from interactive session to engines namespaces
1694 * :ghissue:`2754`: Fail to send class definitions from interactive session to engines namespaces
1695 * :ghissue:`2764`: TypeError while using 'cd'
1695 * :ghissue:`2764`: TypeError while using 'cd'
1696 * :ghissue:`2765`: name '__file__' is not defined
1696 * :ghissue:`2765`: name '__file__' is not defined
1697 * :ghissue:`2540`: Wrap tooltip if line exceeds threshold?
1697 * :ghissue:`2540`: Wrap tooltip if line exceeds threshold?
1698 * :ghissue:`2394`: Startup error on ipython qtconsole (version 0.13 and 0.14-dev
1698 * :ghissue:`2394`: Startup error on ipython qtconsole (version 0.13 and 0.14-dev
1699 * :ghissue:`2440`: IPEP 4: Python 3 Compatibility
1699 * :ghissue:`2440`: IPEP 4: Python 3 Compatibility
1700 * :ghissue:`1814`: __file__ is not defined when file end with .ipy
1700 * :ghissue:`1814`: __file__ is not defined when file end with .ipy
1701 * :ghissue:`2759`: R magic extension interferes with tab completion
1701 * :ghissue:`2759`: R magic extension interferes with tab completion
1702 * :ghissue:`2615`: Small change needed to rmagic extension.
1702 * :ghissue:`2615`: Small change needed to rmagic extension.
1703 * :ghissue:`2748`: collapse parts of a html notebook
1703 * :ghissue:`2748`: collapse parts of a html notebook
1704 * :ghissue:`1661`: %paste still bugs about IndentationError and says to use %paste
1704 * :ghissue:`1661`: %paste still bugs about IndentationError and says to use %paste
1705 * :ghissue:`2742`: Octavemagic fails to deliver inline images in IPython (on Windows)
1705 * :ghissue:`2742`: Octavemagic fails to deliver inline images in IPython (on Windows)
1706 * :ghissue:`2739`: wiki.ipython.org contaminated with prescription drug spam
1706 * :ghissue:`2739`: wiki.ipython.org contaminated with prescription drug spam
1707 * :ghissue:`2588`: Link error while executing code from cython example notebook
1707 * :ghissue:`2588`: Link error while executing code from cython example notebook
1708 * :ghissue:`2550`: Rpush magic doesn't find local variables and doesn't support comma separated lists of variables
1708 * :ghissue:`2550`: Rpush magic doesn't find local variables and doesn't support comma separated lists of variables
1709 * :ghissue:`2675`: Markdown/html blockquote need css.
1709 * :ghissue:`2675`: Markdown/html blockquote need css.
1710 * :ghissue:`2419`: TerminalInteractiveShell.__init__() ignores value of ipython_dir argument
1710 * :ghissue:`2419`: TerminalInteractiveShell.__init__() ignores value of ipython_dir argument
1711 * :ghissue:`1523`: Better LaTeX printing in the qtconsole with the sympy profile
1711 * :ghissue:`1523`: Better LaTeX printing in the qtconsole with the sympy profile
1712 * :ghissue:`2719`: ipython fails with `pkg_resources.DistributionNotFound: ipython==0.13`
1712 * :ghissue:`2719`: ipython fails with `pkg_resources.DistributionNotFound: ipython==0.13`
1713 * :ghissue:`2715`: url crashes nbviewer.ipython.org
1713 * :ghissue:`2715`: url crashes nbviewer.ipython.org
1714 * :ghissue:`2555`: "import" module completion on MacOSX
1714 * :ghissue:`2555`: "import" module completion on MacOSX
1715 * :ghissue:`2707`: Problem installing the new version of IPython in Windows
1715 * :ghissue:`2707`: Problem installing the new version of IPython in Windows
1716 * :ghissue:`2696`: SymPy magic bug in IPython Notebook
1716 * :ghissue:`2696`: SymPy magic bug in IPython Notebook
1717 * :ghissue:`2684`: pretty print broken for types created with PyType_FromSpec
1717 * :ghissue:`2684`: pretty print broken for types created with PyType_FromSpec
1718 * :ghissue:`2533`: rmagic breaks on Windows
1718 * :ghissue:`2533`: rmagic breaks on Windows
1719 * :ghissue:`2661`: Qtconsole tooltip is too wide when the function has many arguments
1719 * :ghissue:`2661`: Qtconsole tooltip is too wide when the function has many arguments
1720 * :ghissue:`2679`: ipython3 qtconsole via Homebrew on Mac OS X 10.8 - pyqt/pyside import error
1720 * :ghissue:`2679`: ipython3 qtconsole via Homebrew on Mac OS X 10.8 - pyqt/pyside import error
1721 * :ghissue:`2646`: pylab_not_importable
1721 * :ghissue:`2646`: pylab_not_importable
1722 * :ghissue:`2587`: cython magic pops 2 CLI windows upon execution on Windows
1722 * :ghissue:`2587`: cython magic pops 2 CLI windows upon execution on Windows
1723 * :ghissue:`2660`: Certain arguments (-h, --help, --version) never passed to scripts run with ipython
1723 * :ghissue:`2660`: Certain arguments (-h, --help, --version) never passed to scripts run with ipython
1724 * :ghissue:`2665`: Missing docs for rmagic and some other extensions
1724 * :ghissue:`2665`: Missing docs for rmagic and some other extensions
1725 * :ghissue:`2611`: Travis wants to drop 3.1 support
1725 * :ghissue:`2611`: Travis wants to drop 3.1 support
1726 * :ghissue:`2658`: Incorrect parsing of raw multiline strings
1726 * :ghissue:`2658`: Incorrect parsing of raw multiline strings
1727 * :ghissue:`2655`: Test fails if `from __future__ import print_function` in .pythonrc.py
1727 * :ghissue:`2655`: Test fails if `from __future__ import print_function` in .pythonrc.py
1728 * :ghissue:`2651`: nonlocal with no existing variable produces too many errors
1728 * :ghissue:`2651`: nonlocal with no existing variable produces too many errors
1729 * :ghissue:`2645`: python3 is a pain (minor unicode bug)
1729 * :ghissue:`2645`: python3 is a pain (minor unicode bug)
1730 * :ghissue:`2637`: %paste in Python 3 on Mac doesn't work
1730 * :ghissue:`2637`: %paste in Python 3 on Mac doesn't work
1731 * :ghissue:`2624`: Error on launching IPython on Win 7 and Python 2.7.3
1731 * :ghissue:`2624`: Error on launching IPython on Win 7 and Python 2.7.3
1732 * :ghissue:`2608`: disk IO activity on cursor press
1732 * :ghissue:`2608`: disk IO activity on cursor press
1733 * :ghissue:`1275`: Markdown parses LaTeX math symbols as its formatting syntax in notebook
1733 * :ghissue:`1275`: Markdown parses LaTeX math symbols as its formatting syntax in notebook
1734 * :ghissue:`2613`: display(Math(...)) doesn't render \tau correctly
1734 * :ghissue:`2613`: display(Math(...)) doesn't render \tau correctly
1735 * :ghissue:`925`: Tab-completion in Qt console needn't use pager
1735 * :ghissue:`925`: Tab-completion in Qt console needn't use pager
1736 * :ghissue:`2607`: %load_ext sympy.interactive.ipythonprinting dammaging output
1736 * :ghissue:`2607`: %load_ext sympy.interactive.ipythonprinting dammaging output
1737 * :ghissue:`2593`: Toolbar button to open qtconsole from notebook
1737 * :ghissue:`2593`: Toolbar button to open qtconsole from notebook
1738 * :ghissue:`2602`: IPython html documentation for downloading
1738 * :ghissue:`2602`: IPython html documentation for downloading
1739 * :ghissue:`2598`: ipython notebook --pylab=inline replaces built-in any()
1739 * :ghissue:`2598`: ipython notebook --pylab=inline replaces built-in any()
1740 * :ghissue:`2244`: small issue: wrong printout
1740 * :ghissue:`2244`: small issue: wrong printout
1741 * :ghissue:`2590`: add easier way to execute scripts in the current directory
1741 * :ghissue:`2590`: add easier way to execute scripts in the current directory
1742 * :ghissue:`2581`: %hist does not work when InteractiveShell.cache_size = 0
1742 * :ghissue:`2581`: %hist does not work when InteractiveShell.cache_size = 0
1743 * :ghissue:`2584`: No file COPYING
1743 * :ghissue:`2584`: No file COPYING
1744 * :ghissue:`2578`: AttributeError: 'module' object has no attribute 'TestCase'
1744 * :ghissue:`2578`: AttributeError: 'module' object has no attribute 'TestCase'
1745 * :ghissue:`2576`: One of my notebooks won't load any more -- is there a maximum notebook size?
1745 * :ghissue:`2576`: One of my notebooks won't load any more -- is there a maximum notebook size?
1746 * :ghissue:`2560`: Notebook output is invisible when printing strings with \r\r\n line endings
1746 * :ghissue:`2560`: Notebook output is invisible when printing strings with \r\r\n line endings
1747 * :ghissue:`2566`: if pyside partially present ipython qtconsole fails to load even if pyqt4 present
1747 * :ghissue:`2566`: if pyside partially present ipython qtconsole fails to load even if pyqt4 present
1748 * :ghissue:`1308`: ipython qtconsole --ssh=server --existing ... hangs
1748 * :ghissue:`1308`: ipython qtconsole --ssh=server --existing ... hangs
1749 * :ghissue:`1679`: List command doesn't work in ipdb debugger the first time
1749 * :ghissue:`1679`: List command doesn't work in ipdb debugger the first time
1750 * :ghissue:`2545`: pypi win32 installer creates 64bit executibles
1750 * :ghissue:`2545`: pypi win32 installer creates 64bit executibles
1751 * :ghissue:`2080`: Event loop issues with IPython 0.12 and PyQt4 (``QDialog.exec_`` and more)
1751 * :ghissue:`2080`: Event loop issues with IPython 0.12 and PyQt4 (``QDialog.exec_`` and more)
1752 * :ghissue:`2541`: Allow `python -m IPython`
1752 * :ghissue:`2541`: Allow `python -m IPython`
1753 * :ghissue:`2508`: subplots_adjust() does not work correctly in ipython notebook
1753 * :ghissue:`2508`: subplots_adjust() does not work correctly in ipython notebook
1754 * :ghissue:`2289`: Incorrect mathjax rendering of certain arrays of equations
1754 * :ghissue:`2289`: Incorrect mathjax rendering of certain arrays of equations
1755 * :ghissue:`2487`: Selecting and indenting
1755 * :ghissue:`2487`: Selecting and indenting
1756 * :ghissue:`2521`: more fine-grained 'run' controls, such as 'run from here' and 'run until here'
1756 * :ghissue:`2521`: more fine-grained 'run' controls, such as 'run from here' and 'run until here'
1757 * :ghissue:`2535`: Funny bounding box when plot with text
1757 * :ghissue:`2535`: Funny bounding box when plot with text
1758 * :ghissue:`2523`: History not working
1758 * :ghissue:`2523`: History not working
1759 * :ghissue:`2514`: Issue with zooming in qtconsole
1759 * :ghissue:`2514`: Issue with zooming in qtconsole
1760 * :ghissue:`2220`: No sys.stdout.encoding in kernel based IPython
1760 * :ghissue:`2220`: No sys.stdout.encoding in kernel based IPython
1761 * :ghissue:`2512`: ERROR: Internal Python error in the inspect module.
1761 * :ghissue:`2512`: ERROR: Internal Python error in the inspect module.
1762 * :ghissue:`2496`: Function passwd does not work in QtConsole
1762 * :ghissue:`2496`: Function passwd does not work in QtConsole
1763 * :ghissue:`1453`: make engines reconnect/die when controller was restarted
1763 * :ghissue:`1453`: make engines reconnect/die when controller was restarted
1764 * :ghissue:`2481`: ipython notebook -- clicking in a code cell's output moves the screen to the top of the code cell
1764 * :ghissue:`2481`: ipython notebook -- clicking in a code cell's output moves the screen to the top of the code cell
1765 * :ghissue:`2488`: Undesired plot outputs in Notebook inline mode
1765 * :ghissue:`2488`: Undesired plot outputs in Notebook inline mode
1766 * :ghissue:`2482`: ipython notebook -- download may not get the latest notebook
1766 * :ghissue:`2482`: ipython notebook -- download may not get the latest notebook
1767 * :ghissue:`2471`: _subprocess module removed in Python 3.3
1767 * :ghissue:`2471`: _subprocess module removed in Python 3.3
1768 * :ghissue:`2374`: Issues with man pages
1768 * :ghissue:`2374`: Issues with man pages
1769 * :ghissue:`2316`: parallel.Client.__init__ should take cluster_id kwarg
1769 * :ghissue:`2316`: parallel.Client.__init__ should take cluster_id kwarg
1770 * :ghissue:`2457`: Can a R library wrapper be created with Rmagic?
1770 * :ghissue:`2457`: Can a R library wrapper be created with Rmagic?
1771 * :ghissue:`1575`: Fallback frontend for console when connecting pylab=inlnie -enabled kernel?
1771 * :ghissue:`1575`: Fallback frontend for console when connecting pylab=inlnie -enabled kernel?
1772 * :ghissue:`2097`: Do not crash if history db is corrupted
1772 * :ghissue:`2097`: Do not crash if history db is corrupted
1773 * :ghissue:`2435`: ipengines fail if clean_logs enabled
1773 * :ghissue:`2435`: ipengines fail if clean_logs enabled
1774 * :ghissue:`2429`: Using warnings.warn() results in TypeError
1774 * :ghissue:`2429`: Using warnings.warn() results in TypeError
1775 * :ghissue:`2422`: Multiprocessing in ipython notebook kernel crash
1775 * :ghissue:`2422`: Multiprocessing in ipython notebook kernel crash
1776 * :ghissue:`2426`: ipython crashes with the following message. I do not what went wrong. Can you help me identify the problem?
1776 * :ghissue:`2426`: ipython crashes with the following message. I do not what went wrong. Can you help me identify the problem?
1777 * :ghissue:`2423`: Docs typo?
1777 * :ghissue:`2423`: Docs typo?
1778 * :ghissue:`2257`: pip install -e fails
1778 * :ghissue:`2257`: pip install -e fails
1779 * :ghissue:`2418`: rmagic can't run R's read.csv on data files with NA data
1779 * :ghissue:`2418`: rmagic can't run R's read.csv on data files with NA data
1780 * :ghissue:`2417`: HTML notebook: Backspace sometimes deletes multiple characters
1780 * :ghissue:`2417`: HTML notebook: Backspace sometimes deletes multiple characters
1781 * :ghissue:`2275`: notebook: "Down_Arrow" on last line of cell should move to end of line
1781 * :ghissue:`2275`: notebook: "Down_Arrow" on last line of cell should move to end of line
1782 * :ghissue:`2414`: 0.13.1 does not work with current EPD 7.3-2
1782 * :ghissue:`2414`: 0.13.1 does not work with current EPD 7.3-2
1783 * :ghissue:`2409`: there is a redundant None
1783 * :ghissue:`2409`: there is a redundant None
1784 * :ghissue:`2410`: Use /usr/bin/python3 instead of /usr/bin/python
1784 * :ghissue:`2410`: Use /usr/bin/python3 instead of /usr/bin/python
1785 * :ghissue:`2366`: Notebook Dashboard --notebook-dir and fullpath
1785 * :ghissue:`2366`: Notebook Dashboard --notebook-dir and fullpath
1786 * :ghissue:`2406`: Inability to get docstring in debugger
1786 * :ghissue:`2406`: Inability to get docstring in debugger
1787 * :ghissue:`2398`: Show line number for IndentationErrors
1787 * :ghissue:`2398`: Show line number for IndentationErrors
1788 * :ghissue:`2314`: HTML lists seem to interfere with the QtConsole display
1788 * :ghissue:`2314`: HTML lists seem to interfere with the QtConsole display
1789 * :ghissue:`1688`: unicode exception when using %run with failing script
1789 * :ghissue:`1688`: unicode exception when using %run with failing script
1790 * :ghissue:`1884`: IPython.embed changes color on error
1790 * :ghissue:`1884`: IPython.embed changes color on error
1791 * :ghissue:`2381`: %time doesn't work for multiline statements
1791 * :ghissue:`2381`: %time doesn't work for multiline statements
1792 * :ghissue:`1435`: Add size keywords in Image class
1792 * :ghissue:`1435`: Add size keywords in Image class
1793 * :ghissue:`2372`: interactiveshell.py misses urllib and io_open imports
1793 * :ghissue:`2372`: interactiveshell.py misses urllib and io_open imports
1794 * :ghissue:`2371`: iPython not working
1794 * :ghissue:`2371`: iPython not working
1795 * :ghissue:`2367`: Tab expansion moves to next cell in notebook
1795 * :ghissue:`2367`: Tab expansion moves to next cell in notebook
1796 * :ghissue:`2359`: nbviever alters the order of print and display() output
1796 * :ghissue:`2359`: nbviever alters the order of print and display() output
1797 * :ghissue:`2227`: print name for IPython Notebooks has become uninformative
1797 * :ghissue:`2227`: print name for IPython Notebooks has become uninformative
1798 * :ghissue:`2361`: client doesn't use connection file's 'location' in disambiguating 'interface'
1798 * :ghissue:`2361`: client doesn't use connection file's 'location' in disambiguating 'interface'
1799 * :ghissue:`2357`: failing traceback in terminal ipython for first exception
1799 * :ghissue:`2357`: failing traceback in terminal ipython for first exception
1800 * :ghissue:`2343`: Installing in a python 3.3b2 or python 3.3rc1 virtual environment.
1800 * :ghissue:`2343`: Installing in a python 3.3b2 or python 3.3rc1 virtual environment.
1801 * :ghissue:`2315`: Failure in test: "Test we're not loading modules on startup that we shouldn't."
1801 * :ghissue:`2315`: Failure in test: "Test we're not loading modules on startup that we shouldn't."
1802 * :ghissue:`2351`: Multiple Notebook Apps: cookies not port specific, clash with each other
1802 * :ghissue:`2351`: Multiple Notebook Apps: cookies not port specific, clash with each other
1803 * :ghissue:`2350`: running unittest from qtconsole prints output to terminal
1803 * :ghissue:`2350`: running unittest from qtconsole prints output to terminal
1804 * :ghissue:`2303`: remote tracebacks broken since 952d0d6 (PR #2223)
1804 * :ghissue:`2303`: remote tracebacks broken since 952d0d6 (PR #2223)
1805 * :ghissue:`2330`: qtconsole does not highlight tab-completion suggestion with custom stylesheet
1805 * :ghissue:`2330`: qtconsole does not highlight tab-completion suggestion with custom stylesheet
1806 * :ghissue:`2325`: Parsing Tex formula fails in Notebook
1806 * :ghissue:`2325`: Parsing Tex formula fails in Notebook
1807 * :ghissue:`2324`: Parsing Tex formula fails
1807 * :ghissue:`2324`: Parsing Tex formula fails
1808 * :ghissue:`1474`: Add argument to `run -n` for custom namespace
1808 * :ghissue:`1474`: Add argument to `run -n` for custom namespace
1809 * :ghissue:`2318`: C-m n/p don't work in Markdown cells in the notebook
1809 * :ghissue:`2318`: C-m n/p don't work in Markdown cells in the notebook
1810 * :ghissue:`2309`: time.time() in ipython notebook producing impossible results
1810 * :ghissue:`2309`: time.time() in ipython notebook producing impossible results
1811 * :ghissue:`2307`: schedule tasks on newly arrived engines
1811 * :ghissue:`2307`: schedule tasks on newly arrived engines
1812 * :ghissue:`2313`: Allow Notebook HTML/JS to send messages to Python code
1812 * :ghissue:`2313`: Allow Notebook HTML/JS to send messages to Python code
1813 * :ghissue:`2304`: ipengine throws KeyError: url
1813 * :ghissue:`2304`: ipengine throws KeyError: url
1814 * :ghissue:`1878`: shell access using ! will not fill class or function scope vars
1814 * :ghissue:`1878`: shell access using ! will not fill class or function scope vars
1815 * :ghissue:`2253`: %paste does not retrieve clipboard contents under screen/tmux on OS X
1815 * :ghissue:`2253`: %paste does not retrieve clipboard contents under screen/tmux on OS X
1816 * :ghissue:`1510`: Add-on (or Monkey-patch) infrastructure for HTML notebook
1816 * :ghissue:`1510`: Add-on (or Monkey-patch) infrastructure for HTML notebook
1817 * :ghissue:`2273`: triple quote and %s at beginning of line with %paste
1817 * :ghissue:`2273`: triple quote and %s at beginning of line with %paste
1818 * :ghissue:`2243`: Regression in .embed()
1818 * :ghissue:`2243`: Regression in .embed()
1819 * :ghissue:`2266`: SSH passwordless check with OpenSSH checks for the wrong thing
1819 * :ghissue:`2266`: SSH passwordless check with OpenSSH checks for the wrong thing
1820 * :ghissue:`2217`: Change NewNotebook handler to use 30x redirect
1820 * :ghissue:`2217`: Change NewNotebook handler to use 30x redirect
1821 * :ghissue:`2276`: config option for disabling history store
1821 * :ghissue:`2276`: config option for disabling history store
1822 * :ghissue:`2239`: can't use parallel.Reference in view.map
1822 * :ghissue:`2239`: can't use parallel.Reference in view.map
1823 * :ghissue:`2272`: Sympy piecewise messed up rendering
1823 * :ghissue:`2272`: Sympy piecewise messed up rendering
1824 * :ghissue:`2252`: %paste throws an exception with empty clipboard
1824 * :ghissue:`2252`: %paste throws an exception with empty clipboard
1825 * :ghissue:`2259`: git-mpr is currently broken
1825 * :ghissue:`2259`: git-mpr is currently broken
1826 * :ghissue:`2247`: Variable expansion in shell commands should work in substrings
1826 * :ghissue:`2247`: Variable expansion in shell commands should work in substrings
1827 * :ghissue:`2026`: Run 'fast' tests only
1827 * :ghissue:`2026`: Run 'fast' tests only
1828 * :ghissue:`2241`: read a list of notebooks on server and bring into browser only notebook
1828 * :ghissue:`2241`: read a list of notebooks on server and bring into browser only notebook
1829 * :ghissue:`2237`: please put python and text editor in the web only ipython
1829 * :ghissue:`2237`: please put python and text editor in the web only ipython
1830 * :ghissue:`2053`: Improvements to the IPython.display.Image object
1830 * :ghissue:`2053`: Improvements to the IPython.display.Image object
1831 * :ghissue:`1456`: ERROR: Internal Python error in the inspect module.
1831 * :ghissue:`1456`: ERROR: Internal Python error in the inspect module.
1832 * :ghissue:`2221`: Avoid importing from IPython.parallel in core
1832 * :ghissue:`2221`: Avoid importing from IPython.parallel in core
1833 * :ghissue:`2213`: Can't trigger startup code in Engines
1833 * :ghissue:`2213`: Can't trigger startup code in Engines
1834 * :ghissue:`1464`: Strange behavior for backspace with lines ending with more than 4 spaces in notebook
1834 * :ghissue:`1464`: Strange behavior for backspace with lines ending with more than 4 spaces in notebook
1835 * :ghissue:`2187`: NaN in object_info_reply JSON causes parse error
1835 * :ghissue:`2187`: NaN in object_info_reply JSON causes parse error
1836 * :ghissue:`214`: system command requiring administrative privileges
1836 * :ghissue:`214`: system command requiring administrative privileges
1837 * :ghissue:`2195`: Unknown option `no-edit` in git-mpr
1837 * :ghissue:`2195`: Unknown option `no-edit` in git-mpr
1838 * :ghissue:`2201`: Add documentation build to tools/test_pr.py
1838 * :ghissue:`2201`: Add documentation build to tools/test_pr.py
1839 * :ghissue:`2205`: Command-line option for default Notebook output collapsing behavior
1839 * :ghissue:`2205`: Command-line option for default Notebook output collapsing behavior
1840 * :ghissue:`1927`: toggle between inline and floating figures
1840 * :ghissue:`1927`: toggle between inline and floating figures
1841 * :ghissue:`2171`: Can't start StarCluster after upgrading to IPython 0.13
1841 * :ghissue:`2171`: Can't start StarCluster after upgrading to IPython 0.13
1842 * :ghissue:`2173`: oct2py v >= 0.3.1 doesn't need h5py anymore
1842 * :ghissue:`2173`: oct2py v >= 0.3.1 doesn't need h5py anymore
1843 * :ghissue:`2099`: storemagic needs to use self.shell
1843 * :ghissue:`2099`: storemagic needs to use self.shell
1844 * :ghissue:`2166`: DirectView map_sync() with Lambdas Using Generators
1844 * :ghissue:`2166`: DirectView map_sync() with Lambdas Using Generators
1845 * :ghissue:`2091`: Unable to use print_stats after %prun -r in notebook
1845 * :ghissue:`2091`: Unable to use print_stats after %prun -r in notebook
1846 * :ghissue:`2132`: Add fail-over for pastebin
1846 * :ghissue:`2132`: Add fail-over for pastebin
1847 * :ghissue:`2156`: Make it possible to install ipython without nasty gui dependencies
1847 * :ghissue:`2156`: Make it possible to install ipython without nasty gui dependencies
1848 * :ghissue:`2154`: Scrolled long output should be off in print view by default
1848 * :ghissue:`2154`: Scrolled long output should be off in print view by default
1849 * :ghissue:`2162`: Tab completion does not work with IPython.embed_kernel()
1849 * :ghissue:`2162`: Tab completion does not work with IPython.embed_kernel()
1850 * :ghissue:`2157`: iPython 0.13 / github-master cannot create logfile from scratch
1850 * :ghissue:`2157`: iPython 0.13 / github-master cannot create logfile from scratch
1851 * :ghissue:`2151`: missing newline when a magic is called from the qtconsole menu
1851 * :ghissue:`2151`: missing newline when a magic is called from the qtconsole menu
1852 * :ghissue:`2139`: 00_notebook_tour Image example broken on master
1852 * :ghissue:`2139`: 00_notebook_tour Image example broken on master
1853 * :ghissue:`2143`: Add a %%cython_annotate magic
1853 * :ghissue:`2143`: Add a %%cython_annotate magic
1854 * :ghissue:`2135`: Running IPython from terminal
1854 * :ghissue:`2135`: Running IPython from terminal
1855 * :ghissue:`2093`: Makefile for building Sphinx documentation on Windows
1855 * :ghissue:`2093`: Makefile for building Sphinx documentation on Windows
1856 * :ghissue:`2122`: Bug in pretty printing
1856 * :ghissue:`2122`: Bug in pretty printing
1857 * :ghissue:`2120`: Notebook "Make a Copy..." keeps opening duplicates in the same tab
1857 * :ghissue:`2120`: Notebook "Make a Copy..." keeps opening duplicates in the same tab
1858 * :ghissue:`1997`: password cannot be used with url prefix
1858 * :ghissue:`1997`: password cannot be used with url prefix
1859 * :ghissue:`2129`: help/doc displayed multiple times if requested in loop
1859 * :ghissue:`2129`: help/doc displayed multiple times if requested in loop
1860 * :ghissue:`2121`: ipdb does not support input history in qtconsole
1860 * :ghissue:`2121`: ipdb does not support input history in qtconsole
1861 * :ghissue:`2114`: %logstart doesn't log
1861 * :ghissue:`2114`: %logstart doesn't log
1862 * :ghissue:`2085`: %ed magic fails in qtconsole
1862 * :ghissue:`2085`: %ed magic fails in qtconsole
1863 * :ghissue:`2119`: iPython fails to run on MacOS Lion
1863 * :ghissue:`2119`: iPython fails to run on MacOS Lion
1864 * :ghissue:`2052`: %pylab inline magic does not work on windows
1864 * :ghissue:`2052`: %pylab inline magic does not work on windows
1865 * :ghissue:`2111`: Ipython won't start on W7
1865 * :ghissue:`2111`: Ipython won't start on W7
1866 * :ghissue:`2112`: Strange internal traceback
1866 * :ghissue:`2112`: Strange internal traceback
1867 * :ghissue:`2108`: Backslash (\) at the end of the line behavior different from default Python
1867 * :ghissue:`2108`: Backslash (\) at the end of the line behavior different from default Python
1868 * :ghissue:`1425`: Ampersands can't be typed sometimes in notebook cells
1868 * :ghissue:`1425`: Ampersands can't be typed sometimes in notebook cells
1869 * :ghissue:`1513`: Add expand/collapse support for long output elements like stdout and tracebacks
1869 * :ghissue:`1513`: Add expand/collapse support for long output elements like stdout and tracebacks
1870 * :ghissue:`2087`: error when starting ipython
1870 * :ghissue:`2087`: error when starting ipython
1871 * :ghissue:`2103`: Ability to run notebook file from commandline
1871 * :ghissue:`2103`: Ability to run notebook file from commandline
1872 * :ghissue:`2082`: Qt Console output spacing
1872 * :ghissue:`2082`: Qt Console output spacing
1873 * :ghissue:`2083`: Test failures with Python 3.2 and PYTHONWARNINGS="d"
1873 * :ghissue:`2083`: Test failures with Python 3.2 and PYTHONWARNINGS="d"
1874 * :ghissue:`2094`: about inline
1874 * :ghissue:`2094`: about inline
1875 * :ghissue:`2077`: Starting IPython3 on the terminal
1875 * :ghissue:`2077`: Starting IPython3 on the terminal
1876 * :ghissue:`1760`: easy_install ipython fails on py3.2-win32
1876 * :ghissue:`1760`: easy_install ipython fails on py3.2-win32
1877 * :ghissue:`2075`: Local Mathjax install causes iptest3 error under python3
1877 * :ghissue:`2075`: Local Mathjax install causes iptest3 error under python3
1878 * :ghissue:`2057`: setup fails for python3 with LANG=C
1878 * :ghissue:`2057`: setup fails for python3 with LANG=C
1879 * :ghissue:`2070`: shebang on Windows
1879 * :ghissue:`2070`: shebang on Windows
1880 * :ghissue:`2054`: sys_info missing git hash in sdists
1880 * :ghissue:`2054`: sys_info missing git hash in sdists
1881 * :ghissue:`2059`: duplicate and modified files in documentation
1881 * :ghissue:`2059`: duplicate and modified files in documentation
1882 * :ghissue:`2056`: except-shadows-builtin osm.py:687
1882 * :ghissue:`2056`: except-shadows-builtin osm.py:687
1883 * :ghissue:`2058`: hyphen-used-as-minus-sign in manpages
1883 * :ghissue:`2058`: hyphen-used-as-minus-sign in manpages
@@ -1,976 +1,976 b''
1 {
1 {
2 "cells": [
2 "cells": [
3 {
3 {
4 "cell_type": "markdown",
4 "cell_type": "markdown",
5 "metadata": {},
5 "metadata": {},
6 "source": [
6 "source": [
7 "# Custom Display Logic"
7 "# Custom Display Logic"
8 ]
8 ]
9 },
9 },
10 {
10 {
11 "cell_type": "markdown",
11 "cell_type": "markdown",
12 "metadata": {},
12 "metadata": {},
13 "source": [
13 "source": [
14 "## Overview"
14 "## Overview"
15 ]
15 ]
16 },
16 },
17 {
17 {
18 "cell_type": "markdown",
18 "cell_type": "markdown",
19 "metadata": {},
19 "metadata": {},
20 "source": [
20 "source": [
21 "As described in the [Rich Output](Rich Output.ipynb) tutorial, the IPython display system can display rich representations of objects in the following formats:\n",
21 "As described in the [Rich Output](Rich Output.ipynb) tutorial, the IPython display system can display rich representations of objects in the following formats:\n",
22 "\n",
22 "\n",
23 "* JavaScript\n",
23 "* JavaScript\n",
24 "* HTML\n",
24 "* HTML\n",
25 "* PNG\n",
25 "* PNG\n",
26 "* JPEG\n",
26 "* JPEG\n",
27 "* SVG\n",
27 "* SVG\n",
28 "* LaTeX\n",
28 "* LaTeX\n",
29 "* PDF\n",
29 "* PDF\n",
30 "\n",
30 "\n",
31 "This Notebook shows how you can add custom display logic to your own classes, so that they can be displayed using these rich representations. There are two ways of accomplishing this:\n",
31 "This Notebook shows how you can add custom display logic to your own classes, so that they can be displayed using these rich representations. There are two ways of accomplishing this:\n",
32 "\n",
32 "\n",
33 "1. Implementing special display methods such as `_repr_html_` when you define your class.\n",
33 "1. Implementing special display methods such as `_repr_html_` when you define your class.\n",
34 "2. Registering a display function for a particular existing class.\n",
34 "2. Registering a display function for a particular existing class.\n",
35 "\n",
35 "\n",
36 "This Notebook describes and illustrates both approaches."
36 "This Notebook describes and illustrates both approaches."
37 ]
37 ]
38 },
38 },
39 {
39 {
40 "cell_type": "markdown",
40 "cell_type": "markdown",
41 "metadata": {},
41 "metadata": {},
42 "source": [
42 "source": [
43 "Import the IPython display functions."
43 "Import the IPython display functions."
44 ]
44 ]
45 },
45 },
46 {
46 {
47 "cell_type": "code",
47 "cell_type": "code",
48 "execution_count": 1,
48 "execution_count": 1,
49 "metadata": {
49 "metadata": {
50 "collapsed": true
50 "collapsed": true
51 },
51 },
52 "outputs": [],
52 "outputs": [],
53 "source": [
53 "source": [
54 "from IPython.display import (\n",
54 "from IPython.display import (\n",
55 " display, display_html, display_png, display_svg\n",
55 " display, display_html, display_png, display_svg\n",
56 ")"
56 ")"
57 ]
57 ]
58 },
58 },
59 {
59 {
60 "cell_type": "markdown",
60 "cell_type": "markdown",
61 "metadata": {},
61 "metadata": {},
62 "source": [
62 "source": [
63 "Parts of this notebook need the matplotlib inline backend:"
63 "Parts of this notebook need the matplotlib inline backend:"
64 ]
64 ]
65 },
65 },
66 {
66 {
67 "cell_type": "code",
67 "cell_type": "code",
68 "execution_count": 2,
68 "execution_count": 2,
69 "metadata": {
69 "metadata": {
70 "collapsed": true
70 "collapsed": true
71 },
71 },
72 "outputs": [],
72 "outputs": [],
73 "source": [
73 "source": [
74 "import numpy as np\n",
74 "import numpy as np\n",
75 "import matplotlib.pyplot as plt\n",
75 "import matplotlib.pyplot as plt\n",
76 "plt.ion()"
76 "plt.ion()"
77 ]
77 ]
78 },
78 },
79 {
79 {
80 "cell_type": "markdown",
80 "cell_type": "markdown",
81 "metadata": {},
81 "metadata": {},
82 "source": [
82 "source": [
83 "## Special display methods"
83 "## Special display methods"
84 ]
84 ]
85 },
85 },
86 {
86 {
87 "cell_type": "markdown",
87 "cell_type": "markdown",
88 "metadata": {},
88 "metadata": {},
89 "source": [
89 "source": [
90 "The main idea of the first approach is that you have to implement special display methods when you define your class, one for each representation you want to use. Here is a list of the names of the special methods and the values they must return:\n",
90 "The main idea of the first approach is that you have to implement special display methods when you define your class, one for each representation you want to use. Here is a list of the names of the special methods and the values they must return:\n",
91 "\n",
91 "\n",
92 "* `_repr_html_`: return raw HTML as a string\n",
92 "* `_repr_html_`: return raw HTML as a string\n",
93 "* `_repr_json_`: return a JSONable dict\n",
93 "* `_repr_json_`: return a JSONable dict\n",
94 "* `_repr_jpeg_`: return raw JPEG data\n",
94 "* `_repr_jpeg_`: return raw JPEG data\n",
95 "* `_repr_png_`: return raw PNG data\n",
95 "* `_repr_png_`: return raw PNG data\n",
96 "* `_repr_svg_`: return raw SVG data as a string\n",
96 "* `_repr_svg_`: return raw SVG data as a string\n",
97 "* `_repr_latex_`: return LaTeX commands in a string surrounded by \"$\".\n",
97 "* `_repr_latex_`: return LaTeX commands in a string surrounded by \"$\".\n",
98 "* `_repr_mimebundle_`: return a full mimebundle containing the mapping from all mimetypes to data "
98 "* `_repr_mimebundle_`: return a full mimebundle containing the mapping from all mimetypes to data "
99 ]
99 ]
100 },
100 },
101 {
101 {
102 "cell_type": "markdown",
102 "cell_type": "markdown",
103 "metadata": {},
103 "metadata": {},
104 "source": [
104 "source": [
105 "As an illustration, we build a class that holds data generated by sampling a Gaussian distribution with given mean and standard deviation. Here is the definition of the `Gaussian` class, which has a custom PNG and LaTeX representation."
105 "As an illustration, we build a class that holds data generated by sampling a Gaussian distribution with given mean and standard deviation. Here is the definition of the `Gaussian` class, which has a custom PNG and LaTeX representation."
106 ]
106 ]
107 },
107 },
108 {
108 {
109 "cell_type": "code",
109 "cell_type": "code",
110 "execution_count": 3,
110 "execution_count": 3,
111 "metadata": {
111 "metadata": {
112 "collapsed": true
112 "collapsed": true
113 },
113 },
114 "outputs": [],
114 "outputs": [],
115 "source": [
115 "source": [
116 "from IPython.core.pylabtools import print_figure\n",
116 "from IPython.core.pylabtools import print_figure\n",
117 "from IPython.display import Image, SVG, Math\n",
117 "from IPython.display import Image, SVG, Math\n",
118 "\n",
118 "\n",
119 "class Gaussian(object):\n",
119 "class Gaussian(object):\n",
120 " \"\"\"A simple object holding data sampled from a Gaussian distribution.\n",
120 " \"\"\"A simple object holding data sampled from a Gaussian distribution.\n",
121 " \"\"\"\n",
121 " \"\"\"\n",
122 " def __init__(self, mean=0.0, std=1, size=1000):\n",
122 " def __init__(self, mean=0.0, std=1, size=1000):\n",
123 " self.data = np.random.normal(mean, std, size)\n",
123 " self.data = np.random.normal(mean, std, size)\n",
124 " self.mean = mean\n",
124 " self.mean = mean\n",
125 " self.std = std\n",
125 " self.std = std\n",
126 " self.size = size\n",
126 " self.size = size\n",
127 " # For caching plots that may be expensive to compute\n",
127 " # For caching plots that may be expensive to compute\n",
128 " self._png_data = None\n",
128 " self._png_data = None\n",
129 " \n",
129 " \n",
130 " def _figure_data(self, format):\n",
130 " def _figure_data(self, format):\n",
131 " fig, ax = plt.subplots()\n",
131 " fig, ax = plt.subplots()\n",
132 " ax.hist(self.data, bins=50)\n",
132 " ax.hist(self.data, bins=50)\n",
133 " ax.set_title(self._repr_latex_())\n",
133 " ax.set_title(self._repr_latex_())\n",
134 " ax.set_xlim(-10.0,10.0)\n",
134 " ax.set_xlim(-10.0,10.0)\n",
135 " data = print_figure(fig, format)\n",
135 " data = print_figure(fig, format)\n",
136 " # We MUST close the figure, otherwise IPython's display machinery\n",
136 " # We MUST close the figure, otherwise IPython's display machinery\n",
137 " # will pick it up and send it as output, resulting in a double display\n",
137 " # will pick it up and send it as output, resulting in a double display\n",
138 " plt.close(fig)\n",
138 " plt.close(fig)\n",
139 " return data\n",
139 " return data\n",
140 " \n",
140 " \n",
141 " def _repr_png_(self):\n",
141 " def _repr_png_(self):\n",
142 " if self._png_data is None:\n",
142 " if self._png_data is None:\n",
143 " self._png_data = self._figure_data('png')\n",
143 " self._png_data = self._figure_data('png')\n",
144 " return self._png_data\n",
144 " return self._png_data\n",
145 " \n",
145 " \n",
146 " def _repr_latex_(self):\n",
146 " def _repr_latex_(self):\n",
147 " return r'$\\mathcal{N}(\\mu=%.2g, \\sigma=%.2g),\\ N=%d$' % (self.mean,\n",
147 " return r'$\\mathcal{N}(\\mu=%.2g, \\sigma=%.2g),\\ N=%d$' % (self.mean,\n",
148 " self.std, self.size)"
148 " self.std, self.size)"
149 ]
149 ]
150 },
150 },
151 {
151 {
152 "cell_type": "markdown",
152 "cell_type": "markdown",
153 "metadata": {},
153 "metadata": {},
154 "source": [
154 "source": [
155 "Create an instance of the Gaussian distribution and return it to display the default representation:"
155 "Create an instance of the Gaussian distribution and return it to display the default representation:"
156 ]
156 ]
157 },
157 },
158 {
158 {
159 "cell_type": "code",
159 "cell_type": "code",
160 "execution_count": 4,
160 "execution_count": 4,
161 "metadata": {},
161 "metadata": {},
162 "outputs": [
162 "outputs": [
163 {
163 {
164 "data": {
164 "data": {
165 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n",
165 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n",
166 "text/latex": [
166 "text/latex": [
167 "$\\mathcal{N}(\\mu=2, \\sigma=1),\\ N=1000$"
167 "$\\mathcal{N}(\\mu=2, \\sigma=1),\\ N=1000$"
168 ],
168 ],
169 "text/plain": [
169 "text/plain": [
170 "<__main__.Gaussian at 0x116fe76d8>"
170 "<__main__.Gaussian at 0x116fe76d8>"
171 ]
171 ]
172 },
172 },
173 "execution_count": 4,
173 "execution_count": 4,
174 "metadata": {},
174 "metadata": {},
175 "output_type": "execute_result"
175 "output_type": "execute_result"
176 }
176 }
177 ],
177 ],
178 "source": [
178 "source": [
179 "x = Gaussian(2.0, 1.0)\n",
179 "x = Gaussian(2.0, 1.0)\n",
180 "x"
180 "x"
181 ]
181 ]
182 },
182 },
183 {
183 {
184 "cell_type": "markdown",
184 "cell_type": "markdown",
185 "metadata": {},
185 "metadata": {},
186 "source": [
186 "source": [
187 "You can also pass the object to the `display` function to display the default representation:"
187 "You can also pass the object to the `display` function to display the default representation:"
188 ]
188 ]
189 },
189 },
190 {
190 {
191 "cell_type": "code",
191 "cell_type": "code",
192 "execution_count": 5,
192 "execution_count": 5,
193 "metadata": {},
193 "metadata": {},
194 "outputs": [
194 "outputs": [
195 {
195 {
196 "data": {
196 "data": {
197 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n",
197 "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEKCAYAAADzQPVvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFOZJREFUeJzt3X+0ZWV93/H3xxnAVIlAGJCIOpiFFgxhMLMIDUlKxBB+\nuAQbtRiXmRaSadrQ6lrtSsayklJjW0ybaNommolQJ1k0QBWEBRidotaVtRLMID+EAPIjoyKEGRUQ\niDEi3/6x99Xj5dx7z73nnPtjnvdrrbPu2fvZe5/vPGfP5+zz7H33TVUhSdq3PWelC5AkTZ9hL0kN\nMOwlqQGGvSQ1wLCXpAYY9pLUAMNekhpg2EtSAwx7keTMJI8kuTjJf0ny9pWuabVJ8pkkr1zpOqSl\nMuwbkuTHkuw3a95zgFOAXwK+CvwC8AdTruOAJJck+UKSJ5LckuSMab7mCDVdkGRXkm8m+eCQRf4b\n8M4lbvvgJJXkz2fN/4Mk71nKNge2MW/dSQ5JcnWSp/r+/vlR2kZp19pi2LflPODsWfNOBq6qqmv7\n6Ruq6htTrmM98CXgHwMvAH4duDLJxim/7nweAt4FXDpH+7XATyc5Ygnb3gT8DXDsrPU3AbcuYXuD\nFqr794C/Bw4H3gK8b+Abynxto7RrDTHs23ICsHXWvJOAm/rnZwD/b7AxyYVJ3jcwfXCSbyV57lKL\nqKqnquqiqtpdVc9U1XXAXwM/utC6SfZL8p+S7O7rqP5x21Lr6Wu6qqo+QvftZlj73wE3A6ctYfOb\ngF3ATuB1AEnWAccBtyyp4O/WNWfdSZ4H/Bzw61X1ZFX9Gd2H1lvna1to3XHq1cox7BuRZD2wFzg1\nycsHmtbXd++Gdxxwz6xVj+N7jz43Aff04Te4/euSPDbH47oFajsceDlw5wj/lHcBpwI/CRwE3Ahc\nDbx+UvXM4y7g+CWsdwJdH34EOKef9w+Bdf02p1X3y4FvV9XnB+bdBrxygbaF1tUatH6lC9Cy2QT8\nL2B/4G3AryQ5lu8Nm4OAJ2atdxwwOK68ie4//feoqtcupaj+HMJlwI6qunuBZQ8E/g3wI1X1pX7e\nh4F/WlUPTKKeBTwBLHUY5xrgE8D7+3/HJuCOqvrW4IITrvv5wOOz5j0OHLhA20Lrag3yyL4dp9Ad\nBf82cF6Sl9ANSewcWOZRBv4zJ9kf+CHgcwPLHM/448wz238O8Md048IXjLDKTwEPVNW9A/MOphsP\nXw4HAo8tZoUkBwDHALdW1aPAZ+iGy2aO9qfpSeD7Z837froPrfnaFlpXa5Bh347DqurRqvpTujH6\n3wWeX1VPDSxzO93X9xnHAl+uqr8FSBK6D41nHdkn+WiSJ+d4fHTI8gEuoTv593Ozj3DnsIHuA2lw\nG68HnjW8sdh6RnQMQ/7tC/hh4BvAzDePmaGcExgyXj/huj8PrE9y9MC84+mGy+ZrW2hdrUEO4+zD\nkvwE3TDM14FPDzT9C7rQ+visVW6gu0Lmsn76OOCwJD9Ed9XHhcBLgd2zX6uqFnvp5PvowvM1w67+\nmbmMsKr+2cDsO4BXJdlEd27hPwAFXDFuPf05jfV04+jr+hPQT1fV0337AXQnkLfMU98wJwC3DZwX\nuYbuEs5n+vqnVndVPZXkKuCdSX6RbujobODH52vr65i3XWtQVfnYRx90V1N8A3jvkLZfBV48a96h\nwIPA9/XTvwV8iO4o78vAvwbupxtfH6eul9KF9N/RDRfMPN4ysMyNwC8NWfdCug+eh4EPAodOqK8u\n6msafFw00P5GuktU561vyHb/J/A/Zs27lS7sD1yGug+h+zbxFPBF4OdHaRul3cfaeqR/U7WPSpJa\nxJuc5D8De6rqvf2wwQeq6sPTq3BoDfvTffP4kRpteGfqktwEnF9Vd6zG+qSFGPaaU5IHgdOq6q9W\nuhZJ4zHsNVSSg4FHgOd59CqtfYa9JDXASy8lqQHLeunloYceWhs3blzOl5SkNe/mm2/+SlVtGGcb\nyxr2GzduZNeuXcv5kpK05iX5wrjbcBhHkhpg2EtSAwx7SWqAYS9JDTDsJakBhr0kNcCwl6QGGPaS\n1ADDXpIaYNhLy2TjtuvZuO36sZeRlsKwl6QGGPaS1ADDXpIaYNhLUgMMe0lqgGEvSQ0w7CWpASP9\npaoku4EngG8DT1fV5iSHAFcAG4HdwJuq6tHplClJGsdijux/uqo2VdXmfnobcGNVHQ3c2E9Lklah\ncYZxzgZ29M93AOeMX44kaRpGDfsCPp7k5iRb+3mHV9XDAP3Pw4atmGRrkl1Jdu3du3f8iiVJizbS\nmD1wclU9lOQwYGeSu0d9garaDmwH2Lx5cy2hRknSmEY6sq+qh/qfe4CrgROBR5IcAdD/3DOtIiVJ\n41kw7JM8L8mBM8+B04A7gGuBLf1iW4BrplWkJGk8owzjHA5cnWRm+f9dVX+a5C+BK5OcD3wReOP0\nypT2HYO3MN598VkrWIlasmDYV9UDwPFD5n8VOHUaRUmSJsvfoJWkBhj2ktQAw15aQZP4M4T+KUON\nwrCXpAYY9pLUAMNekhpg2EtSAwx7SWqAYS9JDTDsJakBo97iWNISeQ28VgOP7CWpAYa9JDXAsJek\nBhj2ktQAw16SGmDYS1IDDHtJaoBhL0kNMOwlqQGGvSQ1wLCXpAYY9pLUAMNekhpg2EtSAwx7SWqA\n97OXVqGZe+Dvvvis75kenCcthkf2ktQAw16SGmDYS1IDRg77JOuS3JLkun76qCQ3Jbk3yRVJ9p9e\nmZKkcSzmyP5twF0D0+8G3lNVRwOPAudPsjBJ0uSMFPZJjgTOAj7QTwd4NfChfpEdwDnTKFCSNL5R\nj+zfC/wq8Ew//QPAY1X1dD/9IPCiCdcmSZqQBa+zT/JaYE9V3ZzklJnZQxatOdbfCmwFeMlLXrLE\nMqW1Y/Y18otZZ1rbl0Y5sj8ZeF2S3cDldMM37wUOSjLzYXEk8NCwlatqe1VtrqrNGzZsmEDJkqTF\nWjDsq+odVXVkVW0EzgU+UVVvAT4JvKFfbAtwzdSqlCSNZZzbJfwacHmSdwG3AJdMpiRJMxYzvCPN\nZ1FhX1WfAj7VP38AOHHyJUmSJs3foJWkBhj2ktQAb3EsTYnj7VpNPLKXpAYY9pLUAMNekhrgmL20\nRnlOQIvhkb0kNcCwl6QGGPaS1ADDXpIaYNhLUgMMe0lqgGEvSQ0w7KV9xMZt13vtveZk2EtSAwx7\nSWqAYS9JDTDspSVwfFxrjWEvSQ0w7CWpAYa9JDXAsJekBhj2ktQAw16SGmDYS1IDDHtJaoBhL0kN\nMOwlqQGGvSQ1YMGwT/LcJJ9JcluSO5P8x37+UUluSnJvkiuS7D/9ciVJSzHKkf03gVdX1fHAJuD0\nJCcB7wbeU1VHA48C50+vTEnSOBYM++o82U/u1z8KeDXwoX7+DuCcqVQoSRrbSGP2SdYluRXYA+wE\n7gceq6qn+0UeBF40nRIlSeMaKeyr6ttVtQk4EjgROGbYYsPWTbI1ya4ku/bu3bv0SiVJS7aoq3Gq\n6jHgU8BJwEFJ1vdNRwIPzbHO9qraXFWbN2zYME6tkqQlGuVqnA1JDuqffx/wGuAu4JPAG/rFtgDX\nTKtISdJ41i+8CEcAO5Kso/twuLKqrkvyV8DlSd4F3AJcMsU6pVXPP1Oo1WzBsK+q24EThsx/gG78\nXpK0yvkbtJLUAMNekhpg2EtSAwx7SWqAYS9JDTDsJakBhr0kNcCwl6QGGPaS1ADDXpIaYNhLUgMM\ne0lqgGEvSQ0w7CWpAYa9NIKN265fM/erX0u1avkY9pLUAMNekhpg2EtSA0b5G7SSeo6Fa63yyF6S\nGmDYS1IDDHtJaoBhLzXEa/DbZdhLUgMMe0lqgGEvSQ0w7CWpAYa9JDXAsJekBhj2ktSABe+Nk+TF\nwB8BLwSeAbZX1e8mOQS4AtgI7AbeVFWPTq9UafVZK9esr5U6NT2jHNk/DfzbqjoGOAn4lSTHAtuA\nG6vqaODGflqStAotGPZV9XBVfbZ//gRwF/Ai4GxgR7/YDuCcaRUpSRrPosbsk2wETgBuAg6vqoeh\n+0AADpt0cZKkyRg57JM8H/gw8Paq+voi1tuaZFeSXXv37l1KjZKkMY0U9kn2owv6y6rqqn72I0mO\n6NuPAPYMW7eqtlfV5qravGHDhknULElapAXDPkmAS4C7qup3BpquBbb0z7cA10y+PEnSJIzyZwlP\nBt4KfC7Jrf28fw9cDFyZ5Hzgi8Abp1OiJGlcC4Z9Vf0ZkDmaT51sOZKWw8x197svPmuFK9Fy8Tdo\nJakBhr0kNcCwl6QGGPaS1ADDXpIaYNhLUgMMe0lqgGEvSQ0w7CWpAYa9JDXAsJekBhj2ktQAw16S\nGmDYS1IDRrmfvaQ1aOY2xhJ4ZC9JTTDsJakBhr0kNcCwl6QGGPaS1ADDXpIaYNhLUgMMe0lqgGEv\nSQ0w7CWpAYa9JDXAe+NIvcF7yey++KxnzZPWMo/sJakBhr0kNcCwl6QGGPaS1IAFwz7JpUn2JLlj\nYN4hSXYmubf/efB0y5QkjWOUI/sPAqfPmrcNuLGqjgZu7KclSavUgmFfVZ8GvjZr9tnAjv75DuCc\nCdclSZqgpY7ZH15VDwP0Pw+ba8EkW5PsSrJr7969S3w5SdOwcdv1c/4uwXxtWnumfoK2qrZX1eaq\n2rxhw4Zpv5wkaYilhv0jSY4A6H/umVxJkqRJW2rYXwts6Z9vAa6ZTDmSpGkY5dLLPwH+HHhFkgeT\nnA9cDPxMknuBn+mnJUmr1II3QquqN8/RdOqEa5EkTYm/QStJDTDsJakB3s9eGqK168tn/r0z9/HX\nvscje0lqgGEvSQ0w7CXNy9sm7BsMe0lqgGEvSQ0w7CWpAV56qWZ5ueGzLWZs3v5bWzyyl6QGGPaS\n1ADDXpIa4Ji99kmDY88zY8peK66WeWQvSQ0w7CWpAYa9JDXAsJekBhj2ktQAw16SGmDYS1IDvM5e\nzfP6e7XAI3tJaoBhL0kNMOwlqQGO2Wuf55j8ZM3Xn97jfvXyyF6SGmDYS1IDDHtJaoBj9lqTZo8N\nOy4/fUvpY8fwV4+xjuyTnJ7kniT3Jdk2qaIkSZO15LBPsg74PeAM4FjgzUmOnVRhkqTJGefI/kTg\nvqp6oKr+HrgcOHsyZUmSJilVtbQVkzcAp1fVL/bTbwV+rKoumLXcVmBrP/nDwB1LL3fZHAp8ZaWL\nGMFaqHMt1AjWOWnWOVmvqKoDx9nAOCdoM2Tesz45qmo7sB0gya6q2jzGay4L65yctVAjWOekWedk\nJdk17jbGGcZ5EHjxwPSRwEPjlSNJmoZxwv4vgaOTHJVkf+Bc4NrJlCVJmqQlD+NU1dNJLgA+BqwD\nLq2qOxdYbftSX2+ZWefkrIUawTonzTona+w6l3yCVpK0dni7BElqgGEvSQ2YeNgneWOSO5M8k2Tz\nrLZ39LdWuCfJz86x/lFJbkpyb5Ir+pO/U9W/zq39Y3eSW+dYbneSz/XLjX0p1BLqvCjJlwdqPXOO\n5VbsNhZJ/muSu5PcnuTqJAfNsdyK9OVCfZPkgH5/uK/fDzcuV20DNbw4ySeT3NX/X3rbkGVOSfL4\nwL7wG8tdZ1/HvO9jOv+978/bk7xqBWp8xUA/3Zrk60nePmuZFenPJJcm2ZPkjoF5hyTZ2WfgziQH\nz7Huln6Ze5NsWfDFqmqiD+AY4BXAp4DNA/OPBW4DDgCOAu4H1g1Z/0rg3P75+4F/OekaF6j/t4Hf\nmKNtN3DoctYz6/UvAv7dAsus6/v2ZcD+fZ8fu4w1ngas75+/G3j3aunLUfoG+FfA+/vn5wJXrMD7\nfATwqv75gcDnh9R5CnDdcte22PcROBP4KN3v5ZwE3LTC9a4D/gZ46WroT+CngFcBdwzM+y1gW/98\n27D/Q8AhwAP9z4P75wfP91oTP7Kvqruq6p4hTWcDl1fVN6vqr4H76G658B1JArwa+FA/awdwzqRr\nnEv/+m8C/mS5XnMKVvQ2FlX18ap6up/8C7rfv1gtRumbs+n2O+j2w1P7/WLZVNXDVfXZ/vkTwF3A\ni5azhgk6G/ij6vwFcFCSI1awnlOB+6vqCytYw3dU1aeBr82aPbgPzpWBPwvsrKqvVdWjwE7g9Ple\naznH7F8EfGlg+kGevQP/APDYQFgMW2aafhJ4pKrunaO9gI8nubm/DcRKuKD/OnzpHF/vRunn5XIe\n3VHdMCvRl6P0zXeW6ffDx+n2yxXRDyOdANw0pPkfJbktyUeTvHJZC/uuhd7H1bQ/Qvdtba6DudXQ\nnwCHV9XD0H3wA4cNWWbR/bqk6+yT/F/ghUOaLqyqa+Zabci82dd9jnQLhqUYseY3M/9R/clV9VCS\nw4CdSe7uP5knZr46gfcBv0nXJ79JN+R03uxNDFl3otfXjtKXSS4EngYum2MzU+/LIVZ0H1ysJM8H\nPgy8vaq+Pqv5s3RDEU/2524+Ahy93DWy8Pu4mvpzf+B1wDuGNK+W/hzVovt1SWFfVa9Zwmqj3F7h\nK3Rf89b3R1UTuwXDQjUnWQ/8E+BH59nGQ/3PPUmuphsWmGhAjdq3Sf4QuG5I09RvYzFCX24BXguc\nWv0A45BtTL0vhxilb2aWebDfJ17As79mT12S/eiC/rKqump2+2D4V9UNSX4/yaFVtaw39RrhfVxN\nt1U5A/hsVT0yu2G19GfvkSRHVNXD/ZDXniHLPEh3nmHGkXTnSee0nMM41wLn9lc7HEX3qfmZwQX6\nYPgk8IZ+1hZgrm8Kk/Ya4O6qenBYY5LnJTlw5jndichlvYPnrLHO18/x+it6G4skpwO/Bryuqv52\njmVWqi9H6Ztr6fY76PbDT8z1gTUt/TmCS4C7qup35ljmhTPnEpKcSPd/+avLV+XI7+O1wC/0V+Wc\nBDw+M0SxAub85r4a+nPA4D44VwZ+DDgtycH9cO5p/by5TeHs8uvpPnW+CTwCfGyg7UK6qyHuAc4Y\nmH8D8IP985fRfQjcB/wf4IBJ1zhH3R8EfnnWvB8Ebhio67b+cSfdkMVyn7n/Y+BzwO39DnHE7Dr7\n6TPpruC4f7nr7N+3LwG39o/3z65xJftyWN8A76T7cAJ4br/f3dfvhy9bgff5J+i+kt8+0I9nAr88\ns48CF/R9dxvdifAfX4E6h76Ps+oM3R85ur/fdzcvd519Hf+ALrxfMDBvxfuT7sPnYeBbfW6eT3eO\n6Ebg3v7nIf2ym4EPDKx7Xr+f3gf884Vey9slSFID/A1aSWqAYS9JDTDsJakBhr0kNcCwl6QGGPaS\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n",
198 "text/latex": [
198 "text/latex": [
199 "$\\mathcal{N}(\\mu=2, \\sigma=1),\\ N=1000$"
199 "$\\mathcal{N}(\\mu=2, \\sigma=1),\\ N=1000$"
200 ],
200 ],
201 "text/plain": [
201 "text/plain": [
202 "<__main__.Gaussian at 0x116fe76d8>"
202 "<__main__.Gaussian at 0x116fe76d8>"
203 ]
203 ]
204 },
204 },
205 "metadata": {},
205 "metadata": {},
206 "output_type": "display_data"
206 "output_type": "display_data"
207 }
207 }
208 ],
208 ],
209 "source": [
209 "source": [
210 "display(x)"
210 "display(x)"
211 ]
211 ]
212 },
212 },
213 {
213 {
214 "cell_type": "markdown",
214 "cell_type": "markdown",
215 "metadata": {},
215 "metadata": {},
216 "source": [
216 "source": [
217 "Use `display_png` to view the PNG representation:"
217 "Use `display_png` to view the PNG representation:"
218 ]
218 ]
219 },
219 },
220 {
220 {
221 "cell_type": "code",
221 "cell_type": "code",
222 "execution_count": 6,
222 "execution_count": 6,
223 "metadata": {},
223 "metadata": {},
224 "outputs": [
224 "outputs": [
225 {
225 {
226 "data": {
226 "data": {
227 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n"
227 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n"
228 },
228 },
229 "metadata": {},
229 "metadata": {},
230 "output_type": "display_data"
230 "output_type": "display_data"
231 }
231 }
232 ],
232 ],
233 "source": [
233 "source": [
234 "display_png(x)"
234 "display_png(x)"
235 ]
235 ]
236 },
236 },
237 {
237 {
238 "cell_type": "markdown",
238 "cell_type": "markdown",
239 "metadata": {},
239 "metadata": {},
240 "source": [
240 "source": [
241 "<div class=\"alert alert-success\">\n",
241 "<div class=\"alert alert-success\">\n",
242 "It is important to note a subtle different between <code>display</code> and <code>display_png</code>. The former computes <em>all</em> representations of the object, and lets the notebook UI decide which to display. The later only computes the PNG representation.\n",
242 "It is important to note a subtle different between <code>display</code> and <code>display_png</code>. The former computes <em>all</em> representations of the object, and lets the notebook UI decide which to display. The later only computes the PNG representation.\n",
243 "</div>"
243 "</div>"
244 ]
244 ]
245 },
245 },
246 {
246 {
247 "cell_type": "markdown",
247 "cell_type": "markdown",
248 "metadata": {},
248 "metadata": {},
249 "source": [
249 "source": [
250 "Create a new Gaussian with different parameters:"
250 "Create a new Gaussian with different parameters:"
251 ]
251 ]
252 },
252 },
253 {
253 {
254 "cell_type": "code",
254 "cell_type": "code",
255 "execution_count": 7,
255 "execution_count": 7,
256 "metadata": {},
256 "metadata": {},
257 "outputs": [
257 "outputs": [
258 {
258 {
259 "data": {
259 "data": {
260 "image/png": "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\nLnYAAAAASUVORK5CYII=\n",
260 "image/png": "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\nLnYAAAAASUVORK5CYII=\n",
261 "text/latex": [
261 "text/latex": [
262 "$\\mathcal{N}(\\mu=0, \\sigma=2),\\ N=2000$"
262 "$\\mathcal{N}(\\mu=0, \\sigma=2),\\ N=2000$"
263 ],
263 ],
264 "text/plain": [
264 "text/plain": [
265 "<__main__.Gaussian at 0x116fe7668>"
265 "<__main__.Gaussian at 0x116fe7668>"
266 ]
266 ]
267 },
267 },
268 "execution_count": 7,
268 "execution_count": 7,
269 "metadata": {},
269 "metadata": {},
270 "output_type": "execute_result"
270 "output_type": "execute_result"
271 }
271 }
272 ],
272 ],
273 "source": [
273 "source": [
274 "x2 = Gaussian(0, 2, 2000)\n",
274 "x2 = Gaussian(0, 2, 2000)\n",
275 "x2"
275 "x2"
276 ]
276 ]
277 },
277 },
278 {
278 {
279 "cell_type": "markdown",
279 "cell_type": "markdown",
280 "metadata": {},
280 "metadata": {},
281 "source": [
281 "source": [
282 "You can then compare the two Gaussians by displaying their histograms:"
282 "You can then compare the two Gaussians by displaying their histograms:"
283 ]
283 ]
284 },
284 },
285 {
285 {
286 "cell_type": "code",
286 "cell_type": "code",
287 "execution_count": 8,
287 "execution_count": 8,
288 "metadata": {},
288 "metadata": {},
289 "outputs": [
289 "outputs": [
290 {
290 {
291 "data": {
291 "data": {
292 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n"
292 "image/png": "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\n1ADDXpIa8P8BEb7Ae9JKdQAAAAAASUVORK5CYII=\n"
293 },
293 },
294 "metadata": {},
294 "metadata": {},
295 "output_type": "display_data"
295 "output_type": "display_data"
296 },
296 },
297 {
297 {
298 "data": {
298 "data": {
299 "image/png": "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\nLnYAAAAASUVORK5CYII=\n"
299 "image/png": "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\nLnYAAAAASUVORK5CYII=\n"
300 },
300 },
301 "metadata": {},
301 "metadata": {},
302 "output_type": "display_data"
302 "output_type": "display_data"
303 }
303 }
304 ],
304 ],
305 "source": [
305 "source": [
306 "display_png(x)\n",
306 "display_png(x)\n",
307 "display_png(x2)"
307 "display_png(x2)"
308 ]
308 ]
309 },
309 },
310 {
310 {
311 "cell_type": "markdown",
311 "cell_type": "markdown",
312 "metadata": {},
312 "metadata": {},
313 "source": [
313 "source": [
314 "Note that like `print`, you can call any of the `display` functions multiple times in a cell."
314 "Note that like `print`, you can call any of the `display` functions multiple times in a cell."
315 ]
315 ]
316 },
316 },
317 {
317 {
318 "cell_type": "markdown",
318 "cell_type": "markdown",
319 "metadata": {},
319 "metadata": {},
320 "source": [
320 "source": [
321 "## Adding IPython display support to existing objects"
321 "## Adding IPython display support to existing objects"
322 ]
322 ]
323 },
323 },
324 {
324 {
325 "cell_type": "markdown",
325 "cell_type": "markdown",
326 "metadata": {},
326 "metadata": {},
327 "source": [
327 "source": [
328 "When you are directly writing your own classes, you can adapt them for display in IPython by following the above approach. But in practice, you often need to work with existing classes that you can't easily modify. We now illustrate how to add rich output capabilities to existing objects. We will use the NumPy polynomials and change their default representation to be a formatted LaTeX expression."
328 "When you are directly writing your own classes, you can adapt them for display in IPython by following the above approach. But in practice, you often need to work with existing classes that you can't easily modify. We now illustrate how to add rich output capabilities to existing objects. We will use the NumPy polynomials and change their default representation to be a formatted LaTeX expression."
329 ]
329 ]
330 },
330 },
331 {
331 {
332 "cell_type": "markdown",
332 "cell_type": "markdown",
333 "metadata": {},
333 "metadata": {},
334 "source": [
334 "source": [
335 "First, consider how a NumPy polynomial object renders by default:"
335 "First, consider how a NumPy polynomial object renders by default:"
336 ]
336 ]
337 },
337 },
338 {
338 {
339 "cell_type": "code",
339 "cell_type": "code",
340 "execution_count": 9,
340 "execution_count": 9,
341 "metadata": {},
341 "metadata": {},
342 "outputs": [
342 "outputs": [
343 {
343 {
344 "data": {
344 "data": {
345 "text/plain": [
345 "text/plain": [
346 "Polynomial([ 1., 2., 3.], [-10., 10.], [-1, 1])"
346 "Polynomial([ 1., 2., 3.], [-10., 10.], [-1, 1])"
347 ]
347 ]
348 },
348 },
349 "execution_count": 9,
349 "execution_count": 9,
350 "metadata": {},
350 "metadata": {},
351 "output_type": "execute_result"
351 "output_type": "execute_result"
352 }
352 }
353 ],
353 ],
354 "source": [
354 "source": [
355 "p = np.polynomial.Polynomial([1,2,3], [-10, 10])\n",
355 "p = np.polynomial.Polynomial([1,2,3], [-10, 10])\n",
356 "p"
356 "p"
357 ]
357 ]
358 },
358 },
359 {
359 {
360 "cell_type": "markdown",
360 "cell_type": "markdown",
361 "metadata": {},
361 "metadata": {},
362 "source": [
362 "source": [
363 "Next, define a function that pretty-prints a polynomial as a LaTeX string:"
363 "Next, define a function that pretty-prints a polynomial as a LaTeX string:"
364 ]
364 ]
365 },
365 },
366 {
366 {
367 "cell_type": "code",
367 "cell_type": "code",
368 "execution_count": 10,
368 "execution_count": 10,
369 "metadata": {
369 "metadata": {
370 "collapsed": true
370 "collapsed": true
371 },
371 },
372 "outputs": [],
372 "outputs": [],
373 "source": [
373 "source": [
374 "def poly_to_latex(p):\n",
374 "def poly_to_latex(p):\n",
375 " terms = ['%.2g' % p.coef[0]]\n",
375 " terms = ['%.2g' % p.coef[0]]\n",
376 " if len(p) > 1:\n",
376 " if len(p) > 1:\n",
377 " term = 'x'\n",
377 " term = 'x'\n",
378 " c = p.coef[1]\n",
378 " c = p.coef[1]\n",
379 " if c!=1:\n",
379 " if c!=1:\n",
380 " term = ('%.2g ' % c) + term\n",
380 " term = ('%.2g ' % c) + term\n",
381 " terms.append(term)\n",
381 " terms.append(term)\n",
382 " if len(p) > 2:\n",
382 " if len(p) > 2:\n",
383 " for i in range(2, len(p)):\n",
383 " for i in range(2, len(p)):\n",
384 " term = 'x^%d' % i\n",
384 " term = 'x^%d' % i\n",
385 " c = p.coef[i]\n",
385 " c = p.coef[i]\n",
386 " if c!=1:\n",
386 " if c!=1:\n",
387 " term = ('%.2g ' % c) + term\n",
387 " term = ('%.2g ' % c) + term\n",
388 " terms.append(term)\n",
388 " terms.append(term)\n",
389 " px = '$P(x)=%s$' % '+'.join(terms)\n",
389 " px = '$P(x)=%s$' % '+'.join(terms)\n",
390 " dom = r', $x \\in [%.2g,\\ %.2g]$' % tuple(p.domain)\n",
390 " dom = r', $x \\in [%.2g,\\ %.2g]$' % tuple(p.domain)\n",
391 " return px+dom"
391 " return px+dom"
392 ]
392 ]
393 },
393 },
394 {
394 {
395 "cell_type": "markdown",
395 "cell_type": "markdown",
396 "metadata": {},
396 "metadata": {},
397 "source": [
397 "source": [
398 "This produces, on our polynomial ``p``, the following:"
398 "This produces, on our polynomial ``p``, the following:"
399 ]
399 ]
400 },
400 },
401 {
401 {
402 "cell_type": "code",
402 "cell_type": "code",
403 "execution_count": 11,
403 "execution_count": 11,
404 "metadata": {},
404 "metadata": {},
405 "outputs": [
405 "outputs": [
406 {
406 {
407 "data": {
407 "data": {
408 "text/plain": [
408 "text/plain": [
409 "'$P(x)=1+2 x+3 x^2$, $x \\\\in [-10,\\\\ 10]$'"
409 "'$P(x)=1+2 x+3 x^2$, $x \\\\in [-10,\\\\ 10]$'"
410 ]
410 ]
411 },
411 },
412 "execution_count": 11,
412 "execution_count": 11,
413 "metadata": {},
413 "metadata": {},
414 "output_type": "execute_result"
414 "output_type": "execute_result"
415 }
415 }
416 ],
416 ],
417 "source": [
417 "source": [
418 "poly_to_latex(p)"
418 "poly_to_latex(p)"
419 ]
419 ]
420 },
420 },
421 {
421 {
422 "cell_type": "markdown",
422 "cell_type": "markdown",
423 "metadata": {},
423 "metadata": {},
424 "source": [
424 "source": [
425 "You can render this string using the `Latex` class:"
425 "You can render this string using the `Latex` class:"
426 ]
426 ]
427 },
427 },
428 {
428 {
429 "cell_type": "code",
429 "cell_type": "code",
430 "execution_count": 12,
430 "execution_count": 12,
431 "metadata": {},
431 "metadata": {},
432 "outputs": [
432 "outputs": [
433 {
433 {
434 "data": {
434 "data": {
435 "text/latex": [
435 "text/latex": [
436 "$P(x)=1+2 x+3 x^2$, $x \\in [-10,\\ 10]$"
436 "$P(x)=1+2 x+3 x^2$, $x \\in [-10,\\ 10]$"
437 ],
437 ],
438 "text/plain": [
438 "text/plain": [
439 "<IPython.core.display.Latex object>"
439 "<IPython.core.display.Latex object>"
440 ]
440 ]
441 },
441 },
442 "execution_count": 12,
442 "execution_count": 12,
443 "metadata": {},
443 "metadata": {},
444 "output_type": "execute_result"
444 "output_type": "execute_result"
445 }
445 }
446 ],
446 ],
447 "source": [
447 "source": [
448 "from IPython.display import Latex\n",
448 "from IPython.display import Latex\n",
449 "Latex(poly_to_latex(p))"
449 "Latex(poly_to_latex(p))"
450 ]
450 ]
451 },
451 },
452 {
452 {
453 "cell_type": "markdown",
453 "cell_type": "markdown",
454 "metadata": {},
454 "metadata": {},
455 "source": [
455 "source": [
456 "However, you can configure IPython to do this automatically by registering the `Polynomial` class and the `poly_to_latex` function with an IPython display formatter. Let's look at the default formatters provided by IPython:"
456 "However, you can configure IPython to do this automatically by registering the `Polynomial` class and the `poly_to_latex` function with an IPython display formatter. Let's look at the default formatters provided by IPython:"
457 ]
457 ]
458 },
458 },
459 {
459 {
460 "cell_type": "code",
460 "cell_type": "code",
461 "execution_count": 13,
461 "execution_count": 13,
462 "metadata": {},
462 "metadata": {},
463 "outputs": [
463 "outputs": [
464 {
464 {
465 "name": "stdout",
465 "name": "stdout",
466 "output_type": "stream",
466 "output_type": "stream",
467 "text": [
467 "text": [
468 " text/plain : PlainTextFormatter\n",
468 " text/plain : PlainTextFormatter\n",
469 " text/html : HTMLFormatter\n",
469 " text/html : HTMLFormatter\n",
470 " text/markdown : MarkdownFormatter\n",
470 " text/markdown : MarkdownFormatter\n",
471 " image/svg+xml : SVGFormatter\n",
471 " image/svg+xml : SVGFormatter\n",
472 " image/png : PNGFormatter\n",
472 " image/png : PNGFormatter\n",
473 " application/pdf : PDFFormatter\n",
473 " application/pdf : PDFFormatter\n",
474 " image/jpeg : JPEGFormatter\n",
474 " image/jpeg : JPEGFormatter\n",
475 " text/latex : LatexFormatter\n",
475 " text/latex : LatexFormatter\n",
476 " application/json : JSONFormatter\n",
476 " application/json : JSONFormatter\n",
477 " application/javascript : JavascriptFormatter\n"
477 " application/javascript : JavascriptFormatter\n"
478 ]
478 ]
479 }
479 }
480 ],
480 ],
481 "source": [
481 "source": [
482 "ip = get_ipython()\n",
482 "ip = get_ipython()\n",
483 "for mime, formatter in ip.display_formatter.formatters.items():\n",
483 "for mime, formatter in ip.display_formatter.formatters.items():\n",
484 " print('%24s : %s' % (mime, formatter.__class__.__name__))"
484 " print('%24s : %s' % (mime, formatter.__class__.__name__))"
485 ]
485 ]
486 },
486 },
487 {
487 {
488 "cell_type": "markdown",
488 "cell_type": "markdown",
489 "metadata": {},
489 "metadata": {},
490 "source": [
490 "source": [
491 "The `formatters` attribute is a dictionary keyed by MIME types. To define a custom LaTeX display function, you want a handle on the `text/latex` formatter:"
491 "The `formatters` attribute is a dictionary keyed by MIME types. To define a custom LaTeX display function, you want a handle on the `text/latex` formatter:"
492 ]
492 ]
493 },
493 },
494 {
494 {
495 "cell_type": "code",
495 "cell_type": "code",
496 "execution_count": 14,
496 "execution_count": 14,
497 "metadata": {
497 "metadata": {
498 "collapsed": true
498 "collapsed": true
499 },
499 },
500 "outputs": [],
500 "outputs": [],
501 "source": [
501 "source": [
502 "ip = get_ipython()\n",
502 "ip = get_ipython()\n",
503 "latex_f = ip.display_formatter.formatters['text/latex']"
503 "latex_f = ip.display_formatter.formatters['text/latex']"
504 ]
504 ]
505 },
505 },
506 {
506 {
507 "cell_type": "markdown",
507 "cell_type": "markdown",
508 "metadata": {},
508 "metadata": {},
509 "source": [
509 "source": [
510 "The formatter object has a couple of methods for registering custom display functions for existing types."
510 "The formatter object has a couple of methods for registering custom display functions for existing types."
511 ]
511 ]
512 },
512 },
513 {
513 {
514 "cell_type": "code",
514 "cell_type": "code",
515 "execution_count": 15,
515 "execution_count": 15,
516 "metadata": {},
516 "metadata": {},
517 "outputs": [
517 "outputs": [
518 {
518 {
519 "name": "stdout",
519 "name": "stdout",
520 "output_type": "stream",
520 "output_type": "stream",
521 "text": [
521 "text": [
522 "Help on method for_type in module IPython.core.formatters:\n",
522 "Help on method for_type in module IPython.core.formatters:\n",
523 "\n",
523 "\n",
524 "for_type(typ, func=None) method of IPython.core.formatters.LatexFormatter instance\n",
524 "for_type(typ, func=None) method of IPython.core.formatters.LatexFormatter instance\n",
525 " Add a format function for a given type.\n",
525 " Add a format function for a given type.\n",
526 " \n",
526 " \n",
527 " Parameters\n",
527 " Parameters\n",
528 " -----------\n",
528 " -----------\n",
529 " typ : type or '__module__.__name__' string for a type\n",
529 " typ : type or '__module__.__name__' string for a type\n",
530 " The class of the object that will be formatted using `func`.\n",
530 " The class of the object that will be formatted using `func`.\n",
531 " func : callable\n",
531 " func : callable\n",
532 " A callable for computing the format data.\n",
532 " A callable for computing the format data.\n",
533 " `func` will be called with the object to be formatted,\n",
533 " `func` will be called with the object to be formatted,\n",
534 " and will return the raw data in this formatter's format.\n",
534 " and will return the raw data in this formatter's format.\n",
535 " Subclasses may use a different call signature for the\n",
535 " Subclasses may use a different call signature for the\n",
536 " `func` argument.\n",
536 " `func` argument.\n",
537 " \n",
537 " \n",
538 " If `func` is None or not specified, there will be no change,\n",
538 " If `func` is None or not specified, there will be no change,\n",
539 " only returning the current value.\n",
539 " only returning the current value.\n",
540 " \n",
540 " \n",
541 " Returns\n",
541 " Returns\n",
542 " -------\n",
542 " -------\n",
543 " oldfunc : callable\n",
543 " oldfunc : callable\n",
544 " The currently registered callable.\n",
544 " The currently registered callable.\n",
545 " If you are registering a new formatter,\n",
545 " If you are registering a new formatter,\n",
546 " this will be the previous value (to enable restoring later).\n",
546 " this will be the previous value (to enable restoring later).\n",
547 "\n"
547 "\n"
548 ]
548 ]
549 }
549 }
550 ],
550 ],
551 "source": [
551 "source": [
552 "help(latex_f.for_type)"
552 "help(latex_f.for_type)"
553 ]
553 ]
554 },
554 },
555 {
555 {
556 "cell_type": "code",
556 "cell_type": "code",
557 "execution_count": 16,
557 "execution_count": 16,
558 "metadata": {},
558 "metadata": {},
559 "outputs": [
559 "outputs": [
560 {
560 {
561 "name": "stdout",
561 "name": "stdout",
562 "output_type": "stream",
562 "output_type": "stream",
563 "text": [
563 "text": [
564 "Help on method for_type_by_name in module IPython.core.formatters:\n",
564 "Help on method for_type_by_name in module IPython.core.formatters:\n",
565 "\n",
565 "\n",
566 "for_type_by_name(type_module, type_name, func=None) method of IPython.core.formatters.LatexFormatter instance\n",
566 "for_type_by_name(type_module, type_name, func=None) method of IPython.core.formatters.LatexFormatter instance\n",
567 " Add a format function for a type specified by the full dotted\n",
567 " Add a format function for a type specified by the full dotted\n",
568 " module and name of the type, rather than the type of the object.\n",
568 " module and name of the type, rather than the type of the object.\n",
569 " \n",
569 " \n",
570 " Parameters\n",
570 " Parameters\n",
571 " ----------\n",
571 " ----------\n",
572 " type_module : str\n",
572 " type_module : str\n",
573 " The full dotted name of the module the type is defined in, like\n",
573 " The full dotted name of the module the type is defined in, like\n",
574 " ``numpy``.\n",
574 " ``numpy``.\n",
575 " type_name : str\n",
575 " type_name : str\n",
576 " The name of the type (the class name), like ``dtype``\n",
576 " The name of the type (the class name), like ``dtype``\n",
577 " func : callable\n",
577 " func : callable\n",
578 " A callable for computing the format data.\n",
578 " A callable for computing the format data.\n",
579 " `func` will be called with the object to be formatted,\n",
579 " `func` will be called with the object to be formatted,\n",
580 " and will return the raw data in this formatter's format.\n",
580 " and will return the raw data in this formatter's format.\n",
581 " Subclasses may use a different call signature for the\n",
581 " Subclasses may use a different call signature for the\n",
582 " `func` argument.\n",
582 " `func` argument.\n",
583 " \n",
583 " \n",
584 " If `func` is None or unspecified, there will be no change,\n",
584 " If `func` is None or unspecified, there will be no change,\n",
585 " only returning the current value.\n",
585 " only returning the current value.\n",
586 " \n",
586 " \n",
587 " Returns\n",
587 " Returns\n",
588 " -------\n",
588 " -------\n",
589 " oldfunc : callable\n",
589 " oldfunc : callable\n",
590 " The currently registered callable.\n",
590 " The currently registered callable.\n",
591 " If you are registering a new formatter,\n",
591 " If you are registering a new formatter,\n",
592 " this will be the previous value (to enable restoring later).\n",
592 " this will be the previous value (to enable restoring later).\n",
593 "\n"
593 "\n"
594 ]
594 ]
595 }
595 }
596 ],
596 ],
597 "source": [
597 "source": [
598 "help(latex_f.for_type_by_name)"
598 "help(latex_f.for_type_by_name)"
599 ]
599 ]
600 },
600 },
601 {
601 {
602 "cell_type": "markdown",
602 "cell_type": "markdown",
603 "metadata": {},
603 "metadata": {},
604 "source": [
604 "source": [
605 "In this case, we will use `for_type_by_name` to register `poly_to_latex` as the display function for the `Polynomial` type:"
605 "In this case, we will use `for_type_by_name` to register `poly_to_latex` as the display function for the `Polynomial` type:"
606 ]
606 ]
607 },
607 },
608 {
608 {
609 "cell_type": "code",
609 "cell_type": "code",
610 "execution_count": 17,
610 "execution_count": 17,
611 "metadata": {
611 "metadata": {
612 "collapsed": true
612 "collapsed": true
613 },
613 },
614 "outputs": [],
614 "outputs": [],
615 "source": [
615 "source": [
616 "latex_f.for_type_by_name('numpy.polynomial.polynomial',\n",
616 "latex_f.for_type_by_name('numpy.polynomial.polynomial',\n",
617 " 'Polynomial', poly_to_latex)"
617 " 'Polynomial', poly_to_latex)"
618 ]
618 ]
619 },
619 },
620 {
620 {
621 "cell_type": "markdown",
621 "cell_type": "markdown",
622 "metadata": {},
622 "metadata": {},
623 "source": [
623 "source": [
624 "Once the custom display function has been registered, all NumPy `Polynomial` instances will be represented by their LaTeX form instead:"
624 "Once the custom display function has been registered, all NumPy `Polynomial` instances will be represented by their LaTeX form instead:"
625 ]
625 ]
626 },
626 },
627 {
627 {
628 "cell_type": "code",
628 "cell_type": "code",
629 "execution_count": 18,
629 "execution_count": 18,
630 "metadata": {},
630 "metadata": {},
631 "outputs": [
631 "outputs": [
632 {
632 {
633 "data": {
633 "data": {
634 "text/latex": [
634 "text/latex": [
635 "$P(x)=1+2 x+3 x^2$, $x \\in [-10,\\ 10]$"
635 "$P(x)=1+2 x+3 x^2$, $x \\in [-10,\\ 10]$"
636 ],
636 ],
637 "text/plain": [
637 "text/plain": [
638 "Polynomial([ 1., 2., 3.], [-10., 10.], [-1, 1])"
638 "Polynomial([ 1., 2., 3.], [-10., 10.], [-1, 1])"
639 ]
639 ]
640 },
640 },
641 "execution_count": 18,
641 "execution_count": 18,
642 "metadata": {},
642 "metadata": {},
643 "output_type": "execute_result"
643 "output_type": "execute_result"
644 }
644 }
645 ],
645 ],
646 "source": [
646 "source": [
647 "p"
647 "p"
648 ]
648 ]
649 },
649 },
650 {
650 {
651 "cell_type": "code",
651 "cell_type": "code",
652 "execution_count": 19,
652 "execution_count": 19,
653 "metadata": {},
653 "metadata": {},
654 "outputs": [
654 "outputs": [
655 {
655 {
656 "data": {
656 "data": {
657 "text/latex": [
657 "text/latex": [
658 "$P(x)=-20+71 x+-15 x^2+x^3$, $x \\in [-1,\\ 1]$"
658 "$P(x)=-20+71 x+-15 x^2+x^3$, $x \\in [-1,\\ 1]$"
659 ],
659 ],
660 "text/plain": [
660 "text/plain": [
661 "Polynomial([-20., 71., -15., 1.], [-1, 1], [-1, 1])"
661 "Polynomial([-20., 71., -15., 1.], [-1, 1], [-1, 1])"
662 ]
662 ]
663 },
663 },
664 "execution_count": 19,
664 "execution_count": 19,
665 "metadata": {},
665 "metadata": {},
666 "output_type": "execute_result"
666 "output_type": "execute_result"
667 }
667 }
668 ],
668 ],
669 "source": [
669 "source": [
670 "p2 = np.polynomial.Polynomial([-20, 71, -15, 1])\n",
670 "p2 = np.polynomial.Polynomial([-20, 71, -15, 1])\n",
671 "p2"
671 "p2"
672 ]
672 ]
673 },
673 },
674 {
674 {
675 "cell_type": "markdown",
675 "cell_type": "markdown",
676 "metadata": {},
676 "metadata": {},
677 "source": [
677 "source": [
678 "## Custom Mimetypes with `_repr_mimebundle_`\n",
678 "## Custom Mimetypes with `_repr_mimebundle_`\n",
679 "\n",
679 "\n",
680 "Available on IPython 5.4+ and 6.1+.\n",
680 "Available on IPython 5.4+ and 6.1+.\n",
681 "\n",
681 "\n",
682 "For objects needing full control over the `repr` protocol may decide to implement the `_repr_mimebundle_(include, exclude)` method.\n",
682 "For objects needing full control over the `repr` protocol may decide to implement the `_repr_mimebundle_(include, exclude)` method.\n",
683 "Unlike the other `_repr_*_` methods must return many representation of the object in a mapping object which keys are _mimetypes_ and value are associated data. The `_repr_mimebundle_()` method, may also return a second mapping from _mimetypes_ to metadata. \n",
683 "Unlike the other `_repr_*_` methods must return many representation of the object in a mapping object which keys are _mimetypes_ and value are associated data. The `_repr_mimebundle_()` method, may also return a second mapping from _mimetypes_ to metadata. \n",
684 "\n",
684 "\n",
685 "Example:"
685 "Example:"
686 ]
686 ]
687 },
687 },
688 {
688 {
689 "cell_type": "code",
689 "cell_type": "code",
690 "execution_count": 20,
690 "execution_count": 20,
691 "metadata": {
691 "metadata": {
692 "collapsed": true
692 "collapsed": true
693 },
693 },
694 "outputs": [],
694 "outputs": [],
695 "source": [
695 "source": [
696 "class Gaussian(object):\n",
696 "class Gaussian(object):\n",
697 " \"\"\"A simple object holding data sampled from a Gaussian distribution.\n",
697 " \"\"\"A simple object holding data sampled from a Gaussian distribution.\n",
698 " \"\"\"\n",
698 " \"\"\"\n",
699 " def __init__(self, mean=0.0, std=1, size=1000):\n",
699 " def __init__(self, mean=0.0, std=1, size=1000):\n",
700 " self.data = np.random.normal(mean, std, size)\n",
700 " self.data = np.random.normal(mean, std, size)\n",
701 " self.mean = mean\n",
701 " self.mean = mean\n",
702 " self.std = std\n",
702 " self.std = std\n",
703 " self.size = size\n",
703 " self.size = size\n",
704 " # For caching plots that may be expensive to compute\n",
704 " # For caching plots that may be expensive to compute\n",
705 " self._png_data = None\n",
705 " self._png_data = None\n",
706 " \n",
706 " \n",
707 " def _figure_data(self, format):\n",
707 " def _figure_data(self, format):\n",
708 " fig, ax = plt.subplots()\n",
708 " fig, ax = plt.subplots()\n",
709 " ax.hist(self.data, bins=50)\n",
709 " ax.hist(self.data, bins=50)\n",
710 " ax.set_xlim(-10.0,10.0)\n",
710 " ax.set_xlim(-10.0,10.0)\n",
711 " data = print_figure(fig, format)\n",
711 " data = print_figure(fig, format)\n",
712 " # We MUST close the figure, otherwise IPython's display machinery\n",
712 " # We MUST close the figure, otherwise IPython's display machinery\n",
713 " # will pick it up and send it as output, resulting in a double display\n",
713 " # will pick it up and send it as output, resulting in a double display\n",
714 " plt.close(fig)\n",
714 " plt.close(fig)\n",
715 " return data\n",
715 " return data\n",
716 " \n",
716 " \n",
717 " def _compute_mathml(self):\n",
717 " def _compute_mathml(self):\n",
718 " return \"\"\"\n",
718 " return \"\"\"\n",
719 " <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n",
719 " <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n",
720 " <mrow class=\"MJX-TeXAtom-ORD\">\n",
720 " <mrow class=\"MJX-TeXAtom-ORD\">\n",
721 " <mi class=\"MJX-tex-caligraphic\" mathvariant=\"script\">N</mi>\n",
721 " <mi class=\"MJX-tex-caligraphic\" mathvariant=\"script\">N</mi>\n",
722 " </mrow>\n",
722 " </mrow>\n",
723 " <mo stretchy=\"false\">(</mo>\n",
723 " <mo stretchy=\"false\">(</mo>\n",
724 " <mi>&#x03BC;<!-- μ --></mi>\n",
724 " <mi>&#x03BC;<!-- μ --></mi>\n",
725 " <mo>=</mo>\n",
725 " <mo>=</mo>\n",
726 " <mn>{mu}</mn>\n",
726 " <mn>{mu}</mn>\n",
727 " <mo>,</mo>\n",
727 " <mo>,</mo>\n",
728 " <mi>&#x03C3;<!-- σ --></mi>\n",
728 " <mi>&#x03C3;<!-- σ --></mi>\n",
729 " <mo>=</mo>\n",
729 " <mo>=</mo>\n",
730 " <mn>{sigma}</mn>\n",
730 " <mn>{sigma}</mn>\n",
731 " <mo stretchy=\"false\">)</mo>\n",
731 " <mo stretchy=\"false\">)</mo>\n",
732 " <mo>,</mo>\n",
732 " <mo>,</mo>\n",
733 " <mtext>&#xA0;</mtext>\n",
733 " <mtext>&#xA0;</mtext>\n",
734 " <mi>N</mi>\n",
734 " <mi>N</mi>\n",
735 " <mo>=</mo>\n",
735 " <mo>=</mo>\n",
736 " <mn>{N}</mn>\n",
736 " <mn>{N}</mn>\n",
737 " </math>\n",
737 " </math>\n",
738 " \"\"\".format(N=self.size, mu=self.mean, sigma=self.std)\n",
738 " \"\"\".format(N=self.size, mu=self.mean, sigma=self.std)\n",
739 " \n",
739 " \n",
740 " def _repr_mimebundle_(self, include, exclude, **kwargs):\n",
740 " def _repr_mimebundle_(self, include, exclude, **kwargs):\n",
741 " \"\"\"\n",
741 " \"\"\"\n",
742 " repr_mimebundle should accept include, exclude and **kwargs\n",
742 " repr_mimebundle should accept include, exclude and **kwargs\n",
743 " \"\"\"\n",
743 " \"\"\"\n",
744 " if self._png_data is None:\n",
744 " if self._png_data is None:\n",
745 " self._png_data = self._figure_data('png')\n",
745 " self._png_data = self._figure_data('png')\n",
746 " math = r'$\\mathcal{N}(\\mu=%.2g, \\sigma=%.2g),\\ N=%d$' % (self.mean,\n",
746 " math = r'$\\mathcal{N}(\\mu=%.2g, \\sigma=%.2g),\\ N=%d$' % (self.mean,\n",
747 " self.std, self.size)\n",
747 " self.std, self.size)\n",
748 " data = {'image/png':self._png_data,\n",
748 " data = {'image/png':self._png_data,\n",
749 " 'text/latex':math,\n",
749 " 'text/latex':math,\n",
750 " 'application/mathml+xml': self._compute_mathml()\n",
750 " 'application/mathml+xml': self._compute_mathml()\n",
751 " }\n",
751 " }\n",
752 " if include:\n",
752 " if include:\n",
753 " data = {k:v for (k,v) in data.items() if k in include}\n",
753 " data = {k:v for (k,v) in data.items() if k in include}\n",
754 " if exclude:\n",
754 " if exclude:\n",
755 " data = {k:v for (k,v) in data.items() if k not in exclude}\n",
755 " data = {k:v for (k,v) in data.items() if k not in exclude}\n",
756 " return data"
756 " return data"
757 ]
757 ]
758 },
758 },
759 {
759 {
760 "cell_type": "code",
760 "cell_type": "code",
761 "execution_count": 21,
761 "execution_count": 21,
762 "metadata": {},
762 "metadata": {},
763 "outputs": [
763 "outputs": [
764 {
764 {
765 "data": {
765 "data": {
766 "application/mathml+xml": "\n <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n <mrow class=\"MJX-TeXAtom-ORD\">\n <mi class=\"MJX-tex-caligraphic\" mathvariant=\"script\">N</mi>\n </mrow>\n <mo stretchy=\"false\">(</mo>\n <mi>&#x03BC;<!-- μ --></mi>\n <mo>=</mo>\n <mn>0.0</mn>\n <mo>,</mo>\n <mi>&#x03C3;<!-- σ --></mi>\n <mo>=</mo>\n <mn>1</mn>\n <mo stretchy=\"false\">)</mo>\n <mo>,</mo>\n <mtext>&#xA0;</mtext>\n <mi>N</mi>\n <mo>=</mo>\n <mn>1000</mn>\n </math>\n ",
766 "application/mathml+xml": "\n <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n <mrow class=\"MJX-TeXAtom-ORD\">\n <mi class=\"MJX-tex-caligraphic\" mathvariant=\"script\">N</mi>\n </mrow>\n <mo stretchy=\"false\">(</mo>\n <mi>&#x03BC;<!-- μ --></mi>\n <mo>=</mo>\n <mn>0.0</mn>\n <mo>,</mo>\n <mi>&#x03C3;<!-- σ --></mi>\n <mo>=</mo>\n <mn>1</mn>\n <mo stretchy=\"false\">)</mo>\n <mo>,</mo>\n <mtext>&#xA0;</mtext>\n <mi>N</mi>\n <mo>=</mo>\n <mn>1000</mn>\n </math>\n ",
767 "image/png": "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\nDfgfS9fLKUqMYTsAAAAASUVORK5CYII=\n",
767 "image/png": "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\nDfgfS9fLKUqMYTsAAAAASUVORK5CYII=\n",
768 "text/latex": [
768 "text/latex": [
769 "$\\mathcal{N}(\\mu=0, \\sigma=1),\\ N=1000$"
769 "$\\mathcal{N}(\\mu=0, \\sigma=1),\\ N=1000$"
770 ],
770 ],
771 "text/plain": [
771 "text/plain": [
772 "<__main__.Gaussian at 0x11a614e80>"
772 "<__main__.Gaussian at 0x11a614e80>"
773 ]
773 ]
774 },
774 },
775 "metadata": {},
775 "metadata": {},
776 "output_type": "display_data"
776 "output_type": "display_data"
777 }
777 }
778 ],
778 ],
779 "source": [
779 "source": [
780 "# that is deffinitively wrong as it should show the PNG. \n",
780 "# that is definitively wrong as it should show the PNG. \n",
781 "display(Gaussian())"
781 "display(Gaussian())"
782 ]
782 ]
783 },
783 },
784 {
784 {
785 "cell_type": "markdown",
785 "cell_type": "markdown",
786 "metadata": {},
786 "metadata": {},
787 "source": [
787 "source": [
788 "In the above example, the 3 mimetypes are embedded in the notebook document this allowing custom extensions and converters to display the representation(s) of their choice.\n",
788 "In the above example, the 3 mimetypes are embedded in the notebook document this allowing custom extensions and converters to display the representation(s) of their choice.\n",
789 "\n",
789 "\n",
790 "For example, converting this noetebook to _epub_ may decide to use the MathML representation as most ebook reader cannot run mathjax (unlike browsers). \n",
790 "For example, converting this noetebook to _epub_ may decide to use the MathML representation as most ebook reader cannot run mathjax (unlike browsers). \n",
791 "\n",
791 "\n",
792 "\n",
792 "\n",
793 "### Implementation guidelines\n",
793 "### Implementation guidelines\n",
794 "\n",
794 "\n",
795 "The `_repr_mimebundle_` methods is also given two keywords parameters : `include` and `exclude`. Each can be a containers (e.g.:`list`, `set` ...) of mimetypes to return or `None`, This allows implementation to avoid computing potentially unnecessary and expensive mimetypes representations. \n",
795 "The `_repr_mimebundle_` methods is also given two keywords parameters : `include` and `exclude`. Each can be a containers (e.g.:`list`, `set` ...) of mimetypes to return or `None`, This allows implementation to avoid computing potentially unnecessary and expensive mimetypes representations. \n",
796 "\n",
796 "\n",
797 "When `include` is non-empty (empty `list` or None), `_repr_mimebundle_` may decide to returns only the mimetypes in include.\n",
797 "When `include` is non-empty (empty `list` or None), `_repr_mimebundle_` may decide to returns only the mimetypes in include.\n",
798 "When `exclude` is non-empty, `_repr_mimebundle_` may decide to not return any mimetype in exclude. \n",
798 "When `exclude` is non-empty, `_repr_mimebundle_` may decide to not return any mimetype in exclude. \n",
799 "If both `include` and `exclude` and overlap, mimetypes present in exclude may not be returned. \n",
799 "If both `include` and `exclude` and overlap, mimetypes present in exclude may not be returned. \n",
800 "\n",
800 "\n",
801 "If implementations decide to ignore the `include` and `exclude` logic and always returns a full mimebundles, the IPython kernel will take care of removing non-desired representations.\n",
801 "If implementations decide to ignore the `include` and `exclude` logic and always returns a full mimebundles, the IPython kernel will take care of removing non-desired representations.\n",
802 "\n",
802 "\n",
803 "The `_repr_mimebundle_` method should accept arbitrary keyword arguments for future compatiility.\n"
803 "The `_repr_mimebundle_` method should accept arbitrary keyword arguments for future compatiility.\n"
804 ]
804 ]
805 },
805 },
806 {
806 {
807 "cell_type": "code",
807 "cell_type": "code",
808 "execution_count": 22,
808 "execution_count": 22,
809 "metadata": {},
809 "metadata": {},
810 "outputs": [
810 "outputs": [
811 {
811 {
812 "data": {
812 "data": {
813 "text/latex": [
813 "text/latex": [
814 "$\\mathcal{N}(\\mu=0, \\sigma=1),\\ N=1000$"
814 "$\\mathcal{N}(\\mu=0, \\sigma=1),\\ N=1000$"
815 ]
815 ]
816 },
816 },
817 "metadata": {},
817 "metadata": {},
818 "output_type": "display_data"
818 "output_type": "display_data"
819 }
819 }
820 ],
820 ],
821 "source": [
821 "source": [
822 "display(Gaussian(), include={'text/latex'}) # only show latex"
822 "display(Gaussian(), include={'text/latex'}) # only show latex"
823 ]
823 ]
824 },
824 },
825 {
825 {
826 "cell_type": "code",
826 "cell_type": "code",
827 "execution_count": 23,
827 "execution_count": 23,
828 "metadata": {},
828 "metadata": {},
829 "outputs": [
829 "outputs": [
830 {
830 {
831 "data": {
831 "data": {
832 "application/mathml+xml": "\n <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n <mrow class=\"MJX-TeXAtom-ORD\">\n <mi class=\"MJX-tex-caligraphic\" mathvariant=\"script\">N</mi>\n </mrow>\n <mo stretchy=\"false\">(</mo>\n <mi>&#x03BC;<!-- μ --></mi>\n <mo>=</mo>\n <mn>0.0</mn>\n <mo>,</mo>\n <mi>&#x03C3;<!-- σ --></mi>\n <mo>=</mo>\n <mn>1</mn>\n <mo stretchy=\"false\">)</mo>\n <mo>,</mo>\n <mtext>&#xA0;</mtext>\n <mi>N</mi>\n <mo>=</mo>\n <mn>1000</mn>\n </math>\n ",
832 "application/mathml+xml": "\n <math xmlns=\"http://www.w3.org/1998/Math/MathML\">\n <mrow class=\"MJX-TeXAtom-ORD\">\n <mi class=\"MJX-tex-caligraphic\" mathvariant=\"script\">N</mi>\n </mrow>\n <mo stretchy=\"false\">(</mo>\n <mi>&#x03BC;<!-- μ --></mi>\n <mo>=</mo>\n <mn>0.0</mn>\n <mo>,</mo>\n <mi>&#x03C3;<!-- σ --></mi>\n <mo>=</mo>\n <mn>1</mn>\n <mo stretchy=\"false\">)</mo>\n <mo>,</mo>\n <mtext>&#xA0;</mtext>\n <mi>N</mi>\n <mo>=</mo>\n <mn>1000</mn>\n </math>\n ",
833 "text/latex": [
833 "text/latex": [
834 "$\\mathcal{N}(\\mu=0, \\sigma=1),\\ N=1000$"
834 "$\\mathcal{N}(\\mu=0, \\sigma=1),\\ N=1000$"
835 ],
835 ],
836 "text/plain": [
836 "text/plain": [
837 "<__main__.Gaussian at 0x116fe7550>"
837 "<__main__.Gaussian at 0x116fe7550>"
838 ]
838 ]
839 },
839 },
840 "metadata": {},
840 "metadata": {},
841 "output_type": "display_data"
841 "output_type": "display_data"
842 }
842 }
843 ],
843 ],
844 "source": [
844 "source": [
845 "display(Gaussian(), exclude={'image/png'}) # exclude png"
845 "display(Gaussian(), exclude={'image/png'}) # exclude png"
846 ]
846 ]
847 },
847 },
848 {
848 {
849 "cell_type": "code",
849 "cell_type": "code",
850 "execution_count": 24,
850 "execution_count": 24,
851 "metadata": {},
851 "metadata": {},
852 "outputs": [
852 "outputs": [
853 {
853 {
854 "data": {
854 "data": {
855 "text/plain": [
855 "text/plain": [
856 "<__main__.Gaussian at 0x11a8a0b38>"
856 "<__main__.Gaussian at 0x11a8a0b38>"
857 ]
857 ]
858 },
858 },
859 "metadata": {},
859 "metadata": {},
860 "output_type": "display_data"
860 "output_type": "display_data"
861 }
861 }
862 ],
862 ],
863 "source": [
863 "source": [
864 "display(Gaussian(), include={'text/plain', 'image/png'}, exclude={'image/png'}) # keep only plain/text"
864 "display(Gaussian(), include={'text/plain', 'image/png'}, exclude={'image/png'}) # keep only plain/text"
865 ]
865 ]
866 },
866 },
867 {
867 {
868 "cell_type": "markdown",
868 "cell_type": "markdown",
869 "metadata": {},
869 "metadata": {},
870 "source": [
870 "source": [
871 "## More complex display with `_ipython_display_`"
871 "## More complex display with `_ipython_display_`"
872 ]
872 ]
873 },
873 },
874 {
874 {
875 "cell_type": "markdown",
875 "cell_type": "markdown",
876 "metadata": {},
876 "metadata": {},
877 "source": [
877 "source": [
878 "Rich output special methods and functions can only display one object or MIME type at a time. Sometimes this is not enough if you want to display multiple objects or MIME types at once. An example of this would be to use an HTML representation to put some HTML elements in the DOM and then use a JavaScript representation to add events to those elements.\n",
878 "Rich output special methods and functions can only display one object or MIME type at a time. Sometimes this is not enough if you want to display multiple objects or MIME types at once. An example of this would be to use an HTML representation to put some HTML elements in the DOM and then use a JavaScript representation to add events to those elements.\n",
879 "\n",
879 "\n",
880 "**IPython 2.0** recognizes another display method, `_ipython_display_`, which allows your objects to take complete control of displaying themselves. If this method is defined, IPython will call it, and make no effort to display the object using the above described `_repr_*_` methods for custom display functions. It's a way for you to say \"Back off, IPython, I can display this myself.\" Most importantly, your `_ipython_display_` method can make multiple calls to the top-level `display` functions to accomplish its goals.\n",
880 "**IPython 2.0** recognizes another display method, `_ipython_display_`, which allows your objects to take complete control of displaying themselves. If this method is defined, IPython will call it, and make no effort to display the object using the above described `_repr_*_` methods for custom display functions. It's a way for you to say \"Back off, IPython, I can display this myself.\" Most importantly, your `_ipython_display_` method can make multiple calls to the top-level `display` functions to accomplish its goals.\n",
881 "\n",
881 "\n",
882 "Here is an object that uses `display_html` and `display_javascript` to make a plot using the [Flot](http://www.flotcharts.org/) JavaScript plotting library:"
882 "Here is an object that uses `display_html` and `display_javascript` to make a plot using the [Flot](http://www.flotcharts.org/) JavaScript plotting library:"
883 ]
883 ]
884 },
884 },
885 {
885 {
886 "cell_type": "code",
886 "cell_type": "code",
887 "execution_count": 25,
887 "execution_count": 25,
888 "metadata": {
888 "metadata": {
889 "collapsed": true
889 "collapsed": true
890 },
890 },
891 "outputs": [],
891 "outputs": [],
892 "source": [
892 "source": [
893 "import json\n",
893 "import json\n",
894 "import uuid\n",
894 "import uuid\n",
895 "from IPython.display import display_javascript, display_html, display\n",
895 "from IPython.display import display_javascript, display_html, display\n",
896 "\n",
896 "\n",
897 "class FlotPlot(object):\n",
897 "class FlotPlot(object):\n",
898 " def __init__(self, x, y):\n",
898 " def __init__(self, x, y):\n",
899 " self.x = x\n",
899 " self.x = x\n",
900 " self.y = y\n",
900 " self.y = y\n",
901 " self.uuid = str(uuid.uuid4())\n",
901 " self.uuid = str(uuid.uuid4())\n",
902 " \n",
902 " \n",
903 " def _ipython_display_(self):\n",
903 " def _ipython_display_(self):\n",
904 " json_data = json.dumps(list(zip(self.x, self.y)))\n",
904 " json_data = json.dumps(list(zip(self.x, self.y)))\n",
905 " display_html('<div id=\"{}\" style=\"height: 300px; width:80%;\"></div>'.format(self.uuid),\n",
905 " display_html('<div id=\"{}\" style=\"height: 300px; width:80%;\"></div>'.format(self.uuid),\n",
906 " raw=True\n",
906 " raw=True\n",
907 " )\n",
907 " )\n",
908 " display_javascript(\"\"\"\n",
908 " display_javascript(\"\"\"\n",
909 " require([\"//cdnjs.cloudflare.com/ajax/libs/flot/0.8.2/jquery.flot.min.js\"], function() {\n",
909 " require([\"//cdnjs.cloudflare.com/ajax/libs/flot/0.8.2/jquery.flot.min.js\"], function() {\n",
910 " var line = JSON.parse(\"%s\");\n",
910 " var line = JSON.parse(\"%s\");\n",
911 " console.log(line);\n",
911 " console.log(line);\n",
912 " $.plot(\"#%s\", [line]);\n",
912 " $.plot(\"#%s\", [line]);\n",
913 " });\n",
913 " });\n",
914 " \"\"\" % (json_data, self.uuid), raw=True)\n"
914 " \"\"\" % (json_data, self.uuid), raw=True)\n"
915 ]
915 ]
916 },
916 },
917 {
917 {
918 "cell_type": "code",
918 "cell_type": "code",
919 "execution_count": 26,
919 "execution_count": 26,
920 "metadata": {},
920 "metadata": {},
921 "outputs": [
921 "outputs": [
922 {
922 {
923 "data": {
923 "data": {
924 "text/html": [
924 "text/html": [
925 "<div id=\"c6929609-3cb6-4443-9574-d9f71791a987\" style=\"height: 300px; width:80%;\"></div>"
925 "<div id=\"c6929609-3cb6-4443-9574-d9f71791a987\" style=\"height: 300px; width:80%;\"></div>"
926 ]
926 ]
927 },
927 },
928 "metadata": {},
928 "metadata": {},
929 "output_type": "display_data"
929 "output_type": "display_data"
930 },
930 },
931 {
931 {
932 "data": {
932 "data": {
933 "application/javascript": [
933 "application/javascript": [
934 "\n",
934 "\n",
935 " require([\"//cdnjs.cloudflare.com/ajax/libs/flot/0.8.2/jquery.flot.min.js\"], function() {\n",
935 " require([\"//cdnjs.cloudflare.com/ajax/libs/flot/0.8.2/jquery.flot.min.js\"], function() {\n",
936 " var line = JSON.parse(\"[[0.0, 0.0], [0.20408163265306123, 0.20266793654820095], [0.40816326530612246, 0.39692414892492234], [0.6122448979591837, 0.5747060412161791], [0.8163265306122449, 0.7286347834693503], [1.0204081632653061, 0.8523215697196184], [1.2244897959183674, 0.9406327851124867], [1.4285714285714286, 0.9899030763721239], [1.6326530612244898, 0.9980874821347183], [1.836734693877551, 0.9648463089837632], [2.0408163265306123, 0.8915592304110037], [2.2448979591836737, 0.7812680235262639], [2.4489795918367347, 0.6385503202266021], [2.6530612244897958, 0.469329612777201], [2.857142857142857, 0.28062939951435684], [3.0612244897959187, 0.0802816748428135], [3.2653061224489797, -0.12339813736217871], [3.4693877551020407, -0.3219563150726187], [3.673469387755102, -0.5071517094845144], [3.8775510204081636, -0.6712977935519321], [4.081632653061225, -0.8075816909683364], [4.285714285714286, -0.9103469443107828], [4.4897959183673475, -0.9753282860670456], [4.6938775510204085, -0.9998286683840896], [4.8979591836734695, -0.9828312039256306], [5.1020408163265305, -0.9250413717382029], [5.3061224489795915, -0.8288577363730427], [5.510204081632653, -0.6982723955653996], [5.714285714285714, -0.5387052883861563], [5.918367346938775, -0.35677924089893803], [6.122448979591837, -0.16004508604325057], [6.326530612244898, 0.04333173336868346], [6.530612244897959, 0.2449100710119793], [6.73469387755102, 0.4363234264718193], [6.938775510204081, 0.6096271964908323], [7.142857142857143, 0.7576284153927202], [7.346938775510204, 0.8741842988197335], [7.551020408163265, 0.9544571997387519], [7.755102040816327, 0.9951153947776636], [7.959183673469388, 0.9944713672636168], [8.16326530612245, 0.9525518475314604], [8.36734693877551, 0.8710967034823207], [8.571428571428571, 0.7534867274396376], [8.775510204081632, 0.6046033165061543], [8.979591836734695, 0.43062587038273736], [9.183673469387756, 0.23877531564403087], [9.387755102040817, 0.03701440148506237], [9.591836734693878, -0.1662827938487564], [9.795918367346939, -0.3626784288265488], [10.0, -0.5440211108893699]]\");\n",
936 " var line = JSON.parse(\"[[0.0, 0.0], [0.20408163265306123, 0.20266793654820095], [0.40816326530612246, 0.39692414892492234], [0.6122448979591837, 0.5747060412161791], [0.8163265306122449, 0.7286347834693503], [1.0204081632653061, 0.8523215697196184], [1.2244897959183674, 0.9406327851124867], [1.4285714285714286, 0.9899030763721239], [1.6326530612244898, 0.9980874821347183], [1.836734693877551, 0.9648463089837632], [2.0408163265306123, 0.8915592304110037], [2.2448979591836737, 0.7812680235262639], [2.4489795918367347, 0.6385503202266021], [2.6530612244897958, 0.469329612777201], [2.857142857142857, 0.28062939951435684], [3.0612244897959187, 0.0802816748428135], [3.2653061224489797, -0.12339813736217871], [3.4693877551020407, -0.3219563150726187], [3.673469387755102, -0.5071517094845144], [3.8775510204081636, -0.6712977935519321], [4.081632653061225, -0.8075816909683364], [4.285714285714286, -0.9103469443107828], [4.4897959183673475, -0.9753282860670456], [4.6938775510204085, -0.9998286683840896], [4.8979591836734695, -0.9828312039256306], [5.1020408163265305, -0.9250413717382029], [5.3061224489795915, -0.8288577363730427], [5.510204081632653, -0.6982723955653996], [5.714285714285714, -0.5387052883861563], [5.918367346938775, -0.35677924089893803], [6.122448979591837, -0.16004508604325057], [6.326530612244898, 0.04333173336868346], [6.530612244897959, 0.2449100710119793], [6.73469387755102, 0.4363234264718193], [6.938775510204081, 0.6096271964908323], [7.142857142857143, 0.7576284153927202], [7.346938775510204, 0.8741842988197335], [7.551020408163265, 0.9544571997387519], [7.755102040816327, 0.9951153947776636], [7.959183673469388, 0.9944713672636168], [8.16326530612245, 0.9525518475314604], [8.36734693877551, 0.8710967034823207], [8.571428571428571, 0.7534867274396376], [8.775510204081632, 0.6046033165061543], [8.979591836734695, 0.43062587038273736], [9.183673469387756, 0.23877531564403087], [9.387755102040817, 0.03701440148506237], [9.591836734693878, -0.1662827938487564], [9.795918367346939, -0.3626784288265488], [10.0, -0.5440211108893699]]\");\n",
937 " console.log(line);\n",
937 " console.log(line);\n",
938 " $.plot(\"#c6929609-3cb6-4443-9574-d9f71791a987\", [line]);\n",
938 " $.plot(\"#c6929609-3cb6-4443-9574-d9f71791a987\", [line]);\n",
939 " });\n",
939 " });\n",
940 " "
940 " "
941 ]
941 ]
942 },
942 },
943 "metadata": {},
943 "metadata": {},
944 "output_type": "display_data"
944 "output_type": "display_data"
945 }
945 }
946 ],
946 ],
947 "source": [
947 "source": [
948 "import numpy as np\n",
948 "import numpy as np\n",
949 "x = np.linspace(0,10)\n",
949 "x = np.linspace(0,10)\n",
950 "y = np.sin(x)\n",
950 "y = np.sin(x)\n",
951 "FlotPlot(x, np.sin(x))"
951 "FlotPlot(x, np.sin(x))"
952 ]
952 ]
953 }
953 }
954 ],
954 ],
955 "metadata": {
955 "metadata": {
956 "kernelspec": {
956 "kernelspec": {
957 "display_name": "Python 3",
957 "display_name": "Python 3",
958 "language": "python",
958 "language": "python",
959 "name": "python3"
959 "name": "python3"
960 },
960 },
961 "language_info": {
961 "language_info": {
962 "codemirror_mode": {
962 "codemirror_mode": {
963 "name": "ipython",
963 "name": "ipython",
964 "version": 3
964 "version": 3
965 },
965 },
966 "file_extension": ".py",
966 "file_extension": ".py",
967 "mimetype": "text/x-python",
967 "mimetype": "text/x-python",
968 "name": "python",
968 "name": "python",
969 "nbconvert_exporter": "python",
969 "nbconvert_exporter": "python",
970 "pygments_lexer": "ipython3",
970 "pygments_lexer": "ipython3",
971 "version": "3.6.0"
971 "version": "3.6.0"
972 }
972 }
973 },
973 },
974 "nbformat": 4,
974 "nbformat": 4,
975 "nbformat_minor": 1
975 "nbformat_minor": 1
976 }
976 }
1 NO CONTENT: modified file
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