- Reenable testing matplotlib
- Update to 8.25.0:
* Rplaces the unicode micro symbol with greek letter mu, visually
identical but should fix nfkc normalisations issues.
* Introduces intersphinx_registry as a new dependency which is recommended
only to build documentation.
* Improve inference from return type annotations in completer and the
introduction of the optional target ipython[matplotlib] to explicitly
request the matplotlib optional dependencies.
* Move of the matplotlib backend handling from IPython to matplotlib.
* pytest 8 compatibility.
* typing-extension now needs 4.6 or newer. It was already the case, but
not explicated.
* Attempt to speed running code under debugger in some cases.
OBS-URL: https://build.opensuse.org/request/show/1178448
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=48
* Improve inference from return type annotations in completer and the
introduction of the optional target ipython[matplotlib] to explicitly
request the matplotlib optional dependencies.
* Move of the matplotlib backend handling from IPython to matplotlib.
* pytest 8 compatibility.
* typing-extension now needs 4.6 or newer. It was already the case, but
not explicated.
* Attempt to speed running code under debugger in some cases.
- Add patch support-pytest-8.1.patch:
* Support pytest >= 8.1 with the pytest plugin.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=129
- Update to 8.22.2
* Fix recently introduced bug with the store magic.
* Fix issues with multiple call to
matplotlib.pyplot.switch_backend
* Fix crashing IPython when some tracebacks encounter dynamically
evaluated code.
* IPython 8.22.1 increase the minimal traitlets version, and
8.22.2 fix a critical bug on emscripten preventing to use some
magics like %matplotlib on jupyter-light.
* As usual you can find the full list of PRs on GitHub under the
8.22 milestone.
## API changes
* One of the largest change is the update the mimehooks and
inspector API, see 14342. It should be backward compatible, but
many hooks now receive a single object with many fields
allowing us flexibility to update the API later.
## Packaging changes
* Thanks to @mkoppe, we are slowly getting rid of setup.py
finally migrating to pyproject.toml. There is still quite a bit
of work, and please open an issue if you encounter any problem.
## Deprecation
* A number of unused functions have been marked deprecated or
pending deprecation. Please let us know if you encounter any of
those deprecation messages for us to adjust the removal
timeline.
## Changes
OBS-URL: https://build.opensuse.org/request/show/1163560
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=47
* Fix recently introduced bug with the store magic.
* Fix issues with multiple call to
matplotlib.pyplot.switch_backend
* Fix crashing IPython when some tracebacks encounter dynamically
evaluated code.
* IPython 8.22.1 increase the minimal traitlets version, and
8.22.2 fix a critical bug on emscripten preventing to use some
magics like %matplotlib on jupyter-light.
* As usual you can find the full list of PRs on GitHub under the
8.22 milestone.
## API changes
* One of the largest change is the update the mimehooks and
inspector API, see 14342. It should be backward compatible, but
many hooks now receive a single object with many fields
allowing us flexibility to update the API later.
## Packaging changes
* Thanks to @mkoppe, we are slowly getting rid of setup.py
finally migrating to pyproject.toml. There is still quite a bit
of work, and please open an issue if you encounter any problem.
## Deprecation
* A number of unused functions have been marked deprecated or
pending deprecation. Please let us know if you encounter any of
those deprecation messages for us to adjust the removal
timeline.
compatibility with pdb.set_trace()
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=127
- Update to 8.21.0
* Few new features are present, but the codebase has been
cleaned, and a couple of API are _considered_ for deprecation.
They are not deprecated yet, but as they do not seem to be
quite used, they may emit a warning, in which case please
comment on the relevant issue to inform me of _which_ project
use those feature and how you use them. Depending on the
feedback I might change the timeline for deprecation.
## Deprecations
* PR #14307 Pending Deprecation of
ColorSchemeTable.set_active_scheme(...)’s case_sensitive
Parameter.
* PR #14305 Pending Deprecation of constructing ColorScheme via
kwargs, in favor passing a single dict.
## Fixes
* PR #14284 TerminalIPythonApp’s would warn that auto_create
option is not recognized.
* PR #14286 Fix a crash with NotOneValueFound when rendering
complex tracebacks.
* PR #14287 Partial Python 3.13 compatibility
* PR #14290 Docs/Typos.
* PR #14289 ipdb.set_trace() now accepts header= for better
## Changes
compatibility with pdb.set_trace()
* PR #14300 and PR #14301 Add hooking ability to produce
mimebundle. It is now possible to extend the ?/?? operator to
return more mimetypes to render richer help in frontends that
support it. In particular you could send a json representation
of the help that could be displayed in a customizable way.
- Release 8.20.0
* The crux of this release is PR #14274 (Inspect continuation
prompt signature and pass only viable arguments), the rest of
the changes are mostly type annotation, and a few compatibility
issues with Python 3.13 that are getting addressed.
- Update to 8.19.0
* New release of IPython a bit before the end of the month, and
end of the year.
* Mostly cleanup and deprecation, due to upstream deprecation and
removal.
* A bit later than originally plan, IPython 8.19 does not support
Python 3.9 anymore, as well as the few conditional code that
were executing only on Python 3.9. #14254
* We used the opportunity to deprecate IPython.utils.tz #14256,
due to upstream deprecation of some timezone utilities. It will
be removed at a later date.
* Thanks to the contribution of cohml, IPython CLI now support
absolute and relative line numbers in both vi and emacs prompt,
use for example
c.TerminalInteractiveShell
.prompt_line_number_format='{line:4d}/{rel_line:+03d} | '
configuration option to display both in a custom format.
OBS-URL: https://build.opensuse.org/request/show/1147879
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=46
* Few new features are present, but the codebase has been
cleaned, and a couple of API are _considered_ for deprecation.
They are not deprecated yet, but as they do not seem to be
quite used, they may emit a warning, in which case please
comment on the relevant issue to inform me of _which_ project
use those feature and how you use them. Depending on the
feedback I might change the timeline for deprecation.
## Deprecations
* PR #14307 Pending Deprecation of
ColorSchemeTable.set_active_scheme(...)’s case_sensitive
Parameter.
* PR #14305 Pending Deprecation of constructing ColorScheme via
kwargs, in favor passing a single dict.
## Fixes
* PR #14284 TerminalIPythonApp’s would warn that auto_create
option is not recognized.
* PR #14286 Fix a crash with NotOneValueFound when rendering
complex tracebacks.
* PR #14287 Partial Python 3.13 compatibility
* PR #14290 Docs/Typos.
* PR #14289 ipdb.set_trace() now accepts header= for better
## Changes
compatibility with pdb.set_trace()
* PR #14300 and PR #14301 Add hooking ability to produce
mimebundle. It is now possible to extend the ?/?? operator to
return more mimetypes to render richer help in frontends that
support it. In particular you could send a json representation
of the help that could be displayed in a customizable way.
- Release 8.20.0
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=124
- Update to 8.18.0
* Small release of IPython that fixes a small number of
inconveniences.
* PR #14251 Fix a memory leak in qt event loop integration by
setting the Loop parent to None.
* PR #14252 Pickleshare was made an optional dependency in 8.17,
this leads to warnings in some installations when using modules
completions. The warning has been silenced.
* PR #14241 Update event loop code for compatibility with more
recent prompt_toolkit due to deprecations in Python 3.12.
* PR #14245 Fix doc example on Pygments styles
* PR #14238 Remove dependency on app_nope, this is actually only
a dependency of IPykernel.
- Release 8.17, 8.17.1
* Medium-sized release of IPython that includes some cleanup
(backcall, python2 leftovers) and some refactoring improvements
(typing, pathlib) and a fix on completion.
* PR #14216 remove backcall dependency
* PR #14217 make pickleshare dependency optional
* PR #14185 support completion based on type annotations of calls
* Reverted in 8.17.1:PR #14190 remove support for python 2 in
lexers (reverted in 8.17.1 as it is imported by
qtconsole/spyder)
* Mamba and Micromamba magic: In addition to the conda command to
manage conda environment, mamba and micromamba can now be used
using the corresponding magic in IPython. Since these commands
are compatible with conda, they are following the same logic.
These two magic require to have the corresponding commands
available either in the conda environment or system wide. PR
#14191
OBS-URL: https://build.opensuse.org/request/show/1128952
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=45
* Small release of IPython that fixes a small number of
inconveniences.
* PR #14251 Fix a memory leak in qt event loop integration by
setting the Loop parent to None.
* PR #14252 Pickleshare was made an optional dependency in 8.17,
this leads to warnings in some installations when using modules
completions. The warning has been silenced.
* PR #14241 Update event loop code for compatibility with more
recent prompt_toolkit due to deprecations in Python 3.12.
* PR #14245 Fix doc example on Pygments styles
* PR #14238 Remove dependency on app_nope, this is actually only
a dependency of IPykernel.
- Release 8.17, 8.17.1
* Medium-sized release of IPython that includes some cleanup
(backcall, python2 leftovers) and some refactoring improvements
(typing, pathlib) and a fix on completion.
* PR #14216 remove backcall dependency
* PR #14217 make pickleshare dependency optional
* PR #14185 support completion based on type annotations of calls
* Reverted in 8.17.1:PR #14190 remove support for python 2 in
lexers (reverted in 8.17.1 as it is imported by
qtconsole/spyder)
* Mamba and Micromamba magic: In addition to the conda command to
manage conda environment, mamba and micromamba can now be used
using the corresponding magic in IPython. Since these commands
are compatible with conda, they are following the same logic.
These two magic require to have the corresponding commands
available either in the conda environment or system wide. PR
#14191
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=122
- Update to 8.16.1
* Small double release of IPython (with the 8.12.3 release notes
just below). Mostly bug fixes and cleanups, and type
annotations. Of interest for users:
* #14153 Fix a bug of the new iPdb chained traceback where some
Exception would not have any traceback. (see upstream fix in
CPython for more details).
* #14168 Fix case with spurious message about event loops when
using matplotlib.
- Remove skip_python312 (see changelog for 8.15)
OBS-URL: https://build.opensuse.org/request/show/1116206
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=43
* Small double release of IPython (with the 8.12.3 release notes
just below). Mostly bug fixes and cleanups, and type
annotations. Of interest for users:
* #14153 Fix a bug of the new iPdb chained traceback where some
Exception would not have any traceback. (see upstream fix in
CPython for more details).
* #14168 Fix case with spurious message about event loops when
using matplotlib.
- Remove skip_python312 (see changelog for 8.15)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=118
- Update to 8.15.0
* Improve compatibility with future version of Python 3.12/3.13
:ghpull:`14107`, gh#`14139`,
* Improve support for ExceptionGroups, gh#`14108`
* Fix hangs in %gui osx, gh#`14125`
* Fix memory lead with %reset, gh#`14133`
* Unstable config option to modify traceback highlighting that is
sometime hard to read gh#`14138`
* Support . in ipdb as an argument to the list command gh#`14121`
* Workroud parso showing warning message when the default logger
level is changed gh#`14119`
* Fix multiple issues with matplotlib interactive mode, qt5/qt6
gh#`14128`
## Whatsnew
* Support for PEP-678 Exception Notes
* Native fallback for displaying ExceptionGroup
* AST-based macros
* Allow IPdb/Pdb to move between chained exceptions
OBS-URL: https://build.opensuse.org/request/show/1113222
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=42
* Improve compatibility with future version of Python 3.12/3.13
:ghpull:`14107`, gh#`14139`,
* Improve support for ExceptionGroups, gh#`14108`
* Fix hangs in %gui osx, gh#`14125`
* Fix memory lead with %reset, gh#`14133`
* Unstable config option to modify traceback highlighting that is
sometime hard to read gh#`14138`
* Support . in ipdb as an argument to the list command gh#`14121`
* Workroud parso showing warning message when the default logger
level is changed gh#`14119`
* Fix multiple issues with matplotlib interactive mode, qt5/qt6
gh#`14128`
## Whatsnew
* Support for PEP-678 Exception Notes
* Native fallback for displaying ExceptionGroup
* AST-based macros
* Allow IPdb/Pdb to move between chained exceptions
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=116
- Update to 8.14.0
* PR #14080 fixes some shortcuts issues.
* PR #14056 Add option to %autoreload to hide errors when
reloading code.
* PR #14039 (and PR #14040) to show exception notes in
tracebacks.
* PR #14076 Add option to EventManager to prevent printing
## SPEC 0 and SPEC 4
* You’ve heard about the NEPs, (NumPy enhancement Proposal),
having a NEP for something non-numpy specific was sometime
confusing. Long live the SPECs.
* We are now trying to follow SPEC 0 (aka old NEP 29) for of
support of upstream libraries.
* We also now try to follow SPEC 4 (test and publish nightly on a
centralized nightly repository). We encourage you to do so as
well in order to report breakage, and contribute to the SPEC
process !
## Python 3.12 compatibility ?
* Python 3.12 changed its tokenizer to have better support for
f-strings and allow arbitrary expression. This is a great new
feature and performance improvement in python 3.12.
* Unfortunately this means the new tokenizer does not support
incomplete or invalid Python which will break many features of
IPython. Thus compatibility of IPython with Python 3.12 is not
guarantied. It is unclear to which extent IPython is affected,
and whether we can/should try to still support magics, shell
escape (! ....), …, as well as how to do it if we can.
* In addition even if we there is technical feasibility to do so,
it is no clear we have the resources to do it. We are thus
looking for your help if you can _test_ on Python 3.12 to see
to which extent this affects users and which features are
critical.
* We are not going to pin IPython to Python <3.12 as otherwise on
install pip would downgrade/resolve to IPython 8.13, so if you
plan to update to Python 3.12 after its release, we encourage
for extra care.
- Skip potential future python312 because of the above
- Add %{?sle15_python_module_pythons}
OBS-URL: https://build.opensuse.org/request/show/1092420
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=41
- Update to 8.14.0
* PR #14080 fixes some shortcuts issues.
* PR #14056 Add option to %autoreload to hide errors when
reloading code.
* PR #14039 (and PR #14040) to show exception notes in
tracebacks.
* PR #14076 Add option to EventManager to prevent printing
## SPEC 0 and SPEC 4
* You’ve heard about the NEPs, (NumPy enhancement Proposal),
having a NEP for something non-numpy specific was sometime
confusing. Long live the SPECs.
* We are now trying to follow SPEC 0 (aka old NEP 29) for of
support of upstream libraries.
* We also now try to follow SPEC 4 (test and publish nightly on a
centralized nightly repository). We encourage you to do so as
well in order to report breakage, and contribute to the SPEC
process !
## Python 3.12 compatibility ?
* Python 3.12 changed its tokenizer to have better support for
f-strings and allow arbitrary expression. This is a great new
feature and performance improvement in python 3.12.
* Unfortunately this means the new tokenizer does not support
incomplete or invalid Python which will break many features of
IPython. Thus compatibility of IPython with Python 3.12 is not
guarantied. It is unclear to which extent IPython is affected,
and whether we can/should try to still support magics, shell
escape (! ....), …, as well as how to do it if we can.
* In addition even if we there is technical feasibility to do so,
it is no clear we have the resources to do it. We are thus
looking for your help if you can _test_ on Python 3.12 to see
to which extent this affects users and which features are
critical.
* We are not going to pin IPython to Python <3.12 as otherwise on
install pip would downgrade/resolve to IPython 8.13, so if you
plan to update to Python 3.12 after its release, we encourage
for extra care.
- Skip potential future python312 because of the above
OBS-URL: https://build.opensuse.org/request/show/1092419
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=114
- Update to 8.13.1
* This release is significant in that it not only has a number of
bugfixes, but also drop support for Python 3.8 as per NEP 29
(PR #14023).
* Pretty reprensentation for Counter has been fixed to match the
Python one and be in decreasing order. PR #14032
* Module completion is better when jedi is disabled PR #14029.
* Improvment of %%bash magic that would get stuck PR #14019
* PR #14004 Fix a bug introduced in IPython 8.12 that crash when
inspecting some docstrings.
* PR #14010 Fix fast traceback code that was not working in some
case.
* PR #14014 Fix %page magic broken in some case.
* PR #14026, PR #14027 Tweak default shortcut with respect to
autosuggestions.
* PR #14033 add back the ability to use .get() on OInfo object
for backward compatibility with h5py (this will be
re-deprecated later, and h5py will also get a fix).
OBS-URL: https://build.opensuse.org/request/show/1083899
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=39
- Update to 8.13.1
* This release is significant in that it not only has a number of
bugfixes, but also drop support for Python 3.8 as per NEP 29
(PR #14023).
* Pretty reprensentation for Counter has been fixed to match the
Python one and be in decreasing order. PR #14032
* Module completion is better when jedi is disabled PR #14029.
* Improvment of %%bash magic that would get stuck PR #14019
* PR #14004 Fix a bug introduced in IPython 8.12 that crash when
inspecting some docstrings.
* PR #14010 Fix fast traceback code that was not working in some
case.
* PR #14014 Fix %page magic broken in some case.
* PR #14026, PR #14027 Tweak default shortcut with respect to
autosuggestions.
* PR #14033 add back the ability to use .get() on OInfo object
for backward compatibility with h5py (this will be
re-deprecated later, and h5py will also get a fix).
OBS-URL: https://build.opensuse.org/request/show/1083882
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=109
- Update to 8.12.0
* PR #13957 brings updates to the Qt integration, particularly
for Qt6.
* PR #13960 fixes the %debug magic command to give access to the
local scope.
* PR #13964 fixes some crashes with the new fast traceback code.
Note that there are still some issues with the fast traceback
code, and I a, likely to fix and tweak behavior.
* PR #13973 We are slowly migrating IPython internals to use
proper type objects/dataclasses instead of dictionaries to
allow static typing checks. These are technically public API
and could lead to breakage, so please let us know if that’s
the case and I’ll mitigate.
* PR #13990, PR #13991, PR #13994 all improve keybinding and
shortcut configurability.
- Release 8.11
* Faster Traceback Highlighting
* Autoreload verbosity
* Terminal shortcuts customization
* %gui should now support PySide6. PR #13864
* Cli shortcuts can now be configured PR #13928, see above. (note
that there might be an issue with prompt_toolkit 3.0.37 and
shortcut configuration).
* Capture output should now respect ; semicolon to suppress
output. PR #13940
* Base64 encoded images (in jupyter frontend), will not have
trailing newlines. PR #13941
- Release 8.10
* bump minimum numpy to >=1.21 version following NEP29. PR #13930
* fix for compatibility with MyPy 1.0. PR #13933
OBS-URL: https://build.opensuse.org/request/show/1077235
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=38
* PR #13957 brings updates to the Qt integration, particularly
for Qt6.
* PR #13960 fixes the %debug magic command to give access to the
local scope.
* PR #13964 fixes some crashes with the new fast traceback code.
Note that there are still some issues with the fast traceback
code, and I a, likely to fix and tweak behavior.
* PR #13973 We are slowly migrating IPython internals to use
proper type objects/dataclasses instead of dictionaries to
allow static typing checks. These are technically public API
and could lead to breakage, so please let us know if that’s
the case and I’ll mitigate.
* PR #13990, PR #13991, PR #13994 all improve keybinding and
shortcut configurability.
- Release 8.11
* Faster Traceback Highlighting
* Autoreload verbosity
* Terminal shortcuts customization
* %gui should now support PySide6. PR #13864
* Cli shortcuts can now be configured PR #13928, see above. (note
that there might be an issue with prompt_toolkit 3.0.37 and
shortcut configuration).
* Capture output should now respect ; semicolon to suppress
output. PR #13940
* Base64 encoded images (in jupyter frontend), will not have
trailing newlines. PR #13941
- Release 8.10
* bump minimum numpy to >=1.21 version following NEP29. PR #13930
* fix for compatibility with MyPy 1.0. PR #13933
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=107
- Update to 8.9.0
* Second release of IPython in 2023, last Friday of the month, we
are back on track. This is a small release with a few
bug-fixes, and improvements, mostly with respect to terminal
shortcuts.
* The biggest improvement for 8.9 is a drastic amelioration if
the auto-suggestions sponsored by D.E. Shaw and implemented by
the more and more active contributor @krassowski.
- right accepts a single character from suggestion
- ctrl+right accepts a semantic token (macos default shortcuts
take precedence and need to be disabled to make this work)
- backspace deletes a character and resumes hinting
autosuggestions
- ctrl-left accepts suggestion and moves cursor left one
character.
- backspace deletes a character and resumes hinting
autosuggestions
- down moves to suggestion to later in history when no lines
are present below the cursors.
- up moves to suggestion from earlier in history when no lines
are present above the cursor.
* This is best described by the Gif posted by @krassowski, and in
the PR itself PR gh#ipython/ipython#13888.
* Please report any feedback in order for us to improve the user
experience. In particular we are also working on making the
shortcuts configurable.
* If you are interested into better terminal shortcut, I also
invite you to participate in issue gh#ipython/iüythpn#13879.
OBS-URL: https://build.opensuse.org/request/show/1063285
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=37
* Second release of IPython in 2023, last Friday of the month, we
are back on track. This is a small release with a few
bug-fixes, and improvements, mostly with respect to terminal
shortcuts.
* The biggest improvement for 8.9 is a drastic amelioration if
the auto-suggestions sponsored by D.E. Shaw and implemented by
the more and more active contributor @krassowski.
- right accepts a single character from suggestion
- ctrl+right accepts a semantic token (macos default shortcuts
take precedence and need to be disabled to make this work)
- backspace deletes a character and resumes hinting
autosuggestions
- ctrl-left accepts suggestion and moves cursor left one
character.
- backspace deletes a character and resumes hinting
autosuggestions
- down moves to suggestion to later in history when no lines
are present below the cursors.
- up moves to suggestion from earlier in history when no lines
are present above the cursor.
* This is best described by the Gif posted by @krassowski, and in
the PR itself PR gh#ipython/ipython#13888.
* Please report any feedback in order for us to improve the user
experience. In particular we are also working on making the
shortcuts configurable.
* If you are interested into better terminal shortcut, I also
invite you to participate in issue gh#ipython/iüythpn#13879.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=105
- update to version 8.6.0:
* The install_ext and related functions have been removed after
being deprecated for years. You can use pip to install
extensions. pip did not exists when install_ext was
introduced. You can still load local extensions without installing
them. Just set your sys.path for example. :ghpull:`13744`
* The completer matcher API have been improved. See
:ghpull:`13745`. This should improve the type inference and
improve dict keys completions in many use case. Tanks @krassowski
for all the works, and the D.E. Shaw group for sponsoring it.
* The color of error nodes in tracebacks can now be customized. See
:ghpull:`13756`. This is a private attribute until someone find
the time to properly add a configuration option. Note that with
Python 3.11 that also show the relevant nodes in traceback, it
would be good to leverage this informations (plus the "did you
mean" info added on attribute errors). But that's likely work I
won't have time to do before long, so contributions welcome.
* As we follow NEP 29, we removed support for numpy 1.19
:ghpull:`13760`.
* The open() function present in the user namespace by default will
now refuse to open the file descriptors 0,1,2 (stdin, out, err),
to avoid crashing IPython. This mostly occurs in teaching context
when incorrect values get passed around.
* The ?, ??, and corresponding pinfo, pinfo2 magics can now find
objects insides arrays. That is to say, the following now works:
>>> def my_func(*arg, **kwargs):pass
>>> container = [my_func]
>>> container[0]?
* If container define a custom getitem, this __will__ trigger the
custom method. So don't put side effects in your getitems. Thanks
the D.E. Shaw group for the request and sponsoring the work.
OBS-URL: https://build.opensuse.org/request/show/1033843
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=34
- Update to 8.0.1
* Security fix CVE-2022-21699: change some default values in
order to prevent potential Execution with Unnecessary
Privileges.
* Almost all version of IPython looks for configuration and
profiles in current working directory. Since IPython was
developed before pip and environments existed it was used a
convenient way to load code/packages in a project dependant
way.
* In 2022, it is not necessary anymore, and can lead to confusing
behavior where for example cloning a repository and starting
IPython or loading a notebook from any Jupyter-Compatible
interface that has ipython set as a kernel can lead to code
execution.
* The current working directory is not searched anymore for
profiles or configurations files.
* Added a __patched_cves__ attribute (set of strings) to IPython
module that contain the list of fixed CVE. This is
informational only.
- Fixes boo#1194936, CVE-2022-21699
- Update requirements.
- Requires the full stdlib including sqlite3
- Revert some spec-cleaner edits
- Update to 8.0.0:
- Minimum supported traitlets version if now 5+
- we now require stack_data
- Minimal Python is now 3.8
- pytest replaces nose.
- iptest/iptest3 cli entrypoints do not exists anymore.
- minimum officially support numpy version has been bumped, but
this should not have much effect on packaging.
- Backport some fixes for Python 3.10 (PR #13412)
- use full-alpha transparency on dvipng rendered LaTeX (PR #13372)
- Traceback improvements
- Autosuggestons
- Show pinfo information in ipdb using “?” and “??”
- Autoreload 3 feature
- Auto formatting with black in the CLI
- History Range Glob feature
- Don’t start a multi line cell with sunken parenthesis
- IPython shell for ipdb interact
- Automatic Vi prompt stripping
- Empty History Ranges
- Windows time-implementation: Switch to process_time
- Re-added support for XDG config directories
- Add skip-network-test.patch to skip (gh#ipython/ipython#13468).
OBS-URL: https://build.opensuse.org/request/show/947675
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=26
- Update to 8.0.1
* Security fix CVE-2022-21699: change some default values in
order to prevent potential Execution with Unnecessary
Privileges.
* Almost all version of IPython looks for configuration and
profiles in current working directory. Since IPython was
developed before pip and environments existed it was used a
convenient way to load code/packages in a project dependant
way.
* In 2022, it is not necessary anymore, and can lead to confusing
behavior where for example cloning a repository and starting
IPython or loading a notebook from any Jupyter-Compatible
interface that has ipython set as a kernel can lead to code
execution.
* The current working directory is not searched anymore for
profiles or configurations files.
* Added a __patched_cves__ attribute (set of strings) to IPython
module that contain the list of fixed CVE. This is
informational only.
OBS-URL: https://build.opensuse.org/request/show/947647
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=80
- Update to 8.0.0:
- Minimum supported traitlets version if now 5+
- we now require stack_data
- Minimal Python is now 3.8
- pytest replaces nose.
- iptest/iptest3 cli entrypoints do not exists anymore.
- minimum officially support numpy version has been bumped, but
this should not have much effect on packaging.
- Backport some fixes for Python 3.10 (PR #13412)
- use full-alpha transparency on dvipng rendered LaTeX (PR #13372)
- Traceback improvements
- Autosuggestons
- Show pinfo information in ipdb using “?” and “??”
- Autoreload 3 feature
- Auto formatting with black in the CLI
- History Range Glob feature
- Don’t start a multi line cell with sunken parenthesis
- IPython shell for ipdb interact
- Automatic Vi prompt stripping
- Empty History Ranges
- Windows time-implementation: Switch to process_time
- Re-added support for XDG config directories
- Add skip-network-test.patch to skip (gh#ipython/ipython#13468).
OBS-URL: https://build.opensuse.org/request/show/946628
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=76
* IPython 7.30 fixes a couple of bugs introduce in previous
releases (in particular with respect to path handling), and
introduce a few features and improvements:
* Notably we will highlight PR #13267 “Document that %run can
execute notebooks and ipy scripts.”, which is the first commit
of Fernando Pérez since mid 2016 (IPython 5.1). If you are new
to IPython, Fernando created IPython in 2001. The other most
recent contribution of Fernando to IPython itself was May 2018,
by reviewing and merging PRs. I want to note that Fernando is
still active but mostly as a mentor and leader of the whole
Jupyter organisation, but we’re still happy to see him
contribute code !
* PR #13290 “Use sphinxify (if available) in object_inspect_mime
path” should allow richer Repr of docstrings when using
jupyterlab inspector.
* PR #13311 make the debugger use ThreadPoolExecutor for debugger
cmdloop. This should fix some issues/infinite loop, but let us
know if you come across any regressions. In particular this
fixes issues with kmaork/madbg, a remote debugger for IPython.
* Note that this is likely the ante-penultimate release of
IPython 7.x as a stable branch, as I hope to release IPython
8.0 as well as IPython 7.31 next month/early 2022.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=74
- Update to 7.29.0
* IPython 7.29 brings a couple of new functionalities to IPython
and a number of bugfixes. It is one of the largest recent
release, relatively speaking, with close to 15 Pull Requests.
* fix an issue where base64 was returned instead of bytes when
showing figures
* fix compatibility with PyQt6, PySide 6. This
may be of interest if you are running on Apple Silicon as only
qt6.2+ is natively compatible.
* fix matplotlib qtagg eventloop
* Multiple docs fixes, typos, ... etc.
* Debugger will now exit by default on SigInt
this will be useful in notebook/lab if you forgot to exit the
debugger. "Interrupt Kernel" will now exist the debugger.
* It give Pdb the ability to skip code in decorators. If
functions contain a special value names __debuggerskip__ =
True|False, the function will not be stepped into, and Pdb will
step into lower frames only if the value is set to False. The
exact behavior is still likely to have corner cases and will be
refined in subsequent releases. Feedback welcome. See the
debugger module documentation for more info. Thanks to the D.
E. Shaw group for funding this feature.
OBS-URL: https://build.opensuse.org/request/show/931190
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=73
- Update to version 7.25.0
* debugger bug fix
- Release 7.24
* Fix an issue where %recall would both succeeded and print an
error message it failed.
* Drop support for NumPy 1.16 – practically has no effect beyond
indicating in package metadata that we do not support it.
* Debugger improvements
- Release 7.23
* We have a new dependency: matplotlib-inline, which try to
extract matplotlib inline backend specific behavior. It is
available on PyPI and conda-forge thus should not be a problem
to upgrade to this version. If you are a package maintainer
that might be an extra dependency to package first.
OBS-URL: https://build.opensuse.org/request/show/902860
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=69
- Update to version 7.14.0
IPython 7.14 is a minor release that fix a couple of bugs and prepare
compatibility with new or future versions of some libraries.
* Fix compatibility with Sphinx 3+
gh#ipython/ipython#12235
* Remove deprecated matplotlib parameter usage, compatibility with
matplotlib3.3+
gh#ipython/ipython#12250
* set ``.py`` extension when editing current buffer in vi/emacs.
gh#ipython/ipython#12167
* support for unicode identifiers in ``?``/``??``
gh#ipython/ipython#12208
* add extra options to the ``Video`` Rich objects
gh#ipython/ipython#12212
* add pretty-printing to ``SimpleNamespace``
gh#ipython/ipython#12230
- add opensuse-disable-net-test.patch to disable network access
during new test_embed_svg_url
OBS-URL: https://build.opensuse.org/request/show/799685
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=43
- Update to 7.11.1
* A couple of deprecated functions (no-op) have been reintroduces in py3compat as
Cython was still relying on them, and will be removed in a couple of versions.
- Update to 7.11.0
* A number of function in the ``py3compat`` have been removed; a number of types
in the IPython code base are now non-ambiguous and now always ``unicode``
instead of ``Union[Unicode,bytes]``; many of the relevant code path have thus
been simplified/cleaned and types annotation added.
* IPython support several verbosity level from exceptions. ``xmode plain`` now
support chained exceptions.
* We are starting to remove ``shell=True`` in some usages of subprocess. While not directly
a security issue (as IPython is made to run arbitrary code anyway) it is not good
practice and we'd like to show the example.
* Work around some bugs in Python 3.9 tokenizer
* IPython will now print its version after a crash.
- Update to 7.10.2
* IPython 7.10.2 fix a couple of extra incompatibility between IPython, ipdb,
asyncio and Prompt Toolkit 3.
- Update to IPython 7.10.1
* IPython 7.10.1 fix a couple of incompatibilities with Prompt toolkit 3 (please
update Prompt toolkit to 3.0.2 at least), and fixes some interaction with
headless IPython.
- Update to IPython 7.10.0
* Stop Support for Python 3.5 – Adopt NEP 29
* Support for Prompt Toolkit 3.0
* Prompt Rendering Performance improvements
* Code autoformatting
* Arbitrary Mimetypes Handing in Terminal (Aka inline images in terminal)
* Completions can define their own ordering
* Enable Plotting in the same cell than the one that import matplotlib
* Allow to store and restore multiple variables at once
- Update to 7.11.1
* A couple of deprecated functions (no-op) have been reintroduces in py3compat as
Cython was still relying on them, and will be removed in a couple of versions.
- Update to 7.11.0
* A number of function in the ``py3compat`` have been removed; a number of types
in the IPython code base are now non-ambiguous and now always ``unicode``
instead of ``Union[Unicode,bytes]``; many of the relevant code path have thus
been simplified/cleaned and types annotation added.
* IPython support several verbosity level from exceptions. ``xmode plain`` now
support chained exceptions.
* We are starting to remove ``shell=True`` in some usages of subprocess. While not directly
a security issue (as IPython is made to run arbitrary code anyway) it is not good
practice and we'd like to show the example.
* Work around some bugs in Python 3.9 tokenizer
* IPython will now print its version after a crash.
- Update to 7.10.2
* IPython 7.10.2 fix a couple of extra incompatibility between IPython, ipdb,
asyncio and Prompt Toolkit 3.
- Update to IPython 7.10.1
* IPython 7.10.1 fix a couple of incompatibilities with Prompt toolkit 3 (please
update Prompt toolkit to 3.0.2 at least), and fixes some interaction with
headless IPython.
- Update to IPython 7.10.0
* Stop Support for Python 3.5 – Adopt NEP 29
* Support for Prompt Toolkit 3.0
* Prompt Rendering Performance improvements
* Code autoformatting
* Arbitrary Mimetypes Handing in Terminal (Aka inline images in terminal)
* Completions can define their own ordering
* Enable Plotting in the same cell than the one that import matplotlib
* Allow to store and restore multiple variables at once
OBS-URL: https://build.opensuse.org/request/show/764784
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=34
- Update to 7.7.0
* Fix a bug introduced in 7.6 where the ``%matplotlib`` magic would fail on
previously acceptable arguments
* Fix the manage location on freebsd
* Fix error message about aliases after ``%reset`` call in ipykernel
* Fix Duplication completions in emacs
- Update to 7.7.0
* Fix a bug introduced in 7.6 where the ``%matplotlib`` magic would fail on
previously acceptable arguments
* Fix the manage location on freebsd
* Fix error message about aliases after ``%reset`` call in ipykernel
* Fix Duplication completions in emacs
OBS-URL: https://build.opensuse.org/request/show/719015
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=27
- Update to 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.
* Support ``PathLike`` for ``DisplayObject`` and ``Image``.
* Configurability of timeout in the test suite for slow platforms.
* Accept any casing for matplotlib backend.
* Properly skip test that requires numpy to be installed
* More support for Python 3.8 and positional only arguments (pep570)
* Unicode names for the completion are loaded lazily on first use which
should decrease startup time.
* Autoreload now update the types of reloaded objects; this for example allow
pickling of reloaded objects.
* Fix a big where ``%%time`` magic would suppress cell output.
- Update to 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.
* Support ``PathLike`` for ``DisplayObject`` and ``Image``.
* Configurability of timeout in the test suite for slow platforms.
* Accept any casing for matplotlib backend.
* Properly skip test that requires numpy to be installed
* More support for Python 3.8 and positional only arguments (pep570)
* Unicode names for the completion are loaded lazily on first use which
should decrease startup time.
* Autoreload now update the types of reloaded objects; this for example allow
pickling of reloaded objects.
* Fix a big where ``%%time`` magic would suppress cell output.
OBS-URL: https://build.opensuse.org/request/show/713120
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=2
- Update to 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.
* 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.
- Rename package to follow python package guidelines.
- update to version 7.4.0:
* Previously, we provided completion for a unicode name with its
relative symbol.With this, now IPython provides complete
suggestions to unicode name symbols.
* Make audio normalization optional
* Miscelanious
+ Fix improper acceptation of "return" outside of
functions. :ghpull:`11641`.
+ Fixed PyQt 5.11 backwards incompatibility causing sip import
failure. :ghpull:`11613`.
+ Fix Bug where "type?" woudl crash IPython. :ghpull:`1608`.
+ Allow to apply "@needs_local_scope" to cell magics for
convenience. :ghpull:`11542`.
- specfile:
* update copyright year
- update to version 7.3.0:
* 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:
+ Compatibility with Python 3.8.
+ 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`
- Update to version 7.2.0
* Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
* 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`
* Re-enable jedi by default if it's installed :ghpull:`11506`
* Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
- Update to version 7.1.0
+ Notable Changes
* Major update of "latex to unicode" tab completion map (see below)
+ Notable New Features:
* Restore functionality and documentation of the **sphinx directive**, which
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.
: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
TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
between modes.
+ Notable Fixes:
* Fix entering of **multi-line blocks in terminal** IPython, and various
crashes in the new input transformation machinery :ghpull:`11354`,
:ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
with Python 3.7.1**.
* Fix moving through generator stack in ipdb :ghpull:`11266`
* %Magic command arguments now support quoting. :ghpull:`11330`
* Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
* Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
* Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
mode. :ghpull:`11382`
* Fix mishandling of magics and ``= !`` assignment just after a dedent in
nested code blocks :ghpull:`11418`
* Fix instructions for custom shortcuts :ghpull:`11426`
+ Notable Internals improvements:
* Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
:ghpull:`11365`
* use ``perf_counter`` instead of ``clock`` for more precise
timing results with ``%time`` :ghpull:`11376`
- Remove upstream-included fix_test_history.patch
- Update to version 7.0.1
Highlights
* IPython 7.0+ now uses prompt_toolkit 2.0
* IPython can automatically await code at top level, you should
not need to access an event loop or runner yourself.
* The magic %autoreload 2 now captures new methods added to
classes. Earlier, only methods existing as of the initial
import were being tracked and updated.
* The autoindent feature that was deprecated in 5.x was
re-enabled and un-deprecated.
* Make %run -n -i ... work correctly. Earlier, if %run was
passed both arguments, -n would be silently ignored.
* The %%script (as well as %%bash, %%ruby, ... ) cell magics
now raise by default if the return code of 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.
- Add fix_test_history.patch
Fixes failure in test_history.py for sqlite >= 3.25
Should be fixed in next release
see https://github.com/ipython/ipython/issues/11372
- Update to version 6.5.0
* Autocompletion fix for modules with out __init__.py :ghpull:`11227`
* update the %pastebin magic to use dpaste.com instead og GitHub Gist which now requires authentication :ghpull:`11182`
* Fix crash with multiprocessing :ghpull:`11185`
- Switch to using upstream documentation builds
- Update to version 6.4.0
* Fix display object not emitting metadata :ghpull:`11106`
* Comments failing Jedi test :ghpull:`11110`
- Remove upstream-included disable_jedi_in_tests.patch
- Add disable_jedi_in_tests.patch
Upstream bug: https://github.com/ipython/ipython/issues/11103
From: https://github.com/ipython/ipython/pull/11113
Should be in next release
- specfile:
* add python-backcall dependency
* fix 'provides' syntax
- update to version 6.3.1:
* This is a bugfix release to switch the default completions back to
IPython's own completion machinery. We discovered some problems
with the completions from Jedi, including completing column names
on pandas data frames.
- changes from version 6.3:
* A new display class :class:`IPython.display.Code` can be used to
display syntax highlighted code in a notebook (:ghpull:`10978`).
* The :cellmagic:`html` magic now takes a "--isolated" option to put
the content in an iframe (:ghpull:`10962`).
* The code to find completions using the Jedi library has had
various adjustments. This is still a work in progress, but we hope
this version has fewer annoyances (:ghpull:`10956`,
:ghpull:`10969`, :ghpull:`10999`, :ghpull:`11035`,
:ghpull:`11063`, :ghpull:`11065`).
* The *post* event callbacks are now always called, even when the
execution failed (for example because of a "SyntaxError").
* The execution info and result objects are now made available in
the corresponding *pre* or *post* "*_run_cell" :doc:`event
callbacks </config/callbacks>` in a backward compatible manner
(:ghissue:`10774` and :ghpull:`10795`).
* Performance with very long code cells (hundreds of lines) is
greatly improved (:ghpull:`10898`). Further improvements are
planned for IPython 7.
- Update url
- update to version 6.2.1:
* IPython 6.2.1 ships with two minor fixes leading to no completions
when using Jedi 0.11+ :ghpull:`10829`, and crash on some linux
system with virtualenv :ghpull:`10829`
- Fix conflict with old python3-jupyter_ipython-doc
- Update to version 6.2.0
* Function signature in completions
* Assignments return values
* Recursive Call of ipdb
* System Wide config
* ProgressBar
* Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
* :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
* Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
* Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
from md5 to sha1.
* Clear breakpoints before running any script with debugger.
* Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`.
* Limit default number of returned completions to 500.
- Implement single-spec version
- Update to version 6.1.0
* Quotes in a filename are always escaped during tab-completion on non-Windows.
:ghpull:`10069`
* Variables now shadow magics in autocompletion. See :ghissue:`4877` and :ghpull:`10542`.
* Added the ability to add parameters to alias_magic.
* To suppress log state messages, you can now either use ``%logstart -q``, pass
``--LoggingMagics.quiet=True`` on the command line, or set
``c.LoggingMagics.quiet=True`` in your configuration file.
* An additional flag ``--TerminalInteractiveShell.term_title_format`` is
introduced to allow the user to control the format of the terminal title. It
is specified as a python format string, and currently the only variable it
will format is ``{cwd}``.
* ``??``/``%pinfo2`` will now show object docstrings if the source can't be retrieved. :ghpull:`10532`
* ``IPython.display`` has gained a ``%markdown`` cell magic. :ghpull:`10563`
* ``%config`` options can now be tab completed. :ghpull:`10555`
* ``%config`` with no arguments are now unique and sorted. :ghpull:`10548`
* Completion on keyword arguments does not duplicate ``=`` sign if already present. :ghpull:`10547`
* ``%run -m <module>`` now ``<module>`` passes extra arguments to ``<module>``. :ghpull:`10546`
* completer now understand "snake case auto complete": if ``foo_bar_kittens`` is
a valid completion, I can type ``f_b<tab>`` will complete to it. :ghpull:`10537`
* tracebacks are better standardized and will compress `/path/to/home` to `~`. :ghpull:`10515`
* ``TerminalInteractiveShell`` is configurable and can be configured to
(re)-use the readline interface.
* objects can now define a ``_repr_mimebundle_``
* Execution heuristics improve for single line statements
* ``display()`` can now return a display id to update display areas.
- Update to version 6.0.0
* A major improvement in the completion machinery which is now capable of
completing non-executed code.
* stop compatibility with Python 2, which is still supported on the bugfix
only 5.x branch.
* Configurable TerminalInteractiveShell, readline interface
* The :cellmagic:`capture` magic can now capture the result of a cell (from
an expression on the last line), as well as printed and displayed output.
* Pressing Ctrl-Z in the terminal debugger now suspends IPython, as it
already does in the main terminal prompt.
* Autoreload can now reload ``Enum``.
* IPython.display has gained a :any:`GeoJSON <IPython.display.GeoJSON>`
object.
- Update to version 5.4.1
* Released a few hours after 5.4, fix a crash when
``backports.shutil-get-terminal-size`` is not installed. :ghissue:`10629`
- Update to version 5.4
* Configurable TerminalInteractiveShell
* Define ``_repr_mimebundle_``
* Execution Heuristics
* Implement Display IDs
* Display function
* ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
:ghpull:`10523`
* Use user colorscheme in Pdb as well :ghpull:`10479`
* Faster shutdown. :ghpull:`10408`
* Fix a crash in reverse search. :ghpull:`10371`
* added ``Completer.backslash_combining_completions`` boolean option to
deactivate backslash-tab completion that may conflict with windows path.
- Fix building on platforms without icoutils
- Fix shebang rpmint errors.
- Add note about LTS status and the end of Python 2 support.
- Add python2- provides.
- Neither HTML nor PDF documentation will ever work again,
so drop it.
- Update to IPython 5.3
* Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
:ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
* Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
:ghpull:`10240`
* Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
* Update terminal colors to be more visible by default on windows
:ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
* Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
:ghissue:`10273`
* Indent on new line by looking at the text before the cursor :ghpull:`10264`,
:ghpull:`10275`, :ghissue:`9283`
* Update QtEventloop integration to fix some matplotlib integration issues
:ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
* Respect completions display style in terminal debugger :ghpull:`10305`,
:ghpull:`10313`
* Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
The :kbd:`F2` shortcut is always enabled.
- Update to IPython 5.2.2
* Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
- Update to IPython 5.2.1
* Fix tab completion in the debugger. :ghpull:`10223`
- Update to IPython 5.2
* restore IPython's debugger to raise on quit. :ghpull:`10009`
* The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
now directly take a class argument for custom color style. :ghpull:`9848`
* Correctly handle matplotlib figures dpi :ghpull:`9868`
* Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
:ghpull:`9872`
* You can now press F2 while typing at a terminal prompt to edit the contents
in your favourite terminal editor. Set the :envvar:`EDITOR` environment
variable to pick which editor is used. :ghpull:`9929`
* sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
:ghpull:`9925`
* :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
convenience. :ghpull:`9947`
* The 'smart command mode' added to the debugger in 5.0 was removed, as more
people preferred the previous behaviour. Therefore, debugger commands such as
``c`` will act as debugger commands even when ``c`` is defined as a variable.
:ghpull:`10050`
* Fixes OS X event loop issues at startup, :ghpull:`10150`
* Deprecate the ``%autoindent`` magic. :ghpull:`10176`
* Emit a :any:`DeprecationWarning` when setting the deprecated
``limit_to_all`` option of the completer. :ghpull:`10198`
* The :cellmagic:`capture` magic can now capture the result of a cell (from an
expression on the last line), as well as printed and displayed output.
:ghpull:`9851`.
- Update to IPython 5.1
* Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
* Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
* Don't set terminal title by default. :ghpull:`9801`
* Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
* Restore completion in debugger. :ghpull:`9785`
* Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
* Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
* Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
* Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
* An embedded interactive shell instance can be used more than once. :ghpull:`9843`
* More robust check for whether IPython is in a terminal. :ghpull:`9833`
* Better pretty-printing of dicts on PyPy. :ghpull:`9827`
* Some coloured output now looks better on dark background command prompts in Windows.
:ghpull:`9838`
* Improved tab completion of paths on Windows . :ghpull:`9826`
* Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
* Restore ``Ctrl-\`` as a shortcut to quit IPython.
* Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
* Add support for running directories containing a ``__main__.py`` file with the
``ipython`` command. :ghpull:`9813`
- Update to IPython 5.0
+ IPython 5 features a major upgrade to the terminal interface, bringing live
syntax highlighting as you type, proper multiline editing and multiline paste,
and tab completions that don't clutter up your history.
+ Backwards incompatible changes
* The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
You can distribute and install extensions as packages on PyPI.
* Callbacks registered while an event is being handled will now only be called
for subsequent events; previously they could be called for the current event.
Similarly, callbacks removed while handling an event *will* always get that
event. See :ghissue:`9447` and :ghpull:`9453`.
* Integration with pydb has been removed since pydb development has been stopped
since 2012, and pydb is not installable from PyPI.
* The ``autoedit_syntax`` option has apparently been broken for many years.
It has been removed.
* The overhaul of the terminal interface will probably cause a range of minor
issues for existing users.
* IPython no longer uses readline configuration (``~/.inputrc``). We hope that
the functionality you want (e.g. vi input mode) will be available by configuring
IPython directly (see :doc:`/config/options/terminal`).
* The ``PromptManager`` class has been removed, and the prompt machinery simplified.
* There are new options to configure the colours used in syntax highlighting.
We have tried to integrate them with our classic ``--colors`` option and
``%colors`` magic, but there's a mismatch in possibilities, so some configurations
may produce unexpected results. See :ref:`termcolour` for more information.
* The new interface is not compatible with Emacs 'inferior-shell' feature. To
continue using this, add the ``--simple-prompt`` flag to the command Emacs
runs. This flag disables most IPython features, relying on Emacs to provide
things like tab completion.
+ Provisional Changes
* When running via the Jupyter notebook interfaces, or other compatible client,
you can enable rich documentation experimental functionality:
When the ``docrepr`` package is installed setting the boolean flag
``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
object through sphinx before displaying them (see the ``docrepr`` package
documentation for more information.
+ Deprecated Features
* ``hooks.fix_error_editor`` seems unused and is pending deprecation.
* `IPython/core/excolors.py:ExceptionColors` is deprecated.
* `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
* `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
* The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
* The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
- Update to IPython 4.2
* Fix ``ipython -i`` on errors, which was broken in 4.1.
* The delay meant to highlight deprecated commands that have moved to jupyter has been removed.
* Improve compatibility with future versions of traitlets and matplotlib.
* Use stdlib :func:`python:shutil.get_terminal_size` to measure terminal width when displaying tracebacks
(provided by ``backports.shutil_get_terminal_size`` on Python 2).
- Update to IPython 4.1.2
* fixes installation issues with some versions of setuptools.
- specfile:
* update copyright year
* Simplify tests for determining whether to build pdf documentation
- update to version 4.1.1:
* Backport #9209: Don't import IPython to check version number in
setup
- Update to 4.1.0
* Release February, 2016. IPython 4.1 contain mostly bug fixes.
It though contain a few improvement.
* IPython debugger (IPdb) now supports the number of context
lines for the where (and w) commands. The context keyword is
also available in various APIs. See PR :ghpull:`9097`
* YouTube video will now show thumbnail when exported to a media
that do not support video. (:ghpull:`9086`)
* Add warning when running ipython <subcommand> when subcommand
is deprecated. jupyter should now be used.
* Code in %pinfo (also known as ??) are now highlighter
(:ghpull:`8947`)
* %aimport now support module completion. (:ghpull:`8884`)
* ipdb output is now colored ! (:ghpull:`8842`)
* Add ability to transpose columns for completion:
(:ghpull:`8748`)
* Many many docs improvements and bug fixes
- update to version 4.0.3:
* Python 3.5 bug in that could crash during shutdown, triggered by
deprecations in traitlets 4.1.
* Typo in deprecation message for nbconvert
- update to version 4.0.2:
* Fix backward-compatiblity shim for "IPython.Config", which
should have been deprecated instead of removed. This will be
removed in 5.0.
- update to version 4.0.1:
* Installation on some systems
* Compatibility with CPython 3.4.4
* Compatibility with Qt5
- Build documentation
This is in a separate spec file to avoid dependency loops
- Obsolete IPython
- Split the iptest executable into its own subpackage
This has a bunch of testing dependencies that are not otherwise
necessary.
- Update to 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.
* 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.
- Rename package to follow python package guidelines.
- update to version 7.4.0:
* Previously, we provided completion for a unicode name with its
relative symbol.With this, now IPython provides complete
suggestions to unicode name symbols.
* Make audio normalization optional
* Miscelanious
+ Fix improper acceptation of "return" outside of
functions. :ghpull:`11641`.
+ Fixed PyQt 5.11 backwards incompatibility causing sip import
failure. :ghpull:`11613`.
+ Fix Bug where "type?" woudl crash IPython. :ghpull:`1608`.
+ Allow to apply "@needs_local_scope" to cell magics for
convenience. :ghpull:`11542`.
- specfile:
* update copyright year
- update to version 7.3.0:
* 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:
+ Compatibility with Python 3.8.
+ 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`
- Update to version 7.2.0
* Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
* 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`
* Re-enable jedi by default if it's installed :ghpull:`11506`
* Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
- Update to version 7.1.0
+ Notable Changes
* Major update of "latex to unicode" tab completion map (see below)
+ Notable New Features:
* Restore functionality and documentation of the **sphinx directive**, which
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.
: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
TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
between modes.
+ Notable Fixes:
* Fix entering of **multi-line blocks in terminal** IPython, and various
crashes in the new input transformation machinery :ghpull:`11354`,
:ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
with Python 3.7.1**.
* Fix moving through generator stack in ipdb :ghpull:`11266`
* %Magic command arguments now support quoting. :ghpull:`11330`
* Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
* Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
* Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
mode. :ghpull:`11382`
* Fix mishandling of magics and ``= !`` assignment just after a dedent in
nested code blocks :ghpull:`11418`
* Fix instructions for custom shortcuts :ghpull:`11426`
+ Notable Internals improvements:
* Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
:ghpull:`11365`
* use ``perf_counter`` instead of ``clock`` for more precise
timing results with ``%time`` :ghpull:`11376`
- Remove upstream-included fix_test_history.patch
- Update to version 7.0.1
Highlights
* IPython 7.0+ now uses prompt_toolkit 2.0
* IPython can automatically await code at top level, you should
not need to access an event loop or runner yourself.
* The magic %autoreload 2 now captures new methods added to
classes. Earlier, only methods existing as of the initial
import were being tracked and updated.
* The autoindent feature that was deprecated in 5.x was
re-enabled and un-deprecated.
* Make %run -n -i ... work correctly. Earlier, if %run was
passed both arguments, -n would be silently ignored.
* The %%script (as well as %%bash, %%ruby, ... ) cell magics
now raise by default if the return code of 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.
- Add fix_test_history.patch
Fixes failure in test_history.py for sqlite >= 3.25
Should be fixed in next release
see https://github.com/ipython/ipython/issues/11372
- Fix prompt_toolkit dependency.
- Update to version 6.5.0
* Autocompletion fix for modules with out __init__.py :ghpull:`11227`
* update the %pastebin magic to use dpaste.com instead og GitHub Gist which now requires authentication :ghpull:`11182`
* Fix crash with multiprocessing :ghpull:`11185`
- Switch to using upstream documentation builds
- Not compatible with prompt_toolkit 2.x
- Update to version 6.4.0
* Fix display object not emitting metadata :ghpull:`11106`
* Comments failing Jedi test :ghpull:`11110`
- Remove upstream-included disable_jedi_in_tests.patch
- Add disable_jedi_in_tests.patch
Upstream bug: https://github.com/ipython/ipython/issues/11103
From: https://github.com/ipython/ipython/pull/11113
Should be in next release
- Add backcall dependency
- update to version 6.3.1:
* This is a bugfix release to switch the default completions back to
IPython's own completion machinery. We discovered some problems
with the completions from Jedi, including completing column names
on pandas data frames.
- changes from version 6.3:
* A new display class :class:`IPython.display.Code` can be used to
display syntax highlighted code in a notebook (:ghpull:`10978`).
* The :cellmagic:`html` magic now takes a "--isolated" option to put
the content in an iframe (:ghpull:`10962`).
* The code to find completions using the Jedi library has had
various adjustments. This is still a work in progress, but we hope
this version has fewer annoyances (:ghpull:`10956`,
:ghpull:`10969`, :ghpull:`10999`, :ghpull:`11035`,
:ghpull:`11063`, :ghpull:`11065`).
* The *post* event callbacks are now always called, even when the
execution failed (for example because of a "SyntaxError").
* The execution info and result objects are now made available in
the corresponding *pre* or *post* "*_run_cell" :doc:`event
callbacks </config/callbacks>` in a backward compatible manner
(:ghissue:`10774` and :ghpull:`10795`).
* Performance with very long code cells (hundreds of lines) is
greatly improved (:ghpull:`10898`). Further improvements are
planned for IPython 7.
- Update url
- update to version 6.2.1:
* IPython 6.2.1 ships with two minor fixes leading to no completions
when using Jedi 0.11+ :ghpull:`10829`, and crash on some linux
system with virtualenv :ghpull:`10829`
- Update to version 6.2.0
* Function signature in completions
* Assignments return values
* Recursive Call of ipdb
* System Wide config
* ProgressBar
* Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
* :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
* Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
* Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
from md5 to sha1.
* Clear breakpoints before running any script with debugger.
* Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`.
* Limit default number of returned completions to 500.
- Implement single-spec version
- Update to version 6.1.0
* Quotes in a filename are always escaped during tab-completion on non-Windows.
:ghpull:`10069`
* Variables now shadow magics in autocompletion. See :ghissue:`4877` and :ghpull:`10542`.
* Added the ability to add parameters to alias_magic.
* To suppress log state messages, you can now either use ``%logstart -q``, pass
``--LoggingMagics.quiet=True`` on the command line, or set
``c.LoggingMagics.quiet=True`` in your configuration file.
* An additional flag ``--TerminalInteractiveShell.term_title_format`` is
introduced to allow the user to control the format of the terminal title. It
is specified as a python format string, and currently the only variable it
will format is ``{cwd}``.
* ``??``/``%pinfo2`` will now show object docstrings if the source can't be retrieved. :ghpull:`10532`
* ``IPython.display`` has gained a ``%markdown`` cell magic. :ghpull:`10563`
* ``%config`` options can now be tab completed. :ghpull:`10555`
* ``%config`` with no arguments are now unique and sorted. :ghpull:`10548`
* Completion on keyword arguments does not duplicate ``=`` sign if already present. :ghpull:`10547`
* ``%run -m <module>`` now ``<module>`` passes extra arguments to ``<module>``. :ghpull:`10546`
* completer now understand "snake case auto complete": if ``foo_bar_kittens`` is
a valid completion, I can type ``f_b<tab>`` will complete to it. :ghpull:`10537`
* tracebacks are better standardized and will compress `/path/to/home` to `~`. :ghpull:`10515`
* ``TerminalInteractiveShell`` is configurable and can be configured to
(re)-use the readline interface.
* objects can now define a ``_repr_mimebundle_``
* Execution heuristics improve for single line statements
* ``display()`` can now return a display id to update display areas.
- Update to version 6.0.0
* A major improvement in the completion machinery which is now capable of
completing non-executed code.
* stop compatibility with Python 2, which is still supported on the bugfix
only 5.x branch.
* Configurable TerminalInteractiveShell, readline interface
* The :cellmagic:`capture` magic can now capture the result of a cell (from
an expression on the last line), as well as printed and displayed output.
* Pressing Ctrl-Z in the terminal debugger now suspends IPython, as it
already does in the main terminal prompt.
* Autoreload can now reload ``Enum``.
* IPython.display has gained a :any:`GeoJSON <IPython.display.GeoJSON>`
object.
- Update to version 5.4.1
* Released a few hours after 5.4, fix a crash when
``backports.shutil-get-terminal-size`` is not installed. :ghissue:`10629`
- Update to version 5.4
* Configurable TerminalInteractiveShell
* Define ``_repr_mimebundle_``
* Execution Heuristics
* Implement Display IDs
* Display function
* ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
:ghpull:`10523`
* Use user colorscheme in Pdb as well :ghpull:`10479`
* Faster shutdown. :ghpull:`10408`
* Fix a crash in reverse search. :ghpull:`10371`
* added ``Completer.backslash_combining_completions`` boolean option to
deactivate backslash-tab completion that may conflict with windows path.
- Fix building on platforms without icoutils
- Fix shebang rpmint errors.
- Add note about LTS status and the end of Python 2 support.
- Add python2- provides.
- Neither HTML nor PDF documentation will ever work again,
so drop it.
- Install icons.
- Install .desktop file.
- Update to IPython 5.3
* Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
:ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
* Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
:ghpull:`10240`
* Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
* Update terminal colors to be more visible by default on windows
:ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
* Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
:ghissue:`10273`
* Indent on new line by looking at the text before the cursor :ghpull:`10264`,
:ghpull:`10275`, :ghissue:`9283`
* Update QtEventloop integration to fix some matplotlib integration issues
:ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
* Respect completions display style in terminal debugger :ghpull:`10305`,
:ghpull:`10313`
* Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
The :kbd:`F2` shortcut is always enabled.
- Update to IPython 5.2.2
* Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
- Update to IPython 5.2.1
* Fix tab completion in the debugger. :ghpull:`10223`
- Update to IPython 5.2
* restore IPython's debugger to raise on quit. :ghpull:`10009`
* The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
now directly take a class argument for custom color style. :ghpull:`9848`
* Correctly handle matplotlib figures dpi :ghpull:`9868`
* Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
:ghpull:`9872`
* You can now press F2 while typing at a terminal prompt to edit the contents
in your favourite terminal editor. Set the :envvar:`EDITOR` environment
variable to pick which editor is used. :ghpull:`9929`
* sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
:ghpull:`9925`
* :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
convenience. :ghpull:`9947`
* The 'smart command mode' added to the debugger in 5.0 was removed, as more
people preferred the previous behaviour. Therefore, debugger commands such as
``c`` will act as debugger commands even when ``c`` is defined as a variable.
:ghpull:`10050`
* Fixes OS X event loop issues at startup, :ghpull:`10150`
* Deprecate the ``%autoindent`` magic. :ghpull:`10176`
* Emit a :any:`DeprecationWarning` when setting the deprecated
``limit_to_all`` option of the completer. :ghpull:`10198`
* The :cellmagic:`capture` magic can now capture the result of a cell (from an
expression on the last line), as well as printed and displayed output.
:ghpull:`9851`.
- Update to IPython 5.1
* Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
* Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
* Don't set terminal title by default. :ghpull:`9801`
* Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
* Restore completion in debugger. :ghpull:`9785`
* Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
* Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
* Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
* Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
* An embedded interactive shell instance can be used more than once. :ghpull:`9843`
* More robust check for whether IPython is in a terminal. :ghpull:`9833`
* Better pretty-printing of dicts on PyPy. :ghpull:`9827`
* Some coloured output now looks better on dark background command prompts in Windows.
:ghpull:`9838`
* Improved tab completion of paths on Windows . :ghpull:`9826`
* Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
* Restore ``Ctrl-\`` as a shortcut to quit IPython.
* Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
* Add support for running directories containing a ``__main__.py`` file with the
``ipython`` command. :ghpull:`9813`
- Update to IPython 5.0
+ IPython 5 features a major upgrade to the terminal interface, bringing live
syntax highlighting as you type, proper multiline editing and multiline paste,
and tab completions that don't clutter up your history.
+ Backwards incompatible changes
* The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
You can distribute and install extensions as packages on PyPI.
* Callbacks registered while an event is being handled will now only be called
for subsequent events; previously they could be called for the current event.
Similarly, callbacks removed while handling an event *will* always get that
event. See :ghissue:`9447` and :ghpull:`9453`.
* Integration with pydb has been removed since pydb development has been stopped
since 2012, and pydb is not installable from PyPI.
* The ``autoedit_syntax`` option has apparently been broken for many years.
It has been removed.
* The overhaul of the terminal interface will probably cause a range of minor
issues for existing users.
* IPython no longer uses readline configuration (``~/.inputrc``). We hope that
the functionality you want (e.g. vi input mode) will be available by configuring
IPython directly (see :doc:`/config/options/terminal`).
* The ``PromptManager`` class has been removed, and the prompt machinery simplified.
* There are new options to configure the colours used in syntax highlighting.
We have tried to integrate them with our classic ``--colors`` option and
``%colors`` magic, but there's a mismatch in possibilities, so some configurations
may produce unexpected results. See :ref:`termcolour` for more information.
* The new interface is not compatible with Emacs 'inferior-shell' feature. To
continue using this, add the ``--simple-prompt`` flag to the command Emacs
runs. This flag disables most IPython features, relying on Emacs to provide
things like tab completion.
+ Provisional Changes
* When running via the Jupyter notebook interfaces, or other compatible client,
you can enable rich documentation experimental functionality:
When the ``docrepr`` package is installed setting the boolean flag
``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
object through sphinx before displaying them (see the ``docrepr`` package
documentation for more information.
+ Deprecated Features
* ``hooks.fix_error_editor`` seems unused and is pending deprecation.
* `IPython/core/excolors.py:ExceptionColors` is deprecated.
* `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
* `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
* The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
* The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
- Update to IPython 4.2
* Fix ``ipython -i`` on errors, which was broken in 4.1.
* The delay meant to highlight deprecated commands that have moved to jupyter has been removed.
* Improve compatibility with future versions of traitlets and matplotlib.
* Use stdlib :func:`python:shutil.get_terminal_size` to measure terminal width when displaying tracebacks
(provided by ``backports.shutil_get_terminal_size`` on Python 2).
- Update to IPython 4.1.2
* fixes installation issues with some versions of setuptools.
- do not Recommend jupyter_nbconvert (which pulls in texlive)
- specfile:
* update copyright year
* Simplify tests for determining whether to build pdf documentation
- update to version 4.1.1:
* Backport #9209: Don't import IPython to check version number in
setup
- Update to 4.1.0
* Release February, 2016. IPython 4.1 contain mostly bug fixes.
It though contain a few improvement.
* IPython debugger (IPdb) now supports the number of context
lines for the where (and w) commands. The context keyword is
also available in various APIs. See PR :ghpull:`9097`
* YouTube video will now show thumbnail when exported to a media
that do not support video. (:ghpull:`9086`)
* Add warning when running ipython <subcommand> when subcommand
is deprecated. jupyter should now be used.
* Code in %pinfo (also known as ??) are now highlighter
(:ghpull:`8947`)
* %aimport now support module completion. (:ghpull:`8884`)
* ipdb output is now colored ! (:ghpull:`8842`)
* Add ability to transpose columns for completion:
(:ghpull:`8748`)
* Many many docs improvements and bug fixes
- update to version 4.0.3:
* Python 3.5 bug in that could crash during shutdown, triggered by
deprecations in traitlets 4.1.
* Typo in deprecation message for nbconvert
- update to version 4.0.2:
* Fix backward-compatiblity shim for "IPython.Config", which
should have been deprecated instead of removed. This will be
removed in 5.0.
- update to version 4.0.1:
* Installation on some systems
* Compatibility with CPython 3.4.4
* Compatibility with Qt5
- Build documentation
This is in a separate spec file to avoid dependency loops
- Obsolete IPython
- Split the iptest executable into its own subpackage
This has a bunch of testing dependencies that are not otherwise
necessary.
- Add conflict with older versions of IPython
- Initial version
OBS-URL: https://build.opensuse.org/request/show/698301
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=1
- Update to 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.
* 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.
- Update to 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.
* 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.
OBS-URL: https://build.opensuse.org/request/show/697970
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=5
- Rename package to follow python package guidelines.
- update to version 7.4.0:
* Previously, we provided completion for a unicode name with its
relative symbol.With this, now IPython provides complete
suggestions to unicode name symbols.
* Make audio normalization optional
* Miscelanious
+ Fix improper acceptation of "return" outside of
functions. :ghpull:`11641`.
+ Fixed PyQt 5.11 backwards incompatibility causing sip import
failure. :ghpull:`11613`.
+ Fix Bug where "type?" woudl crash IPython. :ghpull:`1608`.
+ Allow to apply "@needs_local_scope" to cell magics for
convenience. :ghpull:`11542`.
- specfile:
* update copyright year
- update to version 7.3.0:
* 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:
+ Compatibility with Python 3.8.
+ 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`
- Update to version 7.2.0
* Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
* 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`
* Re-enable jedi by default if it's installed :ghpull:`11506`
* Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
- Update to version 7.1.0
+ Notable Changes
* Major update of "latex to unicode" tab completion map (see below)
+ Notable New Features:
* Restore functionality and documentation of the **sphinx directive**, which
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.
: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
TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
between modes.
+ Notable Fixes:
* Fix entering of **multi-line blocks in terminal** IPython, and various
crashes in the new input transformation machinery :ghpull:`11354`,
:ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
with Python 3.7.1**.
* Fix moving through generator stack in ipdb :ghpull:`11266`
* %Magic command arguments now support quoting. :ghpull:`11330`
* Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
* Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
* Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
mode. :ghpull:`11382`
* Fix mishandling of magics and ``= !`` assignment just after a dedent in
nested code blocks :ghpull:`11418`
* Fix instructions for custom shortcuts :ghpull:`11426`
+ Notable Internals improvements:
* Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
:ghpull:`11365`
* use ``perf_counter`` instead of ``clock`` for more precise
timing results with ``%time`` :ghpull:`11376`
- Remove upstream-included fix_test_history.patch
- Update to version 7.0.1
Highlights
* IPython 7.0+ now uses prompt_toolkit 2.0
* IPython can automatically await code at top level, you should
not need to access an event loop or runner yourself.
* The magic %autoreload 2 now captures new methods added to
classes. Earlier, only methods existing as of the initial
import were being tracked and updated.
* The autoindent feature that was deprecated in 5.x was
re-enabled and un-deprecated.
* Make %run -n -i ... work correctly. Earlier, if %run was
passed both arguments, -n would be silently ignored.
* The %%script (as well as %%bash, %%ruby, ... ) cell magics
now raise by default if the return code of 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.
- Add fix_test_history.patch
Fixes failure in test_history.py for sqlite >= 3.25
Should be fixed in next release
see https://github.com/ipython/ipython/issues/11372
- Update to version 6.5.0
* Autocompletion fix for modules with out __init__.py :ghpull:`11227`
* update the %pastebin magic to use dpaste.com instead og GitHub Gist which now requires authentication :ghpull:`11182`
* Fix crash with multiprocessing :ghpull:`11185`
- Switch to using upstream documentation builds
- Update to version 6.4.0
* Fix display object not emitting metadata :ghpull:`11106`
* Comments failing Jedi test :ghpull:`11110`
- Remove upstream-included disable_jedi_in_tests.patch
- Add disable_jedi_in_tests.patch
Upstream bug: https://github.com/ipython/ipython/issues/11103
From: https://github.com/ipython/ipython/pull/11113
Should be in next release
- specfile:
* add python-backcall dependency
* fix 'provides' syntax
- update to version 6.3.1:
* This is a bugfix release to switch the default completions back to
IPython's own completion machinery. We discovered some problems
with the completions from Jedi, including completing column names
on pandas data frames.
- changes from version 6.3:
* A new display class :class:`IPython.display.Code` can be used to
display syntax highlighted code in a notebook (:ghpull:`10978`).
* The :cellmagic:`html` magic now takes a "--isolated" option to put
the content in an iframe (:ghpull:`10962`).
* The code to find completions using the Jedi library has had
various adjustments. This is still a work in progress, but we hope
this version has fewer annoyances (:ghpull:`10956`,
:ghpull:`10969`, :ghpull:`10999`, :ghpull:`11035`,
:ghpull:`11063`, :ghpull:`11065`).
* The *post* event callbacks are now always called, even when the
execution failed (for example because of a "SyntaxError").
* The execution info and result objects are now made available in
the corresponding *pre* or *post* "*_run_cell" :doc:`event
callbacks </config/callbacks>` in a backward compatible manner
(:ghissue:`10774` and :ghpull:`10795`).
* Performance with very long code cells (hundreds of lines) is
greatly improved (:ghpull:`10898`). Further improvements are
planned for IPython 7.
- Update url
- update to version 6.2.1:
* IPython 6.2.1 ships with two minor fixes leading to no completions
when using Jedi 0.11+ :ghpull:`10829`, and crash on some linux
system with virtualenv :ghpull:`10829`
- Fix conflict with old python3-jupyter_ipython-doc
- Update to version 6.2.0
* Function signature in completions
* Assignments return values
* Recursive Call of ipdb
* System Wide config
* ProgressBar
* Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
* :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
* Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
* Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
from md5 to sha1.
* Clear breakpoints before running any script with debugger.
* Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`.
* Limit default number of returned completions to 500.
- Implement single-spec version
- Update to version 6.1.0
* Quotes in a filename are always escaped during tab-completion on non-Windows.
:ghpull:`10069`
* Variables now shadow magics in autocompletion. See :ghissue:`4877` and :ghpull:`10542`.
* Added the ability to add parameters to alias_magic.
* To suppress log state messages, you can now either use ``%logstart -q``, pass
``--LoggingMagics.quiet=True`` on the command line, or set
``c.LoggingMagics.quiet=True`` in your configuration file.
* An additional flag ``--TerminalInteractiveShell.term_title_format`` is
introduced to allow the user to control the format of the terminal title. It
is specified as a python format string, and currently the only variable it
will format is ``{cwd}``.
* ``??``/``%pinfo2`` will now show object docstrings if the source can't be retrieved. :ghpull:`10532`
* ``IPython.display`` has gained a ``%markdown`` cell magic. :ghpull:`10563`
* ``%config`` options can now be tab completed. :ghpull:`10555`
* ``%config`` with no arguments are now unique and sorted. :ghpull:`10548`
* Completion on keyword arguments does not duplicate ``=`` sign if already present. :ghpull:`10547`
* ``%run -m <module>`` now ``<module>`` passes extra arguments to ``<module>``. :ghpull:`10546`
* completer now understand "snake case auto complete": if ``foo_bar_kittens`` is
a valid completion, I can type ``f_b<tab>`` will complete to it. :ghpull:`10537`
* tracebacks are better standardized and will compress `/path/to/home` to `~`. :ghpull:`10515`
* ``TerminalInteractiveShell`` is configurable and can be configured to
(re)-use the readline interface.
* objects can now define a ``_repr_mimebundle_``
* Execution heuristics improve for single line statements
* ``display()`` can now return a display id to update display areas.
- Update to version 6.0.0
* A major improvement in the completion machinery which is now capable of
completing non-executed code.
* stop compatibility with Python 2, which is still supported on the bugfix
only 5.x branch.
* Configurable TerminalInteractiveShell, readline interface
* The :cellmagic:`capture` magic can now capture the result of a cell (from
an expression on the last line), as well as printed and displayed output.
* Pressing Ctrl-Z in the terminal debugger now suspends IPython, as it
already does in the main terminal prompt.
* Autoreload can now reload ``Enum``.
* IPython.display has gained a :any:`GeoJSON <IPython.display.GeoJSON>`
object.
- Update to version 5.4.1
* Released a few hours after 5.4, fix a crash when
``backports.shutil-get-terminal-size`` is not installed. :ghissue:`10629`
- Update to version 5.4
* Configurable TerminalInteractiveShell
* Define ``_repr_mimebundle_``
* Execution Heuristics
* Implement Display IDs
* Display function
* ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
:ghpull:`10523`
* Use user colorscheme in Pdb as well :ghpull:`10479`
* Faster shutdown. :ghpull:`10408`
* Fix a crash in reverse search. :ghpull:`10371`
* added ``Completer.backslash_combining_completions`` boolean option to
deactivate backslash-tab completion that may conflict with windows path.
- Fix building on platforms without icoutils
- Fix shebang rpmint errors.
- Add note about LTS status and the end of Python 2 support.
- Add python2- provides.
- Neither HTML nor PDF documentation will ever work again,
so drop it.
- Update to IPython 5.3
* Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
:ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
* Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
:ghpull:`10240`
* Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
* Update terminal colors to be more visible by default on windows
:ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
* Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
:ghissue:`10273`
* Indent on new line by looking at the text before the cursor :ghpull:`10264`,
:ghpull:`10275`, :ghissue:`9283`
* Update QtEventloop integration to fix some matplotlib integration issues
:ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
* Respect completions display style in terminal debugger :ghpull:`10305`,
:ghpull:`10313`
* Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
The :kbd:`F2` shortcut is always enabled.
- Update to IPython 5.2.2
* Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
- Update to IPython 5.2.1
* Fix tab completion in the debugger. :ghpull:`10223`
- Update to IPython 5.2
* restore IPython's debugger to raise on quit. :ghpull:`10009`
* The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
now directly take a class argument for custom color style. :ghpull:`9848`
* Correctly handle matplotlib figures dpi :ghpull:`9868`
* Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
:ghpull:`9872`
* You can now press F2 while typing at a terminal prompt to edit the contents
in your favourite terminal editor. Set the :envvar:`EDITOR` environment
variable to pick which editor is used. :ghpull:`9929`
* sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
:ghpull:`9925`
* :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
convenience. :ghpull:`9947`
* The 'smart command mode' added to the debugger in 5.0 was removed, as more
people preferred the previous behaviour. Therefore, debugger commands such as
``c`` will act as debugger commands even when ``c`` is defined as a variable.
:ghpull:`10050`
* Fixes OS X event loop issues at startup, :ghpull:`10150`
* Deprecate the ``%autoindent`` magic. :ghpull:`10176`
* Emit a :any:`DeprecationWarning` when setting the deprecated
``limit_to_all`` option of the completer. :ghpull:`10198`
* The :cellmagic:`capture` magic can now capture the result of a cell (from an
expression on the last line), as well as printed and displayed output.
:ghpull:`9851`.
- Update to IPython 5.1
* Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
* Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
* Don't set terminal title by default. :ghpull:`9801`
* Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
* Restore completion in debugger. :ghpull:`9785`
* Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
* Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
* Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
* Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
* An embedded interactive shell instance can be used more than once. :ghpull:`9843`
* More robust check for whether IPython is in a terminal. :ghpull:`9833`
* Better pretty-printing of dicts on PyPy. :ghpull:`9827`
* Some coloured output now looks better on dark background command prompts in Windows.
:ghpull:`9838`
* Improved tab completion of paths on Windows . :ghpull:`9826`
* Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
* Restore ``Ctrl-\`` as a shortcut to quit IPython.
* Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
* Add support for running directories containing a ``__main__.py`` file with the
``ipython`` command. :ghpull:`9813`
- Update to IPython 5.0
+ IPython 5 features a major upgrade to the terminal interface, bringing live
syntax highlighting as you type, proper multiline editing and multiline paste,
and tab completions that don't clutter up your history.
+ Backwards incompatible changes
* The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
You can distribute and install extensions as packages on PyPI.
* Callbacks registered while an event is being handled will now only be called
for subsequent events; previously they could be called for the current event.
Similarly, callbacks removed while handling an event *will* always get that
event. See :ghissue:`9447` and :ghpull:`9453`.
* Integration with pydb has been removed since pydb development has been stopped
since 2012, and pydb is not installable from PyPI.
* The ``autoedit_syntax`` option has apparently been broken for many years.
It has been removed.
* The overhaul of the terminal interface will probably cause a range of minor
issues for existing users.
* IPython no longer uses readline configuration (``~/.inputrc``). We hope that
the functionality you want (e.g. vi input mode) will be available by configuring
IPython directly (see :doc:`/config/options/terminal`).
* The ``PromptManager`` class has been removed, and the prompt machinery simplified.
* There are new options to configure the colours used in syntax highlighting.
We have tried to integrate them with our classic ``--colors`` option and
``%colors`` magic, but there's a mismatch in possibilities, so some configurations
may produce unexpected results. See :ref:`termcolour` for more information.
* The new interface is not compatible with Emacs 'inferior-shell' feature. To
continue using this, add the ``--simple-prompt`` flag to the command Emacs
runs. This flag disables most IPython features, relying on Emacs to provide
things like tab completion.
+ Provisional Changes
* When running via the Jupyter notebook interfaces, or other compatible client,
you can enable rich documentation experimental functionality:
When the ``docrepr`` package is installed setting the boolean flag
``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
object through sphinx before displaying them (see the ``docrepr`` package
documentation for more information.
+ Deprecated Features
* ``hooks.fix_error_editor`` seems unused and is pending deprecation.
* `IPython/core/excolors.py:ExceptionColors` is deprecated.
* `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
* `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
* The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
* The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
- Update to IPython 4.2
* Fix ``ipython -i`` on errors, which was broken in 4.1.
* The delay meant to highlight deprecated commands that have moved to jupyter has been removed.
* Improve compatibility with future versions of traitlets and matplotlib.
* Use stdlib :func:`python:shutil.get_terminal_size` to measure terminal width when displaying tracebacks
(provided by ``backports.shutil_get_terminal_size`` on Python 2).
- Update to IPython 4.1.2
* fixes installation issues with some versions of setuptools.
- specfile:
* update copyright year
* Simplify tests for determining whether to build pdf documentation
- update to version 4.1.1:
* Backport #9209: Don't import IPython to check version number in
setup
- Update to 4.1.0
* Release February, 2016. IPython 4.1 contain mostly bug fixes.
It though contain a few improvement.
* IPython debugger (IPdb) now supports the number of context
lines for the where (and w) commands. The context keyword is
also available in various APIs. See PR :ghpull:`9097`
* YouTube video will now show thumbnail when exported to a media
that do not support video. (:ghpull:`9086`)
* Add warning when running ipython <subcommand> when subcommand
is deprecated. jupyter should now be used.
* Code in %pinfo (also known as ??) are now highlighter
(:ghpull:`8947`)
* %aimport now support module completion. (:ghpull:`8884`)
* ipdb output is now colored ! (:ghpull:`8842`)
* Add ability to transpose columns for completion:
(:ghpull:`8748`)
* Many many docs improvements and bug fixes
- update to version 4.0.3:
* Python 3.5 bug in that could crash during shutdown, triggered by
deprecations in traitlets 4.1.
* Typo in deprecation message for nbconvert
- update to version 4.0.2:
* Fix backward-compatiblity shim for "IPython.Config", which
should have been deprecated instead of removed. This will be
removed in 5.0.
- update to version 4.0.1:
* Installation on some systems
* Compatibility with CPython 3.4.4
* Compatibility with Qt5
- Build documentation
This is in a separate spec file to avoid dependency loops
- Obsolete IPython
- Split the iptest executable into its own subpackage
This has a bunch of testing dependencies that are not otherwise
necessary.
- Rename package to follow python package guidelines.
- update to version 7.4.0:
* Previously, we provided completion for a unicode name with its
relative symbol.With this, now IPython provides complete
suggestions to unicode name symbols.
* Make audio normalization optional
* Miscelanious
+ Fix improper acceptation of "return" outside of
functions. :ghpull:`11641`.
+ Fixed PyQt 5.11 backwards incompatibility causing sip import
failure. :ghpull:`11613`.
+ Fix Bug where "type?" woudl crash IPython. :ghpull:`1608`.
+ Allow to apply "@needs_local_scope" to cell magics for
convenience. :ghpull:`11542`.
- specfile:
* update copyright year
- update to version 7.3.0:
* 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:
+ Compatibility with Python 3.8.
+ 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`
- Update to version 7.2.0
* Fix a bug preventing PySide2 GUI integration from working :ghpull:`11464`
* 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`
* Re-enable jedi by default if it's installed :ghpull:`11506`
* Add New ``minimal`` exception reporting mode (useful for educational purpose). See :ghpull:`11509`
- Update to version 7.1.0
+ Notable Changes
* Major update of "latex to unicode" tab completion map (see below)
+ Notable New Features:
* Restore functionality and documentation of the **sphinx directive**, which
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.
: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
TerminalInteractiveShell.editing_mode = 'emacs'`` to dynamically switch
between modes.
+ Notable Fixes:
* Fix entering of **multi-line blocks in terminal** IPython, and various
crashes in the new input transformation machinery :ghpull:`11354`,
:ghpull:`11356`, :ghpull:`11358`. These also fix a **Compatibility bug
with Python 3.7.1**.
* Fix moving through generator stack in ipdb :ghpull:`11266`
* %Magic command arguments now support quoting. :ghpull:`11330`
* Re-add ``rprint`` and ``rprinte`` aliases. :ghpull:`11331`
* Remove implicit dependency on ``ipython_genutils`` :ghpull:`11317`
* Make ``nonlocal`` raise ``SyntaxError`` instead of silently failing in async
mode. :ghpull:`11382`
* Fix mishandling of magics and ``= !`` assignment just after a dedent in
nested code blocks :ghpull:`11418`
* Fix instructions for custom shortcuts :ghpull:`11426`
+ Notable Internals improvements:
* Use of ``os.scandir`` (Python 3 only) to speed up some file system operations.
:ghpull:`11365`
* use ``perf_counter`` instead of ``clock`` for more precise
timing results with ``%time`` :ghpull:`11376`
- Remove upstream-included fix_test_history.patch
- Update to version 7.0.1
Highlights
* IPython 7.0+ now uses prompt_toolkit 2.0
* IPython can automatically await code at top level, you should
not need to access an event loop or runner yourself.
* The magic %autoreload 2 now captures new methods added to
classes. Earlier, only methods existing as of the initial
import were being tracked and updated.
* The autoindent feature that was deprecated in 5.x was
re-enabled and un-deprecated.
* Make %run -n -i ... work correctly. Earlier, if %run was
passed both arguments, -n would be silently ignored.
* The %%script (as well as %%bash, %%ruby, ... ) cell magics
now raise by default if the return code of 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.
- Add fix_test_history.patch
Fixes failure in test_history.py for sqlite >= 3.25
Should be fixed in next release
see https://github.com/ipython/ipython/issues/11372
- Fix prompt_toolkit dependency.
- Update to version 6.5.0
* Autocompletion fix for modules with out __init__.py :ghpull:`11227`
* update the %pastebin magic to use dpaste.com instead og GitHub Gist which now requires authentication :ghpull:`11182`
* Fix crash with multiprocessing :ghpull:`11185`
- Switch to using upstream documentation builds
- Not compatible with prompt_toolkit 2.x
- Update to version 6.4.0
* Fix display object not emitting metadata :ghpull:`11106`
* Comments failing Jedi test :ghpull:`11110`
- Remove upstream-included disable_jedi_in_tests.patch
- Add disable_jedi_in_tests.patch
Upstream bug: https://github.com/ipython/ipython/issues/11103
From: https://github.com/ipython/ipython/pull/11113
Should be in next release
- Add backcall dependency
- update to version 6.3.1:
* This is a bugfix release to switch the default completions back to
IPython's own completion machinery. We discovered some problems
with the completions from Jedi, including completing column names
on pandas data frames.
- changes from version 6.3:
* A new display class :class:`IPython.display.Code` can be used to
display syntax highlighted code in a notebook (:ghpull:`10978`).
* The :cellmagic:`html` magic now takes a "--isolated" option to put
the content in an iframe (:ghpull:`10962`).
* The code to find completions using the Jedi library has had
various adjustments. This is still a work in progress, but we hope
this version has fewer annoyances (:ghpull:`10956`,
:ghpull:`10969`, :ghpull:`10999`, :ghpull:`11035`,
:ghpull:`11063`, :ghpull:`11065`).
* The *post* event callbacks are now always called, even when the
execution failed (for example because of a "SyntaxError").
* The execution info and result objects are now made available in
the corresponding *pre* or *post* "*_run_cell" :doc:`event
callbacks </config/callbacks>` in a backward compatible manner
(:ghissue:`10774` and :ghpull:`10795`).
* Performance with very long code cells (hundreds of lines) is
greatly improved (:ghpull:`10898`). Further improvements are
planned for IPython 7.
- Update url
- update to version 6.2.1:
* IPython 6.2.1 ships with two minor fixes leading to no completions
when using Jedi 0.11+ :ghpull:`10829`, and crash on some linux
system with virtualenv :ghpull:`10829`
- Update to version 6.2.0
* Function signature in completions
* Assignments return values
* Recursive Call of ipdb
* System Wide config
* ProgressBar
* Fix ``IPython.core.display:Pretty._repr_pretty_`` had the wrong signature.
* :magic:`timeit` now give a correct ``SyntaxError`` if naked ``return`` used.
* Prepare the ``:ipython:`` directive to be compatible with Sphinx 1.7.
* Make IPython work with OpenSSL in FIPS mode; change hash algorithm of input
from md5 to sha1.
* Clear breakpoints before running any script with debugger.
* Document that :magic:`profile` is deprecated, not to be confused with :magic:`prun`.
* Limit default number of returned completions to 500.
- Implement single-spec version
- Update to version 6.1.0
* Quotes in a filename are always escaped during tab-completion on non-Windows.
:ghpull:`10069`
* Variables now shadow magics in autocompletion. See :ghissue:`4877` and :ghpull:`10542`.
* Added the ability to add parameters to alias_magic.
* To suppress log state messages, you can now either use ``%logstart -q``, pass
``--LoggingMagics.quiet=True`` on the command line, or set
``c.LoggingMagics.quiet=True`` in your configuration file.
* An additional flag ``--TerminalInteractiveShell.term_title_format`` is
introduced to allow the user to control the format of the terminal title. It
is specified as a python format string, and currently the only variable it
will format is ``{cwd}``.
* ``??``/``%pinfo2`` will now show object docstrings if the source can't be retrieved. :ghpull:`10532`
* ``IPython.display`` has gained a ``%markdown`` cell magic. :ghpull:`10563`
* ``%config`` options can now be tab completed. :ghpull:`10555`
* ``%config`` with no arguments are now unique and sorted. :ghpull:`10548`
* Completion on keyword arguments does not duplicate ``=`` sign if already present. :ghpull:`10547`
* ``%run -m <module>`` now ``<module>`` passes extra arguments to ``<module>``. :ghpull:`10546`
* completer now understand "snake case auto complete": if ``foo_bar_kittens`` is
a valid completion, I can type ``f_b<tab>`` will complete to it. :ghpull:`10537`
* tracebacks are better standardized and will compress `/path/to/home` to `~`. :ghpull:`10515`
* ``TerminalInteractiveShell`` is configurable and can be configured to
(re)-use the readline interface.
* objects can now define a ``_repr_mimebundle_``
* Execution heuristics improve for single line statements
* ``display()`` can now return a display id to update display areas.
- Update to version 6.0.0
* A major improvement in the completion machinery which is now capable of
completing non-executed code.
* stop compatibility with Python 2, which is still supported on the bugfix
only 5.x branch.
* Configurable TerminalInteractiveShell, readline interface
* The :cellmagic:`capture` magic can now capture the result of a cell (from
an expression on the last line), as well as printed and displayed output.
* Pressing Ctrl-Z in the terminal debugger now suspends IPython, as it
already does in the main terminal prompt.
* Autoreload can now reload ``Enum``.
* IPython.display has gained a :any:`GeoJSON <IPython.display.GeoJSON>`
object.
- Update to version 5.4.1
* Released a few hours after 5.4, fix a crash when
``backports.shutil-get-terminal-size`` is not installed. :ghissue:`10629`
- Update to version 5.4
* Configurable TerminalInteractiveShell
* Define ``_repr_mimebundle_``
* Execution Heuristics
* Implement Display IDs
* Display function
* ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
:ghpull:`10523`
* Use user colorscheme in Pdb as well :ghpull:`10479`
* Faster shutdown. :ghpull:`10408`
* Fix a crash in reverse search. :ghpull:`10371`
* added ``Completer.backslash_combining_completions`` boolean option to
deactivate backslash-tab completion that may conflict with windows path.
- Fix building on platforms without icoutils
- Fix shebang rpmint errors.
- Add note about LTS status and the end of Python 2 support.
- Add python2- provides.
- Neither HTML nor PDF documentation will ever work again,
so drop it.
- Install icons.
- Install .desktop file.
- Update to IPython 5.3
* Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
:ghpull:`10231`, :ghissue:`10296`, :ghissue:`10229`
* Always wait for editor inputhook for terminal IPython :ghpull:`10239`,
:ghpull:`10240`
* Disable ``_ipython_display_`` in terminal :ghpull:`10249`, :ghpull:`10274`
* Update terminal colors to be more visible by default on windows
:ghpull:`10260`, :ghpull:`10238`, :ghissue:`10281`
* Add Ctrl-Z shortcut (suspend) in terminal debugger :ghpull:`10254`,
:ghissue:`10273`
* Indent on new line by looking at the text before the cursor :ghpull:`10264`,
:ghpull:`10275`, :ghissue:`9283`
* Update QtEventloop integration to fix some matplotlib integration issues
:ghpull:`10201`, :ghpull:`10311`, :ghissue:`10201`
* Respect completions display style in terminal debugger :ghpull:`10305`,
:ghpull:`10313`
* Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
in vi mode, and :kbd:`C-X C-E` in emacs mode (:ghpull:`10330`).
The :kbd:`F2` shortcut is always enabled.
- Update to IPython 5.2.2
* Fix error when starting with ``IPCompleter.limit_to__all__`` configured.
- Update to IPython 5.2.1
* Fix tab completion in the debugger. :ghpull:`10223`
- Update to IPython 5.2
* restore IPython's debugger to raise on quit. :ghpull:`10009`
* The configuration value ``c.TerminalInteractiveShell.highlighting_style`` can
now directly take a class argument for custom color style. :ghpull:`9848`
* Correctly handle matplotlib figures dpi :ghpull:`9868`
* Deprecate ``-e`` flag for the ``%notebook`` magic that had no effects.
:ghpull:`9872`
* You can now press F2 while typing at a terminal prompt to edit the contents
in your favourite terminal editor. Set the :envvar:`EDITOR` environment
variable to pick which editor is used. :ghpull:`9929`
* sdists will now only be ``.tar.gz`` as per upstream PyPI requirements.
:ghpull:`9925`
* :any:`IPython.core.debugger` have gained a ``set_trace()`` method for
convenience. :ghpull:`9947`
* The 'smart command mode' added to the debugger in 5.0 was removed, as more
people preferred the previous behaviour. Therefore, debugger commands such as
``c`` will act as debugger commands even when ``c`` is defined as a variable.
:ghpull:`10050`
* Fixes OS X event loop issues at startup, :ghpull:`10150`
* Deprecate the ``%autoindent`` magic. :ghpull:`10176`
* Emit a :any:`DeprecationWarning` when setting the deprecated
``limit_to_all`` option of the completer. :ghpull:`10198`
* The :cellmagic:`capture` magic can now capture the result of a cell (from an
expression on the last line), as well as printed and displayed output.
:ghpull:`9851`.
- Update to IPython 5.1
* Broken ``%timeit`` on Python2 due to the use of ``__qualname__``. :ghpull:`9804`
* Restore ``%gui qt`` to create and return a ``QApplication`` if necessary. :ghpull:`9789`
* Don't set terminal title by default. :ghpull:`9801`
* Preserve indentation when inserting newlines with ``Ctrl-O``. :ghpull:`9770`
* Restore completion in debugger. :ghpull:`9785`
* Deprecate ``IPython.core.debugger.Tracer()`` in favor of simpler, newer, APIs. :ghpull:`9731`
* Restore ``NoOpContext`` context manager removed by mistake, and add `DeprecationWarning`. :ghpull:`9765`
* Add option allowing ``Prompt_toolkit`` to use 24bits colors. :ghpull:`9736`
* Fix for closing interactive matplotlib windows on OS X. :ghpull:`9854`
* An embedded interactive shell instance can be used more than once. :ghpull:`9843`
* More robust check for whether IPython is in a terminal. :ghpull:`9833`
* Better pretty-printing of dicts on PyPy. :ghpull:`9827`
* Some coloured output now looks better on dark background command prompts in Windows.
:ghpull:`9838`
* Improved tab completion of paths on Windows . :ghpull:`9826`
* Fix tkinter event loop integration on Python 2 with ``future`` installed. :ghpull:`9824`
* Restore ``Ctrl-\`` as a shortcut to quit IPython.
* Make ``get_ipython()`` accessible when modules are imported by startup files. :ghpull:`9818`
* Add support for running directories containing a ``__main__.py`` file with the
``ipython`` command. :ghpull:`9813`
- Update to IPython 5.0
+ IPython 5 features a major upgrade to the terminal interface, bringing live
syntax highlighting as you type, proper multiline editing and multiline paste,
and tab completions that don't clutter up your history.
+ Backwards incompatible changes
* The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
You can distribute and install extensions as packages on PyPI.
* Callbacks registered while an event is being handled will now only be called
for subsequent events; previously they could be called for the current event.
Similarly, callbacks removed while handling an event *will* always get that
event. See :ghissue:`9447` and :ghpull:`9453`.
* Integration with pydb has been removed since pydb development has been stopped
since 2012, and pydb is not installable from PyPI.
* The ``autoedit_syntax`` option has apparently been broken for many years.
It has been removed.
* The overhaul of the terminal interface will probably cause a range of minor
issues for existing users.
* IPython no longer uses readline configuration (``~/.inputrc``). We hope that
the functionality you want (e.g. vi input mode) will be available by configuring
IPython directly (see :doc:`/config/options/terminal`).
* The ``PromptManager`` class has been removed, and the prompt machinery simplified.
* There are new options to configure the colours used in syntax highlighting.
We have tried to integrate them with our classic ``--colors`` option and
``%colors`` magic, but there's a mismatch in possibilities, so some configurations
may produce unexpected results. See :ref:`termcolour` for more information.
* The new interface is not compatible with Emacs 'inferior-shell' feature. To
continue using this, add the ``--simple-prompt`` flag to the command Emacs
runs. This flag disables most IPython features, relying on Emacs to provide
things like tab completion.
+ Provisional Changes
* When running via the Jupyter notebook interfaces, or other compatible client,
you can enable rich documentation experimental functionality:
When the ``docrepr`` package is installed setting the boolean flag
``InteractiveShell.sphinxify_docstring`` to ``True``, will process the various
object through sphinx before displaying them (see the ``docrepr`` package
documentation for more information.
+ Deprecated Features
* ``hooks.fix_error_editor`` seems unused and is pending deprecation.
* `IPython/core/excolors.py:ExceptionColors` is deprecated.
* `IPython.core.InteractiveShell:write()` is deprecated; use `sys.stdout` instead.
* `IPython.core.InteractiveShell:write_err()` is deprecated; use `sys.stderr` instead.
* The `formatter` keyword argument to `Inspector.info` in `IPython.core.oinspec` has no effect.
* The `global_ns` keyword argument of IPython Embed was deprecated, and has no effect. Use `module` keyword argument instead.
- Update to IPython 4.2
* Fix ``ipython -i`` on errors, which was broken in 4.1.
* The delay meant to highlight deprecated commands that have moved to jupyter has been removed.
* Improve compatibility with future versions of traitlets and matplotlib.
* Use stdlib :func:`python:shutil.get_terminal_size` to measure terminal width when displaying tracebacks
(provided by ``backports.shutil_get_terminal_size`` on Python 2).
- Update to IPython 4.1.2
* fixes installation issues with some versions of setuptools.
- do not Recommend jupyter_nbconvert (which pulls in texlive)
- specfile:
* update copyright year
* Simplify tests for determining whether to build pdf documentation
- update to version 4.1.1:
* Backport #9209: Don't import IPython to check version number in
setup
- Update to 4.1.0
* Release February, 2016. IPython 4.1 contain mostly bug fixes.
It though contain a few improvement.
* IPython debugger (IPdb) now supports the number of context
lines for the where (and w) commands. The context keyword is
also available in various APIs. See PR :ghpull:`9097`
* YouTube video will now show thumbnail when exported to a media
that do not support video. (:ghpull:`9086`)
* Add warning when running ipython <subcommand> when subcommand
is deprecated. jupyter should now be used.
* Code in %pinfo (also known as ??) are now highlighter
(:ghpull:`8947`)
* %aimport now support module completion. (:ghpull:`8884`)
* ipdb output is now colored ! (:ghpull:`8842`)
* Add ability to transpose columns for completion:
(:ghpull:`8748`)
* Many many docs improvements and bug fixes
- update to version 4.0.3:
* Python 3.5 bug in that could crash during shutdown, triggered by
deprecations in traitlets 4.1.
* Typo in deprecation message for nbconvert
- update to version 4.0.2:
* Fix backward-compatiblity shim for "IPython.Config", which
should have been deprecated instead of removed. This will be
removed in 5.0.
- update to version 4.0.1:
* Installation on some systems
* Compatibility with CPython 3.4.4
* Compatibility with Qt5
- Build documentation
This is in a separate spec file to avoid dependency loops
- Obsolete IPython
- Split the iptest executable into its own subpackage
This has a bunch of testing dependencies that are not otherwise
necessary.
- Add conflict with older versions of IPython
- Initial version
OBS-URL: https://build.opensuse.org/request/show/697883
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipython?expand=0&rev=1
oid sha256:c6ed726a140b6e725b911528f80439c534fac915246af3efc39440a6b0f9d716
size 5492936
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.