forked from pool/python-ipython
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:
commit
9fb24d21ac
@ -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
3
ipython-8.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:42c23e90b2deaae631266885de1656a517a1673d7e1db57e8eb3a4bb6cd5ce1b
|
||||
size 5312523
|
@ -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
|
@ -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():
|
@ -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):
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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')
|
Loading…
Reference in New Issue
Block a user