diff --git a/ipython-8.0.1.tar.gz b/ipython-8.0.1.tar.gz deleted file mode 100644 index 95a54a9..0000000 --- a/ipython-8.0.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab564d4521ea8ceaac26c3a2c6e5ddbca15c8848fd5a5cc325f960da88d42974 -size 5306811 diff --git a/ipython-8.1.0.tar.gz b/ipython-8.1.0.tar.gz new file mode 100644 index 0000000..9640e6b --- /dev/null +++ b/ipython-8.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42c23e90b2deaae631266885de1656a517a1673d7e1db57e8eb3a4bb6cd5ce1b +size 5312523 diff --git a/ipython-pr13282-py310-inspect.patch b/ipython-pr13282-py310-inspect.patch deleted file mode 100644 index c414e89..0000000 --- a/ipython-pr13282-py310-inspect.patch +++ /dev/null @@ -1,109 +0,0 @@ -From fc57ec912eec9da4c33d8db5416fdb2dada706e7 Mon Sep 17 00:00:00 2001 -From: Nikita Kniazev -Date: Mon, 1 Nov 2021 19:09:58 +0300 -Subject: [PATCH 1/5] Handle changed exception type from inspect.getabsfile - (bpo-44648) - -https://bugs.python.org/issue44648 (Python 3.10+) ---- - IPython/core/oinspect.py | 4 ++-- - IPython/core/tests/test_completer.py | 20 +++++++++++++++----- - IPython/lib/tests/test_pretty.py | 1 - - 3 files changed, 17 insertions(+), 8 deletions(-) - ---- a/IPython/core/oinspect.py -+++ b/IPython/core/oinspect.py -@@ -224,7 +224,7 @@ def format_argspec(argspec): - - DEPRECATED (since 7.10): Do not use; will be removed in future versions. - """ -- -+ - warnings.warn('`format_argspec` function is deprecated as of IPython 7.10' - 'and will be removed in future versions.', DeprecationWarning, stacklevel=2) - -@@ -309,7 +309,7 @@ def find_file(obj) -> str: - fname = None - try: - fname = inspect.getabsfile(obj) -- except TypeError: -+ except (OSError, TypeError): - # For an instance, the file that matters is where its class was - # declared. - try: ---- a/IPython/core/tests/test_completer.py -+++ b/IPython/core/tests/test_completer.py -@@ -26,6 +26,15 @@ from IPython.core.completer import ( - _deduplicate_completions, - ) - -+if sys.version_info >= (3, 10): -+ import jedi -+ from pkg_resources import parse_version -+ -+ # Requires https://github.com/davidhalter/jedi/pull/1795 -+ jedi_issue = parse_version(jedi.__version__) <= parse_version("0.18.0") -+else: -+ jedi_issue = False -+ - # ----------------------------------------------------------------------------- - # Test functions - # ----------------------------------------------------------------------------- -@@ -94,7 +103,7 @@ def test_unicode_range(): - """ - assert len_exp == len_test, message - -- # fail if new unicode symbols have been added. -+ # fail if new unicode symbols have been added. - assert len_exp <= 138552, message - - -@@ -475,6 +484,7 @@ class TestCompleter(unittest.TestCase): - "encoding" in c.signature - ), "Signature of function was not found by completer" - -+ @pytest.mark.xfail(jedi_issue, reason="Known failure on jedi<=0.18.0") - def test_deduplicate_completions(self): - """ - Test that completions are correctly deduplicated (even if ranges are not the same) -@@ -500,10 +510,10 @@ class TestCompleter(unittest.TestCase): - - def test_greedy_completions(self): - """ -- Test the capability of the Greedy completer. -+ Test the capability of the Greedy completer. - - Most of the test here does not really show off the greedy completer, for proof -- each of the text below now pass with Jedi. The greedy completer is capable of more. -+ each of the text below now pass with Jedi. The greedy completer is capable of more. - - See the :any:`test_dict_key_completion_contexts` - -@@ -611,7 +621,7 @@ class TestCompleter(unittest.TestCase): - - def test_limit_to__all__False_ok(self): - """ -- Limit to all is deprecated, once we remove it this test can go away. -+ Limit to all is deprecated, once we remove it this test can go away. - """ - ip = get_ipython() - c = ip.Completer -@@ -838,7 +848,7 @@ class TestCompleter(unittest.TestCase): - does return what expected, and does not crash. - """ - delims = " \t\n`!@#$^&*()=+[{]}\\|;:'\",<>?" -- -+ - keys = [("foo", "bar"), ("foo", "oof"), ("foo", b"bar"), ('other', 'test')] - - # Completion on first key == "foo" ---- a/IPython/lib/tests/test_pretty.py -+++ b/IPython/lib/tests/test_pretty.py -@@ -7,7 +7,6 @@ - - from collections import Counter, defaultdict, deque, OrderedDict, UserList - import os --import pytest - import types - import string - import sys diff --git a/ipython-pr13371-py310-oserror.patch b/ipython-pr13371-py310-oserror.patch deleted file mode 100644 index 75a28e1..0000000 --- a/ipython-pr13371-py310-oserror.patch +++ /dev/null @@ -1,43 +0,0 @@ -From aa169302f4acbbcae616154bf54c70167dbd1fd5 Mon Sep 17 00:00:00 2001 -From: Nikita Kniazev -Date: Sat, 4 Dec 2021 19:32:13 +0300 -Subject: [PATCH 1/2] Everything is an object and has a `__class__` in Python 3 - ---- - IPython/core/oinspect.py | 2 +- - IPython/core/tests/test_oinspect.py | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - ---- a/IPython/core/oinspect.py -+++ b/IPython/core/oinspect.py -@@ -309,7 +309,7 @@ def find_file(obj) -> str: - fname = None - try: - fname = inspect.getabsfile(obj) -- except (OSError, TypeError): -+ except TypeError: - # For an instance, the file that matters is where its class was - # declared. - try: ---- a/IPython/core/tests/test_oinspect.py -+++ b/IPython/core/tests/test_oinspect.py -@@ -35,6 +35,10 @@ class SourceModuleMainTest: - __module__ = "__main__" - - -+class SourceModuleMainTest: -+ __module__ = "__main__" -+ -+ - #----------------------------------------------------------------------------- - # Local utilities - #----------------------------------------------------------------------------- -@@ -43,7 +47,7 @@ class SourceModuleMainTest: - # defined, if any code is inserted above, the following line will need to be - # updated. Do NOT insert any whitespace between the next line and the function - # definition below. --THIS_LINE_NUMBER = 46 # Put here the actual number of this line -+THIS_LINE_NUMBER = 50 # Put here the actual number of this line - - - def test_find_source_lines(): diff --git a/ipython-pr13466-display.patch b/ipython-pr13466-display.patch deleted file mode 100644 index 76b9110..0000000 --- a/ipython-pr13466-display.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ad08da6f192d30fd1494b4d5fafbd480872e97e0 Mon Sep 17 00:00:00 2001 -From: Eric Prestat -Date: Sat, 15 Jan 2022 11:02:13 +0000 -Subject: [PATCH] Fix display import in .core.display - ---- - IPython/core/display.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/IPython/core/display.py b/IPython/core/display.py -index f3934c2d9d7..9db75035762 100644 ---- a/IPython/core/display.py -+++ b/IPython/core/display.py -@@ -83,7 +83,7 @@ def _display_mimetype(mimetype, objs, raw=False, metadata=None): - if raw: - # turn list of pngdata into list of { 'image/png': pngdata } - objs = [ {mimetype: obj} for obj in objs ] -- display(*objs, raw=raw, metadata=metadata, include=[mimetype]) -+ display_functions.display(*objs, raw=raw, metadata=metadata, include=[mimetype]) - - #----------------------------------------------------------------------------- - # Main functions -@@ -517,10 +517,10 @@ def _repr_html_(self): - self.html_width, self.total, self.progress) - - def display(self): -- display(self, display_id=self._display_id) -+ display_functions.display(self, display_id=self._display_id) - - def update(self): -- display(self, display_id=self._display_id, update=True) -+ display_functions.display(self, display_id=self._display_id, update=True) - - @property - def progress(self): -@@ -694,7 +694,7 @@ def _ipython_display_(self): - metadata = { - 'application/geo+json': self.metadata - } -- display(bundle, metadata=metadata, raw=True) -+ display_functions.display(bundle, metadata=metadata, raw=True) - - class Javascript(TextDisplayObject): - diff --git a/python-ipython.changes b/python-ipython.changes index 8194160..6db6cfd 100644 --- a/python-ipython.changes +++ b/python-ipython.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Sat Feb 26 21:08:02 UTC 2022 - Arun Persaud + +- specfile: + * removed patch: skip-network-test.patch (included upstream) + * removed patch: ipython-pr13371-py310-oserror.patch (included upstream) + * removed patch: ipython-pr13466-display.patch (included upstream) + * removed patch: ipython-pr13282-py310-inspect.patch (fixed upstream) + +- update to version 8.1.0: + * Misc and multiple fixes around quotation auto-closing. It is now + disabled by default. Run with + TerminalInteractiveShell.auto_match=True to re-enabled + * Require pygments>=2.4.0 :ghpull:`13459`, this was implicit in the + code, but is now explicit in setup.cfg/setup.py + * Docs improvement of core.magic_arguments examples. :ghpull:`13433` + * Multi-line edit executes too early with await. :ghpull:`13424` + * black is back as an optional dependency, and autoformatting + disabled by default until some fixes are implemented (black + improperly reformat magics). :ghpull:`13471` Additionally the + ability to use yapf as a code reformatter has been added + :ghpull:`13528` . You can use + TerminalInteractiveShell.autoformatter="black", + TerminalInteractiveShell.autoformatter="yapf" to re-enable auto + formating with black, or switch to yapf. + * Fix and issue where display was not defined. + * Auto suggestions are now configurable. Currently only + AutoSuggestFromHistory (default) and None. new provider + contribution welcomed. :ghpull:`13475` + * multiple packaging/testing improvement to simplify downstream + packaging (xfail with reasons, try to not access network...). + * Update deprecation. InteractiveShell.magic internal method has + been deprecated for many years but did not emit a warning until + now. + * internal appended_to_syspath context manager has been deprecated. + * fix an issue with symlinks in virtualenv :ghpull:`13537` + * Fix an issue with vim mode, where cursor would not be reset on + exit :ghpull:`13472` + * ipython directive now remove only known pseudo-decorators + :ghpull:`13532` + * IPython/lib/security which used to be used for jupyter notebook + has been removed. + * Fix an issue where async with would execute on new + lines. :ghpull:`13436` + ------------------------------------------------------------------- Thu Feb 3 20:32:01 UTC 2022 - Ben Greiner diff --git a/python-ipython.spec b/python-ipython.spec index d30c95d..4eec36b 100644 --- a/python-ipython.spec +++ b/python-ipython.spec @@ -16,12 +16,6 @@ # -%if 0%{?suse_version} > 1500 -%bcond_without libalternatives -%else -%bcond_with libalternatives -%endif - %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "test" %define psuffix -test @@ -30,11 +24,15 @@ %define psuffix %{nil} %bcond_with test %endif - %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif Name: python-ipython%{psuffix} -Version: 8.0.1 +Version: 8.1.0 Release: 0 Summary: Rich architecture for interactive computing with Python License: BSD-3-Clause @@ -42,20 +40,12 @@ Group: Development/Languages/Python URL: https://github.com/ipython/ipython Source: https://files.pythonhosted.org/packages/source/i/ipython/ipython-%{version}.tar.gz Source1: https://raw.githubusercontent.com/jupyter/qtconsole/4.0.0/qtconsole/resources/icon/JupyterConsole.svg -# PATCH-FIX-UPSTREAM ipython-pr13282-py310-inspect.patch -- gh#ipython/ipython#13282, gh#ipython/ipython#13412 -Patch0: ipython-pr13282-py310-inspect.patch -# PATCH-FIX-UPSTREAM ipython-pr13371-py310-oserror.patch -- gh#ipython/ipython#13371 -Patch1: ipython-pr13371-py310-oserror.patch -# PATCH-FIX-UPSTREAM ipython-pr13466-display.patch -- gh#ipython/ipython#13466 -Patch2: https://github.com/ipython/ipython/pull/13466.patch#/ipython-pr13466-display.patch -# PATCH-FIX-OPENSUSE skip-network-test.patch gh#ipython/ipython#13468 mcepl@suse.com -# skip doctests requiring network connection -Patch3: skip-network-test.patch -BuildRequires: %pythons BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module setuptools >= 18.5} +BuildRequires: %{pythons} BuildRequires: fdupes BuildRequires: python-rpm-macros >= 20210929 +Requires: (python-prompt_toolkit >= 2.0 with python-prompt_toolkit < 3.1) # requires the full stdlib including sqlite3 Requires: python >= 3.7 Requires: python-backcall @@ -69,7 +59,6 @@ Requires: python-pygments Requires: python-setuptools >= 18.5 Requires: python-stack-data Requires: python-traitlets >= 5 -Requires: (python-prompt_toolkit >= 2.0 with python-prompt_toolkit < 3.1) Recommends: jupyter Recommends: python-ipykernel Recommends: python-ipyparallel diff --git a/skip-network-test.patch b/skip-network-test.patch deleted file mode 100644 index 1653307..0000000 --- a/skip-network-test.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - IPython/core/display.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/IPython/core/display.py -+++ b/IPython/core/display.py -@@ -879,7 +879,7 @@ class Image(DisplayObject): - a URL, or a filename from which to load image data. - The result is always embedding image data for inline images. - -- >>> Image('http://www.google.fr/images/srpr/logo3w.png') -+ >>> Image('http://www.google.fr/images/srpr/logo3w.png') # doctest: +SKIP - - - >>> Image('/path/to/image.jpg')