##// END OF EJS Templates
some completer release note
Matthias BUSSONNIER -
Show More
@@ -1,70 +1,89 b''
1 =====================
1 =====================
2 Development version
2 Development version
3 =====================
3 =====================
4
4
5 This document describes in-flight development work.
5 This document describes in-flight development work.
6
6
7 Redesigned IPython notebook user interface
7 Redesigned IPython notebook user interface
8 ------------------------------------------
8 ------------------------------------------
9
9
10 (Add description & screenshots of the many changes to the notebook)
10 (Add description & screenshots of the many changes to the notebook)
11
11
12 Cell magics
12 Cell magics
13 -----------
13 -----------
14
14
15 IPython's ``%magic`` functions have been extended to let you change the meaning
15 IPython's ``%magic`` functions have been extended to let you change the meaning
16 of a whole cell using the first line. For example, to time the execution of
16 of a whole cell using the first line. For example, to time the execution of
17 several statements::
17 several statements::
18
18
19 %%timeit x = 0 # setup
19 %%timeit x = 0 # setup
20 for i in range(100000):
20 for i in range(100000):
21 x += i**2
21 x += i**2
22
22
23 This is particularly useful to integrate code in another language, and cell
23 This is particularly useful to integrate code in another language, and cell
24 magics already exist for shell scripts, Cython, R and Octave. Using ``%%script
24 magics already exist for shell scripts, Cython, R and Octave. Using ``%%script
25 /usr/bin/foo``, you can run a cell in any interpreter that accepts code via
25 /usr/bin/foo``, you can run a cell in any interpreter that accepts code via
26 stdin.
26 stdin.
27
27
28 Another handy cell magic makes it easy to write short text files: ``%%file
28 Another handy cell magic makes it easy to write short text files: ``%%file
29 ~/save/to/here.txt``.
29 ~/save/to/here.txt``.
30
30
31 To allow these features, the API for magic functions has been refactored and
31 To allow these features, the API for magic functions has been refactored and
32 made more powerful (:ghpull:`1732`).
32 made more powerful (:ghpull:`1732`).
33
33
34 Interactive tab completion for the Qt console
34 Interactive tab completion for the Qt console
35 ---------------------------------------------
35 ---------------------------------------------
36
36
37 (Add description & screenshots) (:ghpull:`1851`)
37 (Add description & screenshots) (:ghpull:`1851`)
38
38
39
40 Completer improvement
41 ---------------------
42
43 One of the great feature of IPython is the ability to inspect live element and
44 provide useful completion to the user, this one base of interactive
45 exploration of data. To make this process even more user-friendly the completers
46 of both the QTconsole and the Notebook has been reworked.
47
48 The Qtconsole --gui-completion flag came with a new `ncurses` flavor, activated
49 by default, which allows to cycle through the available completion by pressing
50 tab, and to navigate the with the arrow keys.(:ghpull:`1851`)
51
52 As part of the great refactoring of the notebook's JavaScript, the completer
53 has been partially rewritten. Completions are now sourced both from object
54 introspection and analyse of surrounding code, allowing to get a even limited
55 completion on code not executed, or even while the kernel is busy.
56
57
39 Other new features
58 Other new features
40 ------------------
59 ------------------
41
60
42 * **%install_ext**: A new magic function to install an IPython extension from
61 * **%install_ext**: A new magic function to install an IPython extension from
43 a URL. E.g. ``%install_ext
62 a URL. E.g. ``%install_ext
44 https://bitbucket.org/birkenfeld/ipython-physics/raw/default/physics.py``.
63 https://bitbucket.org/birkenfeld/ipython-physics/raw/default/physics.py``.
45
64
46 * The ``%loadpy`` magic is no longer restricted to Python files, and has been
65 * The ``%loadpy`` magic is no longer restricted to Python files, and has been
47 renamed ``%load``. The old name remains as an alias.
66 renamed ``%load``. The old name remains as an alias.
48
67
49 * New command line arguments will help external programs find IPython folders:
68 * New command line arguments will help external programs find IPython folders:
50 ``ipython locate`` finds the user's IPython directory, and ``ipython locate
69 ``ipython locate`` finds the user's IPython directory, and ``ipython locate
51 profile foo`` finds the folder for the 'foo' profile (if it exists).
70 profile foo`` finds the folder for the 'foo' profile (if it exists).
52
71
53 * The :envvar:`IPYTHON_DIR` environment variable, introduced in the Great
72 * The :envvar:`IPYTHON_DIR` environment variable, introduced in the Great
54 Reorganization of 0.11 and existing only in versions 0.11-0.13, has been
73 Reorganization of 0.11 and existing only in versions 0.11-0.13, has been
55 deprecated. As described in :ghissue:`1167`, the complexity and confusion of
74 deprecated. As described in :ghissue:`1167`, the complexity and confusion of
56 migrating to this variable is not worth the aesthetic improvement. Please use
75 migrating to this variable is not worth the aesthetic improvement. Please use
57 the historical :envvar:`IPYTHONDIR` environment variable instead.
76 the historical :envvar:`IPYTHONDIR` environment variable instead.
58
77
59 * The default value of *interactivity* passed from
78 * The default value of *interactivity* passed from
60 :meth:`~IPython.core.interactiveshell.InteractiveShell.run_cell` to
79 :meth:`~IPython.core.interactiveshell.InteractiveShell.run_cell` to
61 :meth:`~IPython.core.interactiveshell.InteractiveShell.run_ast_nodes`
80 :meth:`~IPython.core.interactiveshell.InteractiveShell.run_ast_nodes`
62 is now configurable.
81 is now configurable.
63
82
64 Backwards incompatible changes
83 Backwards incompatible changes
65 ------------------------------
84 ------------------------------
66
85
67 * The exception :exc:`IPython.core.error.TryNext` previously accepted
86 * The exception :exc:`IPython.core.error.TryNext` previously accepted
68 arguments and keyword arguments to be passed to the next implementation
87 arguments and keyword arguments to be passed to the next implementation
69 of the hook. This feature was removed as it made error message propagation
88 of the hook. This feature was removed as it made error message propagation
70 difficult and violated the principle of loose coupling.
89 difficult and violated the principle of loose coupling.
General Comments 0
You need to be logged in to leave comments. Login now