Show More
|
1 | NO CONTENT: new file 100644, binary diff hidden |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -1,92 +1,99 b'' | |||
|
1 | 1 | ===================== |
|
2 | 2 | Development version |
|
3 | 3 | ===================== |
|
4 | 4 | |
|
5 | 5 | This document describes in-flight development work. |
|
6 | 6 | |
|
7 | 7 | Redesigned IPython notebook user interface |
|
8 | 8 | ------------------------------------------ |
|
9 | 9 | |
|
10 | 10 | (Add description & screenshots of the many changes to the notebook) |
|
11 | 11 | |
|
12 | 12 | Improved tooltips |
|
13 | 13 | ~~~~~~~~~~~~~~~~~ |
|
14 | 14 | |
|
15 | 15 | The object tooltips have gained some new functionality. By pressing tab several |
|
16 | 16 | times, you can expand them to see more of a docstring, keep them visible as you |
|
17 | 17 | fill in a function's parameters, or transfer the information to the pager at the |
|
18 | 18 | bottom of the screen. For the details, look at the example notebook |
|
19 | 19 | :file:`01_notebook_introduction.ipynb`. |
|
20 | 20 | |
|
21 | 21 | Cell magics |
|
22 | 22 | ----------- |
|
23 | 23 | |
|
24 | 24 | IPython's ``%magic`` functions have been extended to let you change the meaning |
|
25 | 25 | of a whole cell using the first line. For example, to time the execution of |
|
26 | 26 | several statements:: |
|
27 | 27 | |
|
28 | 28 | %%timeit x = 0 # setup |
|
29 | 29 | for i in range(100000): |
|
30 | 30 | x += i**2 |
|
31 | 31 | |
|
32 | 32 | This is particularly useful to integrate code in another language, and cell |
|
33 | 33 | magics already exist for shell scripts, Cython, R and Octave. Using ``%%script |
|
34 | 34 | /usr/bin/foo``, you can run a cell in any interpreter that accepts code via |
|
35 | 35 | stdin. |
|
36 | 36 | |
|
37 | 37 | Another handy cell magic makes it easy to write short text files: ``%%file |
|
38 | 38 | ~/save/to/here.txt``. |
|
39 | 39 | |
|
40 | 40 | To allow these features, the API for magic functions has been refactored and |
|
41 | 41 | made more powerful (:ghpull:`1732`). |
|
42 | 42 | |
|
43 | 43 | Tab completer improvements |
|
44 | 44 | -------------------------- |
|
45 | 45 | |
|
46 | 46 | Useful tab-completion based on live inspection of objects is one of the most |
|
47 | 47 | popular features of IPython. To make this process even more user-friendly, the |
|
48 | 48 | completers of both the Qt console and the Notebook have been reworked. |
|
49 | 49 | |
|
50 | 50 | The Qt console comes with a new ncurses-like tab completer, activated by |
|
51 | 51 | default, which lets you cycle through the available completions by pressing tab, |
|
52 | 52 | or select a completion with the arrow keys (:ghpull:`1851`). |
|
53 | 53 | |
|
54 | (Screenshot?) | |
|
54 | .. figure:: ../_static/ipy_o13_qtconsole_completer.png | |
|
55 | :width: 400px | |
|
56 | :alt: ncurses-like completer, with highlighted selection. | |
|
57 | :align: center | |
|
58 | :target: ../_static/ipy_o13_qtconsole_completer.png | |
|
59 | ||
|
60 | The new improved Qt console's ncurses-like completer allows to easily | |
|
61 | navigate thought long list of completions. | |
|
55 | 62 | |
|
56 | 63 | In the notebook, completions are now sourced both from object introspection and |
|
57 | 64 | analysis of surrounding code, so limited completions can be offered for |
|
58 | 65 | variables defined in the current cell, or while the kernel is busy |
|
59 | 66 | (:ghpull:`1711`). |
|
60 | 67 | |
|
61 | 68 | Other new features |
|
62 | 69 | ------------------ |
|
63 | 70 | |
|
64 | 71 | * **%install_ext**: A new magic function to install an IPython extension from |
|
65 | 72 | a URL. E.g. ``%install_ext |
|
66 | 73 | https://bitbucket.org/birkenfeld/ipython-physics/raw/default/physics.py``. |
|
67 | 74 | |
|
68 | 75 | * The ``%loadpy`` magic is no longer restricted to Python files, and has been |
|
69 | 76 | renamed ``%load``. The old name remains as an alias. |
|
70 | 77 | |
|
71 | 78 | * New command line arguments will help external programs find IPython folders: |
|
72 | 79 | ``ipython locate`` finds the user's IPython directory, and ``ipython locate |
|
73 | 80 | profile foo`` finds the folder for the 'foo' profile (if it exists). |
|
74 | 81 | |
|
75 | 82 | * The :envvar:`IPYTHON_DIR` environment variable, introduced in the Great |
|
76 | 83 | Reorganization of 0.11 and existing only in versions 0.11-0.13, has been |
|
77 | 84 | deprecated. As described in :ghissue:`1167`, the complexity and confusion of |
|
78 | 85 | migrating to this variable is not worth the aesthetic improvement. Please use |
|
79 | 86 | the historical :envvar:`IPYTHONDIR` environment variable instead. |
|
80 | 87 | |
|
81 | 88 | * The default value of *interactivity* passed from |
|
82 | 89 | :meth:`~IPython.core.interactiveshell.InteractiveShell.run_cell` to |
|
83 | 90 | :meth:`~IPython.core.interactiveshell.InteractiveShell.run_ast_nodes` |
|
84 | 91 | is now configurable. |
|
85 | 92 | |
|
86 | 93 | Backwards incompatible changes |
|
87 | 94 | ------------------------------ |
|
88 | 95 | |
|
89 | 96 | * The exception :exc:`IPython.core.error.TryNext` previously accepted |
|
90 | 97 | arguments and keyword arguments to be passed to the next implementation |
|
91 | 98 | of the hook. This feature was removed as it made error message propagation |
|
92 | 99 | difficult and violated the principle of loose coupling. |
General Comments 0
You need to be logged in to leave comments.
Login now