Show More
@@ -13,7 +13,7 b' authors comprising over 1740 commits.' | |||||
13 |
|
13 | |||
14 | The amount of work included in this release is so large, that we can only cover |
|
14 | The amount of work included in this release is so large, that we can only cover | |
15 | here the main highlights; please see our :ref:`detailed release statistics |
|
15 | here the main highlights; please see our :ref:`detailed release statistics | |
16 |
<issues_list_013>` for links to every issue and pull request closed on |
|
16 | <issues_list_013>` for links to every issue and pull request closed on GitHub. | |
17 |
|
17 | |||
18 |
|
18 | |||
19 | Major Notebook improvements: new user interface and more |
|
19 | Major Notebook improvements: new user interface and more | |
@@ -29,7 +29,7 b' toolbar with icons. Both the toolbar and the header above the menu can be' | |||||
29 | collapsed to leave an unobstructed working area: |
|
29 | collapsed to leave an unobstructed working area: | |
30 |
|
30 | |||
31 | .. image:: ../_static/ipy_013_notebook_spectrogram.png |
|
31 | .. image:: ../_static/ipy_013_notebook_spectrogram.png | |
32 |
:width: 4 |
|
32 | :width: 460px | |
33 | :alt: New user interface for Notebook |
|
33 | :alt: New user interface for Notebook | |
34 | :align: center |
|
34 | :align: center | |
35 | :target: ../_static/ipy_013_notebook_spectrogram.png |
|
35 | :target: ../_static/ipy_013_notebook_spectrogram.png | |
@@ -43,7 +43,7 b' output region completely, and a double-click will hide it completely. This' | |||||
43 | figure shows both the scrolled and hidden modes: |
|
43 | figure shows both the scrolled and hidden modes: | |
44 |
|
44 | |||
45 | .. image:: ../_static/ipy_013_notebook_long_out.png |
|
45 | .. image:: ../_static/ipy_013_notebook_long_out.png | |
46 |
:width: 4 |
|
46 | :width: 460px | |
47 | :alt: Scrolling and hiding of long output in the notebook. |
|
47 | :alt: Scrolling and hiding of long output in the notebook. | |
48 | :align: center |
|
48 | :align: center | |
49 | :target: ../_static/ipy_013_notebook_long_out.png |
|
49 | :target: ../_static/ipy_013_notebook_long_out.png | |
@@ -60,7 +60,7 b' notebook dashboard now auto-refreshes its contents and offers buttons to shut' | |||||
60 | down any running kernels (:ghpull:`1739`): |
|
60 | down any running kernels (:ghpull:`1739`): | |
61 |
|
61 | |||
62 | .. image:: ../_static/ipy_013_dashboard.png |
|
62 | .. image:: ../_static/ipy_013_dashboard.png | |
63 |
:width: 4 |
|
63 | :width: 460px | |
64 | :alt: Improved dashboard |
|
64 | :alt: Improved dashboard | |
65 | :align: center |
|
65 | :align: center | |
66 | :target: ../_static/ipy_013_dashboard.png |
|
66 | :target: ../_static/ipy_013_dashboard.png | |
@@ -74,7 +74,7 b' override the number of engines started. There is a new tab in the dashboard' | |||||
74 | user interface: |
|
74 | user interface: | |
75 |
|
75 | |||
76 | .. image:: ../_static/ipy_013_dashboard_cluster.png |
|
76 | .. image:: ../_static/ipy_013_dashboard_cluster.png | |
77 |
:width: 4 |
|
77 | :width: 460px | |
78 | :alt: Cluster management from the notebook dashboard |
|
78 | :alt: Cluster management from the notebook dashboard | |
79 | :align: center |
|
79 | :align: center | |
80 | :target: ../_static/ipy_013_dashboard_cluster.png |
|
80 | :target: ../_static/ipy_013_dashboard_cluster.png | |
@@ -101,7 +101,7 b' can merge it for full production use as soon as possible.' | |||||
101 | .. note:: |
|
101 | .. note:: | |
102 |
|
102 | |||
103 | v3 notebooks can *not* be read by older versions of IPython, but we provide |
|
103 | v3 notebooks can *not* be read by older versions of IPython, but we provide | |
104 |
a `simple script`_ |
|
104 | a `simple script`_ that you can use in case you need to export a v3 | |
105 | notebook to share with a v2 user. |
|
105 | notebook to share with a v2 user. | |
106 |
|
106 | |||
107 | .. _simple script: https://gist.github.com/1935808 |
|
107 | .. _simple script: https://gist.github.com/1935808 | |
@@ -122,7 +122,7 b' to the user, with callbacks in Javascript executing calls to the Kernel. This' | |||||
122 | will enable many interactive elements to be added by users in notebooks. |
|
122 | will enable many interactive elements to be added by users in notebooks. | |
123 |
|
123 | |||
124 | An example of this capability has been provided as a proof of concept in |
|
124 | An example of this capability has been provided as a proof of concept in | |
125 | `docs/examples/widgets` that lets you directly communicate with one or more |
|
125 | :file:`docs/examples/widgets` that lets you directly communicate with one or more | |
126 | parallel engines, acting as a mini-console for parallel debugging and |
|
126 | parallel engines, acting as a mini-console for parallel debugging and | |
127 | introspection. |
|
127 | introspection. | |
128 |
|
128 | |||
@@ -137,7 +137,7 b' bottom of the screen. For the details, look at the example notebook' | |||||
137 | :file:`01_notebook_introduction.ipynb`. |
|
137 | :file:`01_notebook_introduction.ipynb`. | |
138 |
|
138 | |||
139 | .. figure:: ../_static/ipy_013_notebook_tooltip.png |
|
139 | .. figure:: ../_static/ipy_013_notebook_tooltip.png | |
140 |
:width: 4 |
|
140 | :width: 460px | |
141 | :alt: Improved tooltips in the notebook. |
|
141 | :alt: Improved tooltips in the notebook. | |
142 | :align: center |
|
142 | :align: center | |
143 | :target: ../_static/ipy_013_notebook_tooltip.png |
|
143 | :target: ../_static/ipy_013_notebook_tooltip.png | |
@@ -183,7 +183,7 b' Other improvements to the Notebook' | |||||
183 | than providing the fairly useless browser html save dialog. :ghpull:`1334`. |
|
183 | than providing the fairly useless browser html save dialog. :ghpull:`1334`. | |
184 |
|
184 | |||
185 | * Allow accessing local files from the notebook (in urls), by serving any local |
|
185 | * Allow accessing local files from the notebook (in urls), by serving any local | |
186 | file as the url ``files/<relativepath``. This makes it possible to, for |
|
186 | file as the url ``files/<relativepath>``. This makes it possible to, for | |
187 | example, embed local images in a notebook. :ghpull:`1211`. |
|
187 | example, embed local images in a notebook. :ghpull:`1211`. | |
188 |
|
188 | |||
189 |
|
189 | |||
@@ -257,14 +257,14 b' interpreter installed):' | |||||
257 | * ``%%sx``: capture cell output running the code with the system shell (cell |
|
257 | * ``%%sx``: capture cell output running the code with the system shell (cell | |
258 | extension of ``%sx``). |
|
258 | extension of ``%sx``). | |
259 |
|
259 | |||
260 |
* ``%%system``: run cell with system shell ( |
|
260 | * ``%%system``: run cell with system shell (``%%!`` is an alias to this). | |
261 |
|
261 | |||
262 | * ``%%timeit``: time the execution of the cell (extension of ``%timeit``). |
|
262 | * ``%%timeit``: time the execution of the cell (extension of ``%timeit``). | |
263 |
|
263 | |||
264 | This is what some of the script-related magics look like in action: |
|
264 | This is what some of the script-related magics look like in action: | |
265 |
|
265 | |||
266 | .. image:: ../_static/ipy_013_notebook_script_cells.png |
|
266 | .. image:: ../_static/ipy_013_notebook_script_cells.png | |
267 |
:width: 4 |
|
267 | :width: 460px | |
268 | :alt: Cluster management from the notebook dashboard |
|
268 | :alt: Cluster management from the notebook dashboard | |
269 | :align: center |
|
269 | :align: center | |
270 | :target: ../_static/ipy_013_notebook_script_cells.png |
|
270 | :target: ../_static/ipy_013_notebook_script_cells.png | |
@@ -289,7 +289,7 b' default, which lets you cycle through the available completions by pressing tab,' | |||||
289 | or select a completion with the arrow keys (:ghpull:`1851`). |
|
289 | or select a completion with the arrow keys (:ghpull:`1851`). | |
290 |
|
290 | |||
291 | .. figure:: ../_static/ipy_013_qtconsole_completer.png |
|
291 | .. figure:: ../_static/ipy_013_qtconsole_completer.png | |
292 |
:width: 4 |
|
292 | :width: 460px | |
293 | :alt: ncurses-like completer, with highlighted selection. |
|
293 | :alt: ncurses-like completer, with highlighted selection. | |
294 | :align: center |
|
294 | :align: center | |
295 | :target: ../_static/ipy_013_qtconsole_completer.png |
|
295 | :target: ../_static/ipy_013_qtconsole_completer.png | |
@@ -306,7 +306,7 b' variables defined in the current cell, or while the kernel is busy' | |||||
306 | We have implemented a new configurable flag to control tab completion on |
|
306 | We have implemented a new configurable flag to control tab completion on | |
307 | modules that provide the ``__all__`` attribute:: |
|
307 | modules that provide the ``__all__`` attribute:: | |
308 |
|
308 | |||
309 |
IPCompleter.limit_to__all__= Boolean |
|
309 | IPCompleter.limit_to__all__= Boolean | |
310 |
|
310 | |||
311 | This instructs the completer to honor ``__all__`` for the completion. |
|
311 | This instructs the completer to honor ``__all__`` for the completion. | |
312 | Specifically, when completing on ``object.<tab>``, if True: only those names |
|
312 | Specifically, when completing on ``object.<tab>``, if True: only those names | |
@@ -319,8 +319,6 b' Improvements to the Qt console' | |||||
319 |
|
319 | |||
320 | * changes for easier integration into other projects such as Spyder_. |
|
320 | * changes for easier integration into other projects such as Spyder_. | |
321 |
|
321 | |||
322 | .. _spyder: https://code.google.com/p/spyderlib |
|
|||
323 |
|
||||
324 | * Improved menus with a new Magic menu that is organized by magic groups (this |
|
322 | * Improved menus with a new Magic menu that is organized by magic groups (this | |
325 | was made possible by the reorganization of the magic system |
|
323 | was made possible by the reorganization of the magic system | |
326 | internals). :ghpull:`1782`. |
|
324 | internals). :ghpull:`1782`. | |
@@ -330,6 +328,9 b' Improvements to the Qt console' | |||||
330 |
|
328 | |||
331 | * Allow the native display of jpeg image in the qtconsole. :ghpull:`1643`. |
|
329 | * Allow the native display of jpeg image in the qtconsole. :ghpull:`1643`. | |
332 |
|
330 | |||
|
331 | .. _spyder: https://code.google.com/p/spyderlib | |||
|
332 | ||||
|
333 | ||||
333 |
|
334 | |||
334 | Parallel |
|
335 | Parallel | |
335 | -------- |
|
336 | -------- | |
@@ -337,7 +338,7 b' Parallel' | |||||
337 | The parallel tools have been improved and fine-tuned on multiple fronts. Now, |
|
338 | The parallel tools have been improved and fine-tuned on multiple fronts. Now, | |
338 | the creation of an :class:`IPython.parallel.Client` object automatically |
|
339 | the creation of an :class:`IPython.parallel.Client` object automatically | |
339 | activates a line and cell magic function ``px`` that sends its code to all the |
|
340 | activates a line and cell magic function ``px`` that sends its code to all the | |
340 | engines. Further magics can be easily created with the :meth:`Client.activate` |
|
341 | engines. Further magics can be easily created with the :meth:`.Client.activate` | |
341 | method, to conveniently execute code on any subset of engines. :ghpull:`1893`. |
|
342 | method, to conveniently execute code on any subset of engines. :ghpull:`1893`. | |
342 |
|
343 | |||
343 | The ``%%px`` cell magic can also be given an optional targets argument, as well |
|
344 | The ``%%px`` cell magic can also be given an optional targets argument, as well | |
@@ -351,7 +352,7 b' read. Now, IPython directly reports the remote exceptions without showing any' | |||||
351 | of the internal execution parts: |
|
352 | of the internal execution parts: | |
352 |
|
353 | |||
353 | .. image:: ../_static/ipy_013_par_tb.png |
|
354 | .. image:: ../_static/ipy_013_par_tb.png | |
354 |
:width: 4 |
|
355 | :width: 460px | |
355 | :alt: Improved parallel exceptions. |
|
356 | :alt: Improved parallel exceptions. | |
356 | :align: center |
|
357 | :align: center | |
357 | :target: ../_static/ipy_013_par_tb.png |
|
358 | :target: ../_static/ipy_013_par_tb.png | |
@@ -392,7 +393,7 b' Add sugar methods/properties to AsyncResult that are generically useful' | |||||
392 | * ``len(ar)`` = # of tasks |
|
393 | * ``len(ar)`` = # of tasks | |
393 | * ``ar.wait_interactive()``: prints progress |
|
394 | * ``ar.wait_interactive()``: prints progress | |
394 |
|
395 | |||
395 |
Added |
|
396 | Added :meth:`.Client.spin_thread` / :meth:`~.Client.stop_spin_thread` for running | |
396 | spin in a background thread, to keep zmq queue clear. This can be used to |
|
397 | spin in a background thread, to keep zmq queue clear. This can be used to | |
397 | ensure that timing information is as accurate as possible (at the cost of |
|
398 | ensure that timing information is as accurate as possible (at the cost of | |
398 | having a background thread active). |
|
399 | having a background thread active). | |
@@ -402,17 +403,22 b' predictable/intuitive behavior, if often slower, and thus a more logical' | |||||
402 | default. Users whose workloads require maximum throughput and are largely |
|
403 | default. Users whose workloads require maximum throughput and are largely | |
403 | homogeneous in time per task can make the optimization themselves, but now the |
|
404 | homogeneous in time per task can make the optimization themselves, but now the | |
404 | behavior will be less surprising to new users. :ghpull:`1294`. |
|
405 | behavior will be less surprising to new users. :ghpull:`1294`. | |
405 |
|
406 | |||
406 |
|
407 | |||
407 | Kernel/Engine unification |
|
408 | Kernel/Engine unification | |
408 | ------------------------- |
|
409 | ------------------------- | |
409 |
|
410 | |||
410 | :func:`IPython.parallel.bind_kernel` |
|
411 | :ghpull:`1640` | |
411 |
|
412 | |||
412 | Add IPython.embed_kernel() as a public API. |
|
413 | Add :func:`IPython.embed_kernel()` as a public API. | |
413 | Embedding an IPython kernel in an application is useful when you want to use |
|
414 | Embedding an IPython kernel in an application is useful when you want to use | |
414 |
IPython.embed() but don't have a terminal attached on stdin and stdout. |
|
415 | IPython.embed() but don't have a terminal attached on stdin and stdout. | |
|
416 | ||||
|
417 | :func:`IPython.parallel.bind_kernel` allows you to promote Engines to listening Kernels, | |||
|
418 | and connect QtConsoles directly to an Engine and debug it directly. | |||
415 |
|
419 | |||
|
420 | This also means that Engines are now fully IPython, allowing access to magics, | |||
|
421 | etc. in your parallel execution. | |||
416 |
|
422 | |||
417 |
|
423 | |||
418 | Official Public API |
|
424 | Official Public API |
General Comments 0
You need to be logged in to leave comments.
Login now