|
@@
-171,19
+171,19
b' or right arrow as described below.'
|
|
171
|
|
|
171
|
|
|
172
|
1. Start ipython
|
|
172
|
1. Start ipython
|
|
173
|
|
|
173
|
|
|
174
|
.. image:: ../_images/8.0/auto_suggest_prompt_no_text.png
|
|
174
|
.. image:: ../_images/8.0/auto_suggest_1_prompt_no_text.png
|
|
175
|
|
|
175
|
|
|
176
|
2. Run ``print("hello")``
|
|
176
|
2. Run ``print("hello")``
|
|
177
|
|
|
177
|
|
|
178
|
.. image:: ../_images/8.0/auto_suggest_print_hello_suggest.png
|
|
178
|
.. image:: ../_images/8.0/auto_suggest_2_print_hello_suggest.png
|
|
179
|
|
|
179
|
|
|
180
|
3. Press p to see the autosuggestion
|
|
180
|
3. start typing ``print`` again to see the autosuggestion
|
|
181
|
|
|
181
|
|
|
182
|
.. image:: ../_images/8.0/auto_suggest_print_hello_suggest.png
|
|
182
|
.. image:: ../_images/8.0/auto_suggest_3_print_hello_suggest.png
|
|
183
|
|
|
183
|
|
|
184
|
4. Press ctrl f, or ctrl e, or right arrow to accept the suggestion
|
|
184
|
4. Press ``ctrl-f``, or ``ctrl-e``, or ``right-arrow`` to accept the suggestion
|
|
185
|
|
|
185
|
|
|
186
|
.. image:: ../_images/8.0/auto_suggest_print_hello.png
|
|
186
|
.. image:: ../_images/8.0/auto_suggest_4_print_hello.png
|
|
187
|
|
|
187
|
|
|
188
|
You can also complete word by word:
|
|
188
|
You can also complete word by word:
|
|
189
|
|
|
189
|
|
|
@@
-191,11
+191,11
b' You can also complete word by word:'
|
|
191
|
|
|
191
|
|
|
192
|
.. image:: ../_images/8.0/auto_suggest_second_prompt.png
|
|
192
|
.. image:: ../_images/8.0/auto_suggest_second_prompt.png
|
|
193
|
|
|
193
|
|
|
194
|
2. Press d to see the autosuggestion
|
|
194
|
2. Start typing the first letter if ``def`` to see the autosuggestion
|
|
195
|
|
|
195
|
|
|
196
|
.. image:: ../_images/8.0/auto_suggest_d_phantom.png
|
|
196
|
.. image:: ../_images/8.0/auto_suggest_d_phantom.png
|
|
197
|
|
|
197
|
|
|
198
|
3. Press alt f to accept the first word of the suggestion
|
|
198
|
3. Press ``alt-f`` (or ``escape`` followed by ``f``), to accept the first word of the suggestion
|
|
199
|
|
|
199
|
|
|
200
|
.. image:: ../_images/8.0/auto_suggest_def_phantom.png
|
|
200
|
.. image:: ../_images/8.0/auto_suggest_def_phantom.png
|
|
201
|
|
|
201
|
|
|
@@
-213,17
+213,14
b' Importantly, this feature does not interfere with tab completion:'
|
|
213
|
|
|
213
|
|
|
214
|
.. image:: ../_images/8.0/auto_suggest_def_completions.png
|
|
214
|
.. image:: ../_images/8.0/auto_suggest_def_completions.png
|
|
215
|
|
|
215
|
|
|
216
|
3B. Press alt f to accept to accept the first word of the suggestion
|
|
216
|
3B. Press ``alt f`` (``escape``, ``f``) to accept to accept the first word of the suggestion
|
|
217
|
|
|
217
|
|
|
218
|
.. image:: ../_images/8.0/auto_suggest_def_phantom.png
|
|
218
|
.. image:: ../_images/8.0/auto_suggest_def_phantom.png
|
|
219
|
|
|
219
|
|
|
220
|
3C. Press ctrl f or ctrl e to accept the entire suggestion
|
|
220
|
3C. Press ``ctrl-f`` or ``ctrl-e`` to accept the entire suggestion
|
|
221
|
|
|
221
|
|
|
222
|
.. image:: ../_images/8.0/auto_suggest_match_parens.png
|
|
222
|
.. image:: ../_images/8.0/auto_suggest_match_parens.png
|
|
223
|
|
|
223
|
|
|
224
|
To install a version of ipython with autosuggestions enabled, run:
|
|
|
|
|
225
|
|
|
|
|
|
226
|
``pip install git+https://github.com/mskar/ipython@auto_suggest``
|
|
|
|
|
227
|
|
|
224
|
|
|
228
|
Currently, autosuggestions are only shown in the emacs or vi insert editing modes:
|
|
225
|
Currently, autosuggestions are only shown in the emacs or vi insert editing modes:
|
|
229
|
|
|
226
|
|
|
@@
-246,7
+243,7
b' and "??", in much the same way it can be done when using the IPython prompt::'
|
|
246
|
Type: type
|
|
243
|
Type: type
|
|
247
|
Subclasses:
|
|
244
|
Subclasses:
|
|
248
|
|
|
245
|
|
|
249
|
Previously, "pinfo" or "pinfo2" command had to be used for this purpose.
|
|
246
|
Previously, ``pinfo`` or ``pinfo2`` command had to be used for this purpose.
|
|
250
|
|
|
247
|
|
|
251
|
|
|
248
|
|
|
252
|
Autoreload 3 feature
|
|
249
|
Autoreload 3 feature
|
|
@@
-256,13
+253,12
b" Example: When an IPython session is ran with the 'autoreload' extension loaded,"
|
|
256
|
you will now have the option '3' to select which means the following:
|
|
253
|
you will now have the option '3' to select which means the following:
|
|
257
|
|
|
254
|
|
|
258
|
1. replicate all functionality from option 2
|
|
255
|
1. replicate all functionality from option 2
|
|
259
|
2. autoload all new funcs/classes/enums/globals from the module when they're added
|
|
256
|
2. autoload all new funcs/classes/enums/globals from the module when they are added
|
|
260
|
3. autoload all newly imported funcs/classes/enums/globals from external modules
|
|
257
|
3. autoload all newly imported funcs/classes/enums/globals from external modules
|
|
261
|
|
|
258
|
|
|
262
|
Try ``%autoreload 3`` in an IPython session after running ``%load_ext autoreload``
|
|
259
|
Try ``%autoreload 3`` in an IPython session after running ``%load_ext autoreload``
|
|
263
|
|
|
260
|
|
|
264
|
For more information please see unit test -
|
|
261
|
For more information please see the following unit test : ``extensions/tests/test_autoreload.py:test_autoload_newly_added_objects``
|
|
265
|
extensions/tests/test_autoreload.py : 'test_autoload_newly_added_objects'
|
|
|
|
|
266
|
|
|
262
|
|
|
267
|
|
|
263
|
|
|
268
|
|
|
264
|
|
|
@@
-296,7
+292,7
b" Don't start a multi line cell with sunken parenthesis"
|
|
296
|
|
|
292
|
|
|
297
|
From now on IPython will not ask for the next line of input when given a single
|
|
293
|
From now on IPython will not ask for the next line of input when given a single
|
|
298
|
line with more closing than opening brackets. For example, this means that if
|
|
294
|
line with more closing than opening brackets. For example, this means that if
|
|
299
|
you (mis)type ']]' instead of '[]', a ``SyntaxError`` will show up, instead of
|
|
295
|
you (mis)type ``]]`` instead of ``[]``, a ``SyntaxError`` will show up, instead of
|
|
300
|
the ``...:`` prompt continuation.
|
|
296
|
the ``...:`` prompt continuation.
|
|
301
|
|
|
297
|
|
|
302
|
IPython shell for ipdb interact
|
|
298
|
IPython shell for ipdb interact
|
|
@@
-331,8
+327,8
b' Previously, this was not the case for the Vi-mode prompts::'
|
|
331
|
This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` - are
|
|
327
|
This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` - are
|
|
332
|
skipped just as the normal ``In`` would be.
|
|
328
|
skipped just as the normal ``In`` would be.
|
|
333
|
|
|
329
|
|
|
334
|
IPython shell can be started in the Vi mode using ``ipython
|
|
330
|
IPython shell can be started in the Vi mode using ``ipython --TerminalInteractiveShell.editing_mode=vi``,
|
|
335
|
--TerminalInteractiveShell.editing_mode=vi``
|
|
331
|
You should be able to change mode dynamically with ``%config TerminalInteractiveShell.editing_mode='vi'``
|
|
336
|
|
|
332
|
|
|
337
|
Empty History Ranges
|
|
333
|
Empty History Ranges
|
|
338
|
~~~~~~~~~~~~~~~~~~~~
|
|
334
|
~~~~~~~~~~~~~~~~~~~~
|
|
@@
-358,8
+354,6
b' Traceback improvements'
|
|
358
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
354
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
359
|
|
|
355
|
|
|
360
|
|
|
356
|
|
|
361
|
UPDATE THIS IN INPUT.
|
|
|
|
|
362
|
|
|
|
|
|
363
|
Previously, error tracebacks for errors happening in code cells were showing a hash, the one used for compiling the Python AST::
|
|
357
|
Previously, error tracebacks for errors happening in code cells were showing a hash, the one used for compiling the Python AST::
|
|
364
|
|
|
358
|
|
|
365
|
In [1]: def foo():
|
|
359
|
In [1]: def foo():
|
|
@@
-422,14
+416,12
b' test suite to pytest, and starting to remove nose. This also mean that the'
|
|
422
|
``iptest`` command is now gone, and all testing is via pytest.
|
|
416
|
``iptest`` command is now gone, and all testing is via pytest.
|
|
423
|
|
|
417
|
|
|
424
|
This was in bog part thanks the NumFOCUS Small Developer grant, we were able to
|
|
418
|
This was in bog part thanks the NumFOCUS Small Developer grant, we were able to
|
|
425
|
allocate 4000 to hire `Nikita Kniazev @Kojoley <https://github.com/Kojoley>`__
|
|
419
|
allocate 4000 to hire `Nikita Kniazev (@Kojoley) <https://github.com/Kojoley>`__
|
|
426
|
who did a fantastic job at updating our code base, migrating to pytest, pushing
|
|
420
|
who did a fantastic job at updating our code base, migrating to pytest, pushing
|
|
427
|
our coverage, and fixing a large number of bugs. I highly recommend contacting
|
|
421
|
our coverage, and fixing a large number of bugs. I highly recommend contacting
|
|
428
|
them if you need help with C++ and Python projects
|
|
422
|
them if you need help with C++ and Python projects
|
|
429
|
|
|
423
|
|
|
430
|
You can find all relevant issues and PRs with the SDG 2021 tag:
|
|
424
|
You can find all relevant issues and PRs with the SDG 2021 tag `<https://github.com/ipython/ipython/issues?q=label%3A%22Numfocus+SDG+2021%22+>`__
|
|
431
|
|
|
|
|
|
432
|
https://github.com/ipython/ipython/issues?q=label%3A%22Numfocus+SDG+2021%22+
|
|
|
|
|
433
|
|
|
425
|
|
|
434
|
Removing support for Older Python
|
|
426
|
Removing support for Older Python
|
|
435
|
---------------------------------
|
|
427
|
---------------------------------
|
|
@@
-439,22
+431,15
b' We are also removing support for Python up to 3.7 allowing internal code to use '
|
|
439
|
efficient ``pathlib``, and make better use of type annotations.
|
|
431
|
efficient ``pathlib``, and make better use of type annotations.
|
|
440
|
|
|
432
|
|
|
441
|
.. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg
|
|
433
|
.. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg
|
|
442
|
:alt: "Meme image of Toy story with Woody and Buzz, with the text 'pathlib, pathlib everywhere'"
|
|
434
|
:alt: "Meme image of Toy Story with Woody and Buzz, with the text 'pathlib, pathlib everywhere'"
|
|
443
|
|
|
435
|
|
|
444
|
|
|
436
|
|
|
445
|
IMAGE : Pathlib, pathlib everywhere.
|
|
|
|
|
446
|
|
|
|
|
|
447
|
We have about 34 PRs only to update some logic tu update some function from managing strings to
|
|
437
|
We have about 34 PRs only to update some logic tu update some function from managing strings to
|
|
448
|
using Pathlib.
|
|
438
|
using Pathlib.
|
|
449
|
|
|
439
|
|
|
450
|
The completer has also seen significant updates and make use of newer Jedi API
|
|
440
|
The completer has also seen significant updates and make use of newer Jedi API
|
|
451
|
offering faster and more reliable tab completion.
|
|
441
|
offering faster and more reliable tab completion.
|
|
452
|
|
|
442
|
|
|
453
|
For the terminal users this also enable the auto-suggestion feature, described
|
|
|
|
|
454
|
below, which show "ghost text" ahead of your cursor you can accept without
|
|
|
|
|
455
|
having to press the tab key or ask the completer to suggest completions.
|
|
|
|
|
456
|
|
|
|
|
|
457
|
|
|
|
|
|
458
|
|
|
443
|
|
|
459
|
.. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
|
|
444
|
.. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
|
|
460
|
|
|
445
|
|