##// END OF EJS Templates
remove duplicate WatsNew from bad rebase
Matthias Bussonnier -
Show More
@@ -3,9 +3,9 b' language: python'
3 3 python:
4 4 - "nightly"
5 5 - "3.7-dev"
6 - 3.7
6 7 - 3.6
7 8 - 3.5
8 - 3.4
9 9 sudo: false
10 10 env:
11 11 global:
@@ -27,12 +27,12 b' import sys'
27 27 #-----------------------------------------------------------------------------
28 28
29 29 # Don't forget to also update setup.py when this changes!
30 if sys.version_info < (3,4):
30 if sys.version_info < (3, 5):
31 31 raise ImportError(
32 32 """
33 IPython 7.0+ supports Python 3.4 and above.
33 IPython 7.0+ supports Python 3.5 and above.
34 34 When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
35 Python 3.3 was supported up to IPython 6.x.
35 Python 3.3 and 3.4 were supported up to IPython 6.x.
36 36
37 37 See IPython `README.rst` file for more information:
38 38
@@ -34,112 +34,6 b' You should be able to update by using:'
34 34
35 35 pip install ipython --upgrade
36 36
37 New completion API and Interface
38 --------------------------------
39
40 The completer Completion API has seen an overhaul, and the new completer have
41 plenty of improvement both from the end users of terminal IPython or for
42 consumers of the API.
43
44 This new API is capable of pulling completions from :any:`jedi`, thus allowing
45 type inference on non-executed code. If :any:`jedi` is installed completion like
46 the following are now becoming possible without code evaluation:
47
48 >>> data = ['Number of users', 123_456]
49 ... data[0].<tab>
50
51 That is to say, IPython is now capable of inferring that `data[0]` is a string,
52 and will suggest completions like `.capitalize`. The completion power of IPython
53 will increase with new Jedi releases, and a number of bugs and more completions
54 are already available on development version of :any:`jedi` if you are curious.
55
56 With the help of prompt toolkit, types of completions can be shown in the
57 completer interface:
58
59 .. image:: ../_images/jedi_type_inference_60.png
60 :alt: Jedi showing ability to do type inference
61 :align: center
62 :width: 400px
63 :target: ../_images/jedi_type_inference_60.png
64
65 The appearance of the completer is controlled by the
66 ``c.TerminalInteractiveShell.display_completions`` option that will show the
67 type differently depending on the value among ``'column'``, ``'multicolumn'``
68 and ``'readlinelike'``
69
70 The use of Jedi also full fill a number of request and fix a number of bugs
71 like case insensitive completion, completion after division operator: See
72 :ghpull:`10182`.
73
74 Extra patches and updates will be needed to the :mod:`ipykernel` package for
75 this feature to be available to other clients like jupyter Notebook, Lab,
76 Nteract, Hydrogen...
77
78 The use of Jedi can is barely noticeable on recent enough machines, but can be
79 feel on older ones, in cases were Jedi behavior need to be adjusted, the amount
80 of time given to Jedi to compute type inference can be adjusted with
81 ``c.IPCompleter.jedi_compute_type_timeout``, with object whose type were not
82 inferred will be shown as ``<unknown>``. Jedi can also be completely deactivated
83 by using the ``c.Completer.use_jedi=False`` option.
84
85
86 The old ``Completer.complete()`` API is waiting deprecation and should be
87 replaced replaced by ``Completer.completions()`` in a near future. Feedback on
88 the current state of the API and suggestions welcome.
89
90 Python 3 only codebase
91 ----------------------
92
93 One of the large challenges in IPython 6.0 has been the adoption of a pure
94 Python 3 code base, which lead us to great length to upstream patches in pip,
95 pypi and warehouse to make sure Python 2 system still upgrade to the latest
96 compatible Python version compatible.
97
98 We remind our Python 2 users that IPython 5 is still compatible with Python 2.7,
99 still maintained and get regular releases. Using pip 9+, upgrading IPython will
100 automatically upgrade to the latest version compatible with your system.
101
102 .. warning::
103
104 If you are on a system using an older verison of pip on Python 2, pip may
105 still install IPython 6.0 on your system, and IPython will refuse to start.
106 You can fix this by ugrading pip, and reinstalling ipython, or forcing pip to
107 install an earlier version: ``pip install 'ipython<6'``
108
109 The ability to use only Python 3 on the code base of IPython has bring a number
110 of advantage. Most of the newly written code make use of `optional function type
111 anotation <https://www.python.org/dev/peps/pep-0484/>`_ leading to clearer code
112 and better documentation.
113
114 The total size of the repository has also for a first time between releases
115 (excluding the big split for 4.0) decreased by about 1500 lines, potentially
116 quite a bit more codewide as some documents like this one are append only and
117 are about 300 lines long.
118
119 The removal as of Python2/Python3 shim layer has made the code quite clearer and
120 more idiomatic in a number of location, and much friendlier to work with and
121 understand. We hope to further embrace Python 3 capability in the next release
122 cycle and introduce more of the Python 3 only idioms (yield from, kwarg only,
123 general unpacking) in the code base of IPython, and see if we can take advantage
124 of these as well to improve user experience with better error messages and
125 hints.
126
127
128 Miscs improvements
129 ------------------
130
131
132 - The :cellmagic:`capture` magic can now capture the result of a cell (from an
133 expression on the last line), as well as printed and displayed output.
134 :ghpull:`9851`.
135
136 - Pressing Ctrl-Z in the terminal debugger now suspends IPython, as it already
137 does in the main terminal prompt.
138
139 - autoreload can now reload ``Enum``. See :ghissue:`10232` and :ghpull:`10316`
140
141 - IPython.display has gained a :any:`GeoJSON <IPython.display.GeoJSON>` object.
142 :ghpull:`10288` and :ghpull:`10253`
143 37
144 38 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
145 39
@@ -26,7 +26,7 b' import sys'
26 26 #
27 27 # This check is also made in IPython/__init__, don't forget to update both when
28 28 # changing Python version requirements.
29 if sys.version_info < (3, 4):
29 if sys.version_info < (3, 5):
30 30 pip_message = 'This may be due to an out of date pip. Make sure you have pip >= 9.0.1.'
31 31 try:
32 32 import pip
@@ -42,9 +42,9 b' if sys.version_info < (3, 4):'
42 42
43 43
44 44 error = """
45 IPython 7.0+ supports Python 3.4 and above.
45 IPython 7.0+ supports Python 3.5 and above.
46 46 When using Python 2.7, please install IPython 5.x LTS Long Term Support version.
47 Python 3.3 was supported up to IPython 6.x.
47 Python 3.3 and 3.4 were supported up to IPython 6.x.
48 48
49 49 See IPython `README.rst` file for more information:
50 50
@@ -201,7 +201,6 b' install_requires = ['
201 201
202 202 extras_require.update({
203 203 ':python_version == "3.4"': ['typing'],
204 ':python_version >= "3.5"': ['trio', 'curio'],
205 204 ':sys_platform != "win32"': ['pexpect'],
206 205 ':sys_platform == "darwin"': ['appnope'],
207 206 ':sys_platform == "win32"': ['colorama'],
@@ -231,7 +230,7 b' for key, deps in extras_require.items():'
231 230 extras_require['all'] = everything
232 231
233 232 if 'setuptools' in sys.modules:
234 setuptools_extra_args['python_requires'] = '>=3.4'
233 setuptools_extra_args['python_requires'] = '>=3.5'
235 234 setuptools_extra_args['zip_safe'] = False
236 235 setuptools_extra_args['entry_points'] = {
237 236 'console_scripts': find_entry_points(),
General Comments 0
You need to be logged in to leave comments. Login now