##// END OF EJS Templates
back to development
back to development

File last commit:

r25180:8d5a7ba0
r25183:91d36d32
Show More
version7.rst
615 lines | 21.1 KiB | text/x-rst | RstLexer
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 ============
7.x Series
============
Matthias Bussonnier
update 7.8 what's new
r25180 .. _version780:
IPython 7.8.0
=============
IPython 7.8.0 contain a few bugfix and 2 new APIs:
- Enable changing the font color for LaTeX rendering :ghpull:`11840`
- and Re-Expose some PDB API (see below)
Expose Pdb API
--------------
Expose the built-in ``pdb.Pdb`` API. ``Pdb`` constructor arguments are generically
exposed, regardless of python version.
Newly exposed arguments:
- ``skip`` - Python 3.1+
- ``nosiginnt`` - Python 3.2+
- ``readrc`` - Python 3.6+
Try it out::
from IPython.terminal.debugger import TerminalPdb
pdb = TerminalPdb(skip=["skipthismodule"])
See :ghpull:`11840`
Matthias Bussonnier
Create 7.7.0 release notes
r25155 .. _version770:
IPython 7.7.0
=============
IPython 7.7.0 contain multiple bug fixes and documentation updates; Here are a
few of the outstanding issue fixed:
- Fix a bug introduced in 7.6 where the ``%matplotlib`` magic would fail on
previously acceptable arguments :ghpull:`11814`.
- Fix the manage location on freebsd :ghpull:`11808`.
- Fix error message about aliases after ``%reset`` call in ipykernel
:ghpull:`11806`
- Fix Duplication completions in emacs :ghpull:`11803`
We are planning to adopt `NEP29 <https://github.com/numpy/numpy/pull/14086>`_
(still currently in draft) which may make this minor version of IPython the
last one to support Python 3.5 and will make the code base more aggressive
toward removing compatibility with older versions of Python.
GitHub now support to give only "Triage" permissions to users; if you'd like to
help close stale issues and labels issues please reach to us with your GitHub
Username and we'll add you to the triage team. It is a great way to start
contributing and a path toward getting commit rights.
Matthias Bussonnier
Documetation in WN
r25133 .. _version761:
IPython 7.6.1
=============
IPython 7.6.1 contain a critical bugfix in the ``%timeit`` magic, which would
crash on some inputs as a side effect of :ghpull:`11716`. See :ghpull:`11812`
Matthias Bussonnier
prepare whats new in 7.6
r25060 .. _whatsnew760:
IPython 7.6.0
=============
IPython 7.6.0 contains a couple of bug fixes and number of small features
additions as well as some compatibility with the current development version of
Python 3.8.
- Add a ``-l`` option to :magic:`psearch` to list the available search
types. :ghpull:`11672`
- Support ``PathLike`` for ``DisplayObject`` and ``Image``. :ghpull:`11764`
- Configurability of timeout in the test suite for slow platforms.
:ghpull:`11756`
- Accept any casing for matplotlib backend. :ghpull:`121748`
- Properly skip test that requires numpy to be installed :ghpull:`11723`
- More support for Python 3.8 and positional only arguments (pep570)
:ghpull:`11720`
- Unicode names for the completion are loaded lazily on first use which
should decrease startup time. :ghpull:`11693`
Matthias Bussonnier
updates to whatsnew in 7.6
r25124 - Autoreload now update the types of reloaded objects; this for example allow
Matthias Bussonnier
some updates to WN
r25119 pickling of reloaded objects. :ghpull:`11644`
Matthias Bussonnier
Documetation in WN
r25133 - Fix a bug where ``%%time`` magic would suppress cell output. :ghpull:`11716`
Matthias Bussonnier
some updates to WN
r25119
Prepare migration to pytest (instead of nose) for testing
---------------------------------------------------------
Most of the work between 7.5 and 7.6 was to prepare the migration from our
testing framework to pytest. Most of the test suite should now work by simply
issuing ``pytest`` from the root of the repository.
The migration to pytest is just at its beginning. Many of our test still rely
on IPython-specific plugins for nose using pytest (doctest using IPython syntax
is one example of this where test appear as "passing", while no code has been
ran). Many test also need to be updated like ``yield-test`` to be properly
parametrized tests.
Migration to pytest allowed me to discover a number of issues in our test
suite; which was hiding a number of subtle issues – or not actually running
some of the tests in our test suite – I have thus corrected many of those; like
improperly closed resources; or used of deprecated features. I also made use of
the ``pytest --durations=...`` to find some of our slowest test and speed them
up (our test suite can now be up to 10% faster). Pytest as also a variety of
plugins and flags which will make the code quality of IPython and the testing
experience better.
Misc
----
Matthias Bussonnier
prepare whats new in 7.6
r25060
Matthias Bussonnier
updates to whatsnew in 7.6
r25124 We skipped the release of 7.6 at the end of May, but will attempt to get back
on schedule. We are starting to think about making introducing backward
incompatible change and start the 8.0 series.
Matthias Bussonnier
prepare whats new in 7.6
r25060 Special Thanks to Gabriel (@gpotter2 on GitHub), who among other took care many
of the remaining task for 7.4 and 7.5, like updating the website.
.. _whatsnew750:
Matthias Bussonnier
more updates to documentation aud automation
r24982
Matthias Bussonnier
update Whats New for 7.5
r25011 IPython 7.5.0
=============
IPython 7.5.0 consist mostly of bug-fixes, and documentation updates, with one
minor new feature. The `Audio` display element can now be assigned an element
id when displayed in browser. See :ghpull:`11670`
The major outstanding bug fix correct a change of behavior that was introduce
in 7.4.0 where some cell magics would not be able to access or modify global
scope when using the ``@needs_local_scope`` decorator. This was typically
encountered with the ``%%time`` and ``%%timeit`` magics. See :ghissue:`11659`
and :ghpull:`11698`.
Matthias Bussonnier
prepare whats new in 7.6
r25060 .. _whatsnew740:
Matthias Bussonnier
more updates to documentation aud automation
r24982 IPython 7.4.0
=============
Unicode name completions
------------------------
Previously, we provided completion for a unicode name with its relative symbol.
With this, now IPython provides complete suggestions to unicode name symbols.
As on the PR, if user types ``\LAT<tab>``, IPython provides a list of
possible completions. In this case, it would be something like::
'LATIN CAPITAL LETTER A',
'LATIN CAPITAL LETTER B',
'LATIN CAPITAL LETTER C',
'LATIN CAPITAL LETTER D',
....
This help to type unicode character that do not have short latex aliases, and
have long unicode names. for example ``Í°``, ``\GREEK CAPITAL LETTER HETA``.
This feature was contributed by Luciana Marques :ghpull:`11583`.
Make audio normalization optional
---------------------------------
Added 'normalize' argument to `IPython.display.Audio`. This argument applies
when audio data is given as an array of samples. The default of `normalize=True`
preserves prior behavior of normalizing the audio to the maximum possible range.
Setting to `False` disables normalization.
Min ho Kim
Fixed typos
r25167 Miscellaneous
Matthias Bussonnier
Update version7.rst
r25169 -------------
Matthias Bussonnier
more updates to documentation aud automation
r24982
- Fix improper acceptation of ``return`` outside of functions. :ghpull:`11641`.
- Fixed PyQt 5.11 backwards incompatibility causing sip import failure.
:ghpull:`11613`.
Matthias Bussonnier
typo
r24987 - Fix Bug where ``type?`` would crash IPython. :ghpull:`1608`.
Matthias Bussonnier
more updates to documentation aud automation
r24982 - Allow to apply ``@needs_local_scope`` to cell magics for convenience.
:ghpull:`11542`.
Matthias Bussonnier
start release notes
r24912 .. _whatsnew730:
IPython 7.3.0
=============
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858 .. _whatsnew720:
Matthias Bussonnier
start release notes
r24912 IPython 7.3.0 bring several bug fixes and small improvements that you will
described bellow.
The biggest change to this release is the implementation of the ``%conda`` and
``%pip`` magics, that will attempt to install packages in the **current
environment**. You may still need to restart your interpreter or kernel for the
change to be taken into account, but it should simplify installation of packages
into remote environment. Installing using pip/conda from the command line is
still the prefer method.
The ``%pip`` magic was already present, but was only printing a warning; now it
will actually forward commands to pip.
Misc bug fixes and improvements:
Matthias Bussonnier
update what's new
r24937 - Compatibility with Python 3.8.
Matthias Bussonnier
start release notes
r24912 - Do not expand shell variable in execution magics, and added the
``no_var_expand`` decorator for magic requiring a similar functionality
:ghpull:`11516`
- Add ``%pip`` and ``%conda`` magic :ghpull:`11524`
- Re-initialize posix aliases after a ``%reset`` :ghpull:`11528`
- Allow the IPython command line to run ``*.ipynb`` files :ghpull:`11529`
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858 IPython 7.2.0
=============
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 IPython 7.2.0 brings minor bugfixes, improvements, and new configuration options:
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858 - Run CI on Mac OS ! :ghpull:`11471`
- Fix IPython "Demo" mode. :ghpull:`11498`
- Fix ``%run`` magic with path in name :ghpull:`11499`
- Fix: add CWD to sys.path *after* stdlib :ghpull:`11502`
- Better rendering of signatures, especially long ones. :ghpull:`11505`
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - Re-enable jedi by default if it's installed :ghpull:`11506`
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858 - Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
Added ability to show subclasses when using pinfo and other utilities
---------------------------------------------------------------------
When using ``?``/``??`` on a class, IPython will now list the first 10 subclasses.
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Special Thanks to Chris Mentzel of the Moore Foundation for this feature. Chris
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858 is one of the people who played a critical role in IPython/Jupyter getting
funding.
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 We are grateful for all the help Chris has given us over the years,
and we're now proud to have code contributed by Chris in IPython.
Matthias Bussonnier
Update what's new and limit number of subclasses....
r24858
OSMagics.cd_force_quiet configuration option
--------------------------------------------
You can set this option to force the %cd magic to behave as if ``-q`` was passed:
::
In [1]: cd /
/
In [2]: %config OSMagics.cd_force_quiet = True
In [3]: cd /tmp
In [4]:
See :ghpull:`11491`
In vi editing mode, whether the prompt includes the current vi mode can now be configured
-----------------------------------------------------------------------------------------
Set the ``TerminalInteractiveShell.prompt_includes_vi_mode`` to a boolean value
(default: True) to control this feature. See :ghpull:`11492`
Matthias Bussonnier
Update what's new for 7.1.0
r24730 .. _whatsnew710:
IPython 7.1.0
=============
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 IPython 7.1.0 is the first minor release after 7.0.0 and mostly brings fixes to
new features, internal refactoring, and fixes for regressions that happened during the 6.x->7.x
transition. It also brings **Compatibility with Python 3.7.1**, as we're
Matthias Bussonnier
Update what's new for 7.1.0
r24730 unwillingly relying on a bug in CPython.
New Core Dev:
- We welcome Jonathan Slenders to the commiters. Jonathan has done a fantastic
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 work on prompt_toolkit, and we'd like to recognise his impact by giving him
Matthias Bussonnier
Update what's new for 7.1.0
r24730 commit rights. :ghissue:`11397`
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Notable Changes
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776
- Major update of "latex to unicode" tab completion map (see below)
Matthias Bussonnier
Update what's new for 7.1.0
r24730 Notable New Features:
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776 - Restore functionality and documentation of the **sphinx directive**, which
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 is now stricter (fail on error by daefault), has new configuration options,
has a brand new documentation page :ref:`ipython_directive` (which needs
some cleanup). It is also now *tested* so we hope to have less regressions.
Matthias Bussonnier
Update what's new for 7.1.0
r24730 :ghpull:`11402`
- ``IPython.display.Video`` now supports ``width`` and ``height`` arguments,
allowing a custom width and height to be set instead of using the video's
width and height. :ghpull:`11353`
- Warn when using ``HTML('<iframe>')`` instead of ``IFrame`` :ghpull:`11350`
- Allow Dynamic switching of editing mode between vi/emacs and show
normal/input mode in prompt when using vi. :ghpull:`11390`. Use ``%config
TerminalInteractiveShell.editing_mode = 'vi'`` or ``%config
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
between modes.
Matthias Bussonnier
Update what's new for 7.1.0
r24730
Notable Fixes:
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - Fix entering of **multi-line blocks in terminal** IPython, and various
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776 crashes in the new input transformation machinery :ghpull:`11354`,
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 :ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776 with Python 3.7.1**.
Matthias Bussonnier
Update what's new for 7.1.0
r24730
- Fix moving through generator stack in ipdb :ghpull:`11266`
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - %Magic command arguments now support quoting. :ghpull:`11330`
Matthias Bussonnier
Update what's new for 7.1.0
r24730
- Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
Matthias Bussonnier
Update what's new for 7.1.0
r24730
- Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
mode. :ghpull:`11382`
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776 - Fix mishandling of magics and ``= !`` assignment just after a dedent in
nested code blocks :ghpull:`11418`
- Fix instructions for custom shortcuts :ghpull:`11426`
Matthias Bussonnier
Update what's new for 7.1.0
r24730
Notable Internals improvements:
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
Matthias Bussonnier
Update what's new for 7.1.0
r24730 :ghpull:`11365`
- use ``perf_counter`` instead of ``clock`` for more precise
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 timing results with ``%time`` :ghpull:`11376`
Matthias Bussonnier
Update what's new for 7.1.0
r24730
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Many thanks to all the contributors and in particular to ``bartskowron`` and
``tonyfast`` who handled some pretty complicated bugs in the input machinery. We
had a number of first time contributors and maybe hacktoberfest participants that
made significant contributions and helped us free some time to focus on more
Matthias Bussonnier
Update what's new for 7.1.0
r24730 complicated bugs.
You
can see all the closed issues and Merged PR, new features and fixes `here
<https://github.com/ipython/ipython/issues?utf8=%E2%9C%93&q=+is%3Aclosed+milestone%3A7.1+>`_.
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776 Unicode Completion update
-------------------------
In IPython 7.1 the Unicode completion map has been updated and synchronized with
the Julia language.
Added and removed character characters:
``\jmath`` (``È·``), ``\\underleftrightarrow`` (U+034D, combining) have been
added, while ``\\textasciicaron`` have been removed
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Some sequences have seen their prefix removed:
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776
- 6 characters ``\text...<tab>`` should now be inputed with ``\...<tab>`` directly,
- 45 characters ``\Elz...<tab>`` should now be inputed with ``\...<tab>`` directly,
- 65 characters ``\B...<tab>`` should now be inputed with ``\...<tab>`` directly,
- 450 characters ``\m...<tab>`` should now be inputed with ``\...<tab>`` directly,
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Some sequences have seen their prefix shortened:
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776
- 5 characters ``\mitBbb...<tab>`` should now be inputed with ``\bbi...<tab>`` directly,
- 52 characters ``\mit...<tab>`` should now be inputed with ``\i...<tab>`` directly,
- 216 characters ``\mbfit...<tab>`` should now be inputed with ``\bi...<tab>`` directly,
- 222 characters ``\mbf...<tab>`` should now be inputed with ``\b...<tab>`` directly,
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 A couple of characters had their sequence simplified:
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776
- ``ð``, type ``\dh<tab>``, instead of ``\eth<tab>``
- ``ħ``, type ``\hbar<tab>``, instead of ``\Elzxh<tab>``
- ``ɸ``, type ``\ltphi<tab>``, instead of ``\textphi<tab>``
- ``Ï´``, type ``\varTheta<tab>``, instead of ``\textTheta<tab>``
- ``ℇ``, type ``\eulermascheroni<tab>``, instead of ``\Eulerconst<tab>``
- ``â„Ž``, type ``\planck<tab>``, instead of ``\Planckconst<tab>``
- U+0336 (COMBINING LONG STROKE OVERLAY), type ``\strike<tab>``, instead of ``\Elzbar<tab>``.
A couple of sequences have been updated:
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 - ``\varepsilon`` now gives ``ɛ`` (GREEK SMALL LETTER EPSILON) instead of ``ε`` (GREEK LUNATE EPSILON SYMBOL),
- ``\underbar`` now gives U+0331 (COMBINING MACRON BELOW) instead of U+0332 (COMBINING LOW LINE).
Matthias Bussonnier
Update what's new in preparation of 7.1.0
r24776
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 .. _whatsnew700:
IPython 7.0.0
=============
Matthias Bussonnier
Prepare changelog for relese
r24603 Released Thursday September 27th, 2018
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 IPython 7 includes major feature improvements.
This is also the second major version of IPython to support only
Python 3 – starting at Python 3.4. Python 2 is still community-supported
Paul Ivanov
fix typos, migrate latest to release notes
r24554 on the bugfix only 5.x branch, but we remind you that Python 2 "end of life"
is on Jan 1st 2020.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
We were able to backport bug fixes to the 5.x branch thanks to our backport bot which
backported more than `70 Pull-Requests
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 <https://github.com/ipython/ipython/pulls?page=3&q=is%3Apr+sort%3Aupdated-desc+author%3Aapp%2Fmeeseeksdev++5.x&utf8=%E2%9C%93>`_, but there are still many PRs that required manual work. This is an area of the project where you can easily contribute by looking for `PRs that still need manual backport <https://github.com/ipython/ipython/issues?q=label%3A%22Still+Needs+Manual+Backport%22+is%3Aclosed+sort%3Aupdated-desc>`_
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 The IPython 6.x branch will likely not see any further release unless critical
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 bugs are found.
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Make sure you have pip > 9.0 before upgrading. You should be able to update by running:
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
.. code::
pip install ipython --upgrade
Yarko Tymciurak
update documentation to add beta install instructions
r24582 .. only:: ipydev
Matthias Bussonnier
update instructions: --pre apply to rc as well
r24585 If you are trying to install or update an ``alpha``, ``beta``, or ``rc``
version, use pip ``--pre`` flag.
Yarko Tymciurak
update documentation to add beta install instructions
r24582
.. code::
pip install ipython --upgrade --pre
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Or, if you have conda installed:
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
.. code::
conda install ipython
Prompt Toolkit 2.0
------------------
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 IPython 7.0+ now uses ``prompt_toolkit 2.0``. If you still need to use an earlier
``prompt_toolkit`` version, you may need to pin IPython to ``<7.0``.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Matthias Bussonnier
move infor to the right place
r24476 Autowait: Asynchronous REPL
---------------------------
Matthias Bussonnier
Prototype async REPL using IPython, take III...
r24463
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Staring with IPython 7.0 on Python 3.6+, IPython can automatically ``await``
top level code. You should not need to access an event loop or runner
yourself. To learn more, read the :ref:`autoawait` section of our docs, see
:ghpull:`11265`, or try the following code::
Matthias Bussonnier
Prototype async REPL using IPython, take III...
r24463
Python 3.6.0
Type 'copyright', 'credits' or 'license' for more information
Matthias Bussonnier
move infor to the right place
r24476 IPython 7.0.0 -- An enhanced Interactive Python. Type '?' for help.
Matthias Bussonnier
Prototype async REPL using IPython, take III...
r24463
In [1]: import aiohttp
...: result = aiohttp.get('https://api.github.com')
In [2]: response = await result
<pause for a few 100s ms>
In [3]: await response.json()
Out[3]:
{'authorizations_url': 'https://api.github.com/authorizations',
'code_search_url': 'https://api.github.com/search/code?q={query}{&page,per_page,sort,order}',
...
}
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490 .. note::
Async integration is experimental code, behavior may change or be removed
between Python and IPython versions without warnings.
Matthias Bussonnier
Prototype async REPL using IPython, take III...
r24463
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Integration is by default with `asyncio`, but other libraries can be configured --
like ``curio`` or ``trio`` -- to improve concurrency in the REPL::
Matthias Bussonnier
Prototype async REPL using IPython, take III...
r24463
In [1]: %autoawait trio
In [2]: import trio
In [3]: async def child(i):
...: print(" child %s goes to sleep"%i)
...: await trio.sleep(2)
...: print(" child %s wakes up"%i)
In [4]: print('parent start')
...: async with trio.open_nursery() as n:
...: for i in range(3):
...: n.spawn(child, i)
...: print('parent end')
parent start
child 2 goes to sleep
child 0 goes to sleep
child 1 goes to sleep
<about 2 seconds pause>
child 2 wakes up
child 1 wakes up
child 0 wakes up
parent end
See :ref:`autoawait` for more information.
Matthias Bussonnier
move infor to the right place
r24476 Asynchronous code in a Notebook interface or any other frontend using the
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Jupyter Protocol will require further updates to the IPykernel package.
Matthias Bussonnier
move infor to the right place
r24476
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 Non-Asynchronous code
~~~~~~~~~~~~~~~~~~~~~
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490
wim glenn
Fix a paragraph that read very poorly
r24675 As the internal API of IPython is now asynchronous, IPython needs to run under
an event loop. In order to allow many workflows, (like using the :magic:`%run`
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 magic, or copy-pasting code that explicitly starts/stop event loop), when
Matthias Bussonnier
Fix magic directive and role....
r24579 top-level code is detected as not being asynchronous, IPython code is advanced
wim glenn
Fix a paragraph that read very poorly
r24675 via a pseudo-synchronous runner, and may not advance pending tasks.
Matthias Bussonnier
move infor to the right place
r24476
Change to Nested Embed
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 ~~~~~~~~~~~~~~~~~~~~~~
Matthias Bussonnier
move infor to the right place
r24476
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490 The introduction of the ability to run async code had some effect on the
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 ``IPython.embed()`` API. By default, embed will not allow you to run asynchronous
code unless an event loop is specified.
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490
Matthias Bussonnier
add notes some magic don't work yet
r24500 Effects on Magics
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 ~~~~~~~~~~~~~~~~~
Matthias Bussonnier
add notes some magic don't work yet
r24500
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 Some magics will not work with async until they're updated.
Contributions welcome.
Matthias Bussonnier
add notes some magic don't work yet
r24500
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490 Expected Future changes
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 ~~~~~~~~~~~~~~~~~~~~~~~
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 We expect more internal but public IPython functions to become ``async``, and
will likely end up having a persistent event loop while IPython is running.
Matthias Bussonnier
move infor to the right place
r24476
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490 Thanks
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 ~~~~~~
Matthias Bussonnier
Prototype async REPL using IPython, take III...
r24463
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 This release took more than a year in the making.
The code was rebased a number of
times; leading to commit authorship that may have been lost in the final
Matthias Bussonnier
docs cleanup, reformat code, remove dead code.
r24490 Pull-Request. Huge thanks to many people for contribution, discussion, code,
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 documentation, use-cases: dalejung, danielballan, ellisonbg, fperez, gnestor,
Paul Ivanov
fix typos, migrate latest to release notes
r24554 minrk, njsmith, pganssle, tacaswell, takluyver , vidartf ... And many others.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Matthias Bussonnier
typos
r24546 Autoreload Improvement
----------------------
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Matthias Bussonnier
Fix magic directive and role....
r24579 The magic :magic:`%autoreload 2 <autoreload>` now captures new methods added to
classes. Earlier, only methods existing as of the initial import were being
tracked and updated.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Matthias Bussonnier
Fix magic directive and role....
r24579 This new feature helps dual environment development - Jupyter+IDE - where the
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 code gradually moves from notebook cells to package files as it gets
Matthias Bussonnier
Fix magic directive and role....
r24579 structured.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Matthias Bussonnier
Fix magic directive and role....
r24579 **Example**: An instance of the class ``MyClass`` will be able to access the
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 method ``cube()`` after it is uncommented and the file ``file1.py`` is saved on
Matthias Bussonnier
Fix magic directive and role....
r24579 disk.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Chris Barker
microscopic formatting fix
r24758 .. code::
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
# notebook
from mymodule import MyClass
first = MyClass(5)
.. code::
Matthias Bussonnier
update release process
r24536
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 # mymodule/file1.py
class MyClass:
def __init__(self, a=10):
self.a = a
def square(self):
print('compute square')
return self.a*self.a
# def cube(self):
# print('compute cube')
# return self.a*self.a*self.a
Misc
----
The autoindent feature that was deprecated in 5.x was re-enabled and
un-deprecated in :ghpull:`11257`
Matthias Bussonnier
Fix magic directive and role....
r24579 Make :magic:`%run -n -i ... <run>` work correctly. Earlier, if :magic:`%run` was
passed both arguments, ``-n`` would be silently ignored. See :ghpull:`10308`
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Matthias Bussonnier
Bit nitpicky about rst markup, find more errors.
r24735 The :cellmagic:`%%script` (as well as :cellmagic:`%%bash`,
:cellmagic:`%%ruby`... ) cell magics now raise by default if the return code of
Matthias Bussonnier
Fix magic directive and role....
r24579 the given code is non-zero (thus halting execution of further cells in a
notebook). The behavior can be disable by passing the ``--no-raise-error`` flag.
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535
Deprecations
------------
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 A couple of unused functions and methods have been deprecated and will be removed
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 in future versions:
- ``IPython.utils.io.raw_print_err``
- ``IPython.utils.io.raw_print``
Backwards incompatible changes
------------------------------
* The API for transforming input before it is parsed as Python code has been
is-this-valid
DOC: whatsnew/version7: syntax, wording (see #11515)
r24862 completely redesigned: any custom input transformations will need to be
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 rewritten. See :doc:`/config/inputtransforms` for details of the new API.