Accepting request 957853 from devel:languages:python:jupyter

OBS-URL: https://build.opensuse.org/request/show/957853
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipython?expand=0&rev=28
This commit is contained in:
Dominique Leuenberger 2022-02-28 18:43:18 +00:00 committed by Git OBS Bridge
commit 9fb24d21ac
8 changed files with 56 additions and 233 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab564d4521ea8ceaac26c3a2c6e5ddbca15c8848fd5a5cc325f960da88d42974
size 5306811

3
ipython-8.1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:42c23e90b2deaae631266885de1656a517a1673d7e1db57e8eb3a4bb6cd5ce1b
size 5312523

View File

@ -1,109 +0,0 @@
From fc57ec912eec9da4c33d8db5416fdb2dada706e7 Mon Sep 17 00:00:00 2001
From: Nikita Kniazev <nok.raven@gmail.com>
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

View File

@ -1,43 +0,0 @@
From aa169302f4acbbcae616154bf54c70167dbd1fd5 Mon Sep 17 00:00:00 2001
From: Nikita Kniazev <nok.raven@gmail.com>
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():

View File

@ -1,44 +0,0 @@
From ad08da6f192d30fd1494b4d5fafbd480872e97e0 Mon Sep 17 00:00:00 2001
From: Eric Prestat <eric.prestat@gmail.com>
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):

View File

@ -1,3 +1,48 @@
-------------------------------------------------------------------
Sat Feb 26 21:08:02 UTC 2022 - Arun Persaud <arun@gmx.de>
- 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 <code@bnavigator.de>

View File

@ -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

View File

@ -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
<IPython.core.display.Image object>
>>> Image('/path/to/image.jpg')